Mythtv crashes on displaying video with legacy nvidia drivers

Bug #201567 reported by TRiSS
4
Affects Status Importance Assigned to Milestone
Mythbuntu
Fix Released
Undecided
Unassigned
mythtv (Ubuntu)
Fix Released
Undecided
laga

Bug Description

On my mythbuntu gutsy, after upgrading with apt-get to 0.21, I receive the following error when I try to play video (livetv, dvd, ... anything) with the Internal player:
/usr/bin/mythfrontend.real: symbol lookup error: /usr/lib/libmythtv-0.21.so.0: undefined symbol: glXGetProcAddress

 This is probably due to the mythtv binary package being compiled so that it uses glXGetProcAddress instead of glXGetProcAddressARB... Normally, when compiling, the compile process should check which one your driver supports (the legacy drivers only support the ARB one, so I am told), but the mythbuntu package seems to use the glXGetProcAddress function...

I'm going to try to compile the source package to see if that fixes the problem....

Related branches

Revision history for this message
TRiSS (triss) wrote :

some info about the legacy nvidia drivers:

Package: nvidia-glx-legacy
Maintainer: Ubuntu Kernel Team <email address hidden>
Architecture: i386
Source: linux-restricted-modules-2.6.22 (2.6.22.4-14.10)
Version: 1.0.7185+2.6.22.4-14.10
Description: NVIDIA binary XFree86 4.x/X.Org 'legacy' driver
 These XFree86 4.x/X.Org binary drivers provide optimized hardware acceleration
 of OpenGL applications via a direct-rendering X Server and supports the TNT,
 TNT2, TNT Ultra, GeForce, and GeForce2 chipsets. AGP, TV-out and flat panel
 displays are also supported.
 .
 This is the 'legacy' driver for older chipsets. Unless your chipset is
 explicitly listed in the above paragraph, please use the nvidia-glx driver,
 which is much more up to date.
 .
 To enable the driver, run "sudo nvidia-glx-config enable".

Revision history for this message
Mario Limonciello (superm1) wrote :

Okay so according to http://www.nvnews.net/vbulletin/showthread.php?t=15297, it looks like legacy cards don't support GLX 1.4.
Not sure what the "proper" solution should be here then.

Revision history for this message
TRiSS (triss) wrote :

comtrying to compile the source package is no good, since it also bails out with an error because of the glXGetProcAddress function not being available.... I tried installing the nvidia-glx-legacy-dev package, hoping that would help, but no go...

I'm going to try to find a newer nvidia driver that still supports my geforce 4 mx 4000 card, and has the glXGetProcAddress.....

Maybe it's an option to make the backports upgrade to 0.21 not install if the legacy driver is installed?

Revision history for this message
Andrew Radke (andrew-radke) wrote :

I believe mythtv-frontend 0.21 should have a conflict listed with nvidia-glx-legacy since it will not work to stop more people having this problem.

If the issue with glXGetProcAddress / glXGetProcAddressARB can be resolved then the conflict can be removed.

Revision history for this message
Yani Ioannou (yani) wrote :

I've recompiled the package and manually disabled GLX 1.4 support as a temporary measure for people who are affected by this bug, just commenting out the GLX_VERSION_1_4 define:

diff -u mythtv-0.21.0/libs/libmythtv/util-opengl.cpp.old mythtv-0.21.0/libs/libmythtv/util-opengl.cpp
--- mythtv-0.21.0/libs/libmythtv/util-opengl.cpp.old 2008-03-15 09:46:54.000000000 -0400
+++ mythtv-0.21.0/libs/libmythtv/util-opengl.cpp 2008-03-15 07:28:15.000000000 -0400
@@ -306,8 +306,8 @@
 {
     __GLXextFuncPtr ret = NULL;

-#if GLX_VERSION_1_4
- X11S(ret = glXGetProcAddress((const GLubyte*)procName.latin1()));
+/*#if GLX_VERSION_1_4
+ X11S(ret = glXGetProcAddress((const GLubyte*)procName.latin1()));*/
 #if GLX_ARB_get_proc_address
     X11S(ret = glXGetProcAddressARB((const GLubyte*)procName.latin1()));
 #elif GLX_EXT_get_proc_address

laga (laga)
Changed in mythtv:
assignee: nobody → laga
status: New → In Progress
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mythtv - 0.21.0-0ubuntu3

---------------
mythtv (0.21.0-0ubuntu3) hardy; urgency=low

  [ Mario Limonciello ]
  * Add libchromexvmc1 and libchromexvmcpro1 to build depends to allow
    VIA XvMC support. (LP: #200633)
  * Build without faad runtime library loading. (LP: #202590, #201572)
  * Add 12_firewire_tester.dpatch:
    - Creates directory structure for building with firewire tester.
  * Add 13_changeset_16577.dpatch:
    - Fixes UPnP breakage on PS3.
  * debian/rules:
    - Create symlinks for firewire tester out of contrib (LP: #201876)
  * Fribidi needs version 0.19.x, but only 0.10.9 is in apt right now.
    Disable it from debian/rules until newer version available.

  [ Michael Haas ]
  * Add 07_glx-procaddressARB-configure to fix problem where glXGetProcAddress
    can't be found in some OpenGL libs. (LP: #201567)
  * debian/rules:
    - Add call to the glx-procaddressARB patch new argument.

 -- Mario Limonciello <email address hidden> Wed, 12 Mar 2008 03:37:46 -0500

Changed in mythtv:
status: In Progress → Fix Released
Thomas Mashos (tgm4883)
Changed in mythbuntu:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.