Troubleshooting:NVP: Timed out waiting for free video buffers

From MythTV Official Wiki
Jump to: navigation, search

Error message

NVP: Timed out waiting for free video buffers

Error occurs when trying to watch live television. Error can be intermittent. Menu navigation is usually reliable. Error is usually reproduceable by trying to change channels. The error can also occur such that you are unable to play any recording or liveTV at all. In this case, you might see the first frame of the video when playing, but then it promptly freezes and needs a "killall mythfrontend" to fix.

Causes

This is likely caused by a conflict between the nvidia and glx drivers. The issue also might be having "High Precision Event Timers" enabled in your bios, as well as not enabling "acpi_use_timer_override" on nForce boards, which has been known to cause the full mythfrontend lockup issue previously stated.

This also appears to be occurring to ATI users using the "fglrx" driver, and may be related to a recent (late 2008) ATI driver upgrade.

Resolution For GLX Issue

First, to verify the issue, check your xorg.conf (/etc/X11/xorg.conf on Fedora Core). Under the modules section is glx listed? Under the video card are you using the nvidia driver?

There are two ways to resolve the problem. You can either disable glx in xorg.conf and turn off the glx effects in mythfrontend or you can use the nv driver which reportedly plays nicer with glx. My solution was to turn off glx. Follow these steps to turn off glx:

  1. Launch mythfrontend
  2. In Setup, turn off all glx and OpenGL effects
  3. Quit mythfrontend
  4. Edit xorg.conf by commenting out or removing the glx driver
  5. Restart your xserver
  6. Launch mythfrontend

Note that if you are unable to launch mythfrontend or navigate the front end menus, you can use the command line to turn off glx:

mythfrontend -O ThemePainter=qt

Resolution For High Precision Event Timers Issue

Disable the "High Precision Event Timer" (or HPET) function in your system bios. This was able to partially remedy the above full mythfrontend lockup issue on an MSI P6N SLI motherboard with a nForce 650i chipset running kernel 2.6.21. Disabling the HPET did not fix the problem entirely though; it simply went from a consistent problem to a problem that would occur only after the system had been running for an undetermined amount of time. Adding "acpi_use_timer_override" as a kernel argument in my bootloader fixed the problem for good, as well as possibly "noapic" which I had in place for another reason.

A hint for CentOS 5.3: the "acpi_use_timer_override" kernel argument does not work, but "acpi=off".

Instead of all this, it is also possible to just use OpenGL timing or usleep (by moving /dev/rtc to /dev/whatever so that myth cannot see it, though that is probably inadvisable as a permanent solution) instead of the RTC, but I wanted to fix the root problem, not just avoid it.

Resolution for ATI fglrx users

Until the fglrx driver is fixed (and assuming this is the cause), try using the "radeon" driver instead. Back up /etc/X11/xorg.conf, find "fglrx", change "fglrx" to "radeon", remove all the options (since they apply to the fglrx driver), leave BusID, and save. Then save all open files, close all running programs, and re-start the X server using the key sequence ctrl-alt-backspace. For me, this completely solved the jerky video problem.