Framebuffer video stops tearing after X is loaded..
I'm writing a console based video application that uses the Linux framebuffer. Currently I am experiencing tearing issues with this program. However, the issues go away if I run Xwindows (using the nvidia driver). I can either kill X afterwords, or leave it running and the tearing issue goes away for the rest of the Linux session (until reboot).
My question is, does some vsync or buffering setting exist that the nvidia driver sets when X is loaded? I'd like to avoid having to load X beforehand in order to run my program.
If it helps, I am using the TV-out portion as the main display (VGA BIOS) on the nvidia card I am using.
I am also using double buffering from within my application, like so:
// 1.) draw stuff to backbuffer
// 2.) copy backbuffer contents to memory-mapped framebuffer device (fbd -> /dev/fb0)
memcpy(fbp, backbuffer, 640*480*4);
If you're wondering why I need the nvidia driver in the first place, it is to run CUDA applications alongside the video app I am writing.
Attached is my nvidia-bug-report.
Thanks in advance for any help.