The newest ebuild of nvidia-glx.1.0.8756 has a typo that causes Xorg to crash with a message like this: module version mismatch between X module and glx module This is due to a typo that creates the file: /usr/lib/xorg/modules/drivers/nvidia_drv.o The file should actually be named with a .so. Without overwriting the old nvidia driver (8178), Xorg gets confused and crashes. The problem can be easily fixed by renaming the .o file to .so. I am running Xorg 7.0 on an x86 machine. Mark Kegel
Not a typo, the use flag check is broken. Modular X has dlloader always enabled.
It would be kinda nice to *not* keep porting this bug to newer driver versions, like 1.0.8762... :/ if use dlloader || has_version x11-base/xorg-server ; then [[ -f ${drvdir}/nvidia_drv.so ]] && \ doexe ${drvdir}/nvidia_drv.so else [[ -f ${drvdir}/nvidia_drv.o ]] && \ doexe ${drvdir}/nvidia_drv.o fi
Is that a suggested fix? Is that the proper way to handle this? It hasn't been fixed yet because I wasn't sure. Thanks.
(In reply to comment #3) > Is that a suggested fix? Is that the proper way to handle this? It hasn't > been fixed yet because I wasn't sure. Thanks. Shrug... Yeah, it renders USE=dlloader kinda bogus when this ebuild is used w/ modular X. But since you can't have conditional IUSE in ebuilds, I can't see any other fix for this. (Unless you want to do the IUSE magic in some eclass; x-modular isn't a good one for this, so probably x11.eclass is the only one left. Not worth the hassle, IMO.)
Looking at other ebuilds w/ USE=dlloader, almost the same is used for synaptics and linuxwacom. x11-drivers/synaptics: if use dlloader || has_version ">=x11-base/xorg-x11-6.8.99.15" || has_version ">=x11-base/xorg-server-0.99" x11-misc/linuxwacom: if use dlloader || has_version ">=x11-base/xorg-x11-6.8.99.15" || has_version ">=x11-base/xorg-server-0.1" ; then So, probably the most complete one would be: if use dlloader || has_version ">=x11-base/xorg-x11-6.8.99.15" || has_version x11-base/xorg-server ; then [[ -f ${drvdir}/nvidia_drv.so ]] && \ doexe ${drvdir}/nvidia_drv.so ...
6.8.99.15 is bad because we have 6.9 in the tree. Also xorg-x11 doesn't need to be installed when using modular X. Please test for xorg-server instead.
(In reply to comment #6) > 6.8.99.15 is bad because we have 6.9 in the tree. Also xorg-x11 doesn't need to > be installed when using modular X. Please test for xorg-server instead. You might want to fix the other ebuilds then... :) Otherwise yeah, we can just stick to the original solution in Comment #2.
*** Bug 139110 has been marked as a duplicate of this bug. ***
Ping, this needs to be fixed.
Resolved in new ebuilds: x11-drivers/nvidia-drivers-1.0.8762 and x11-drivers/nvidia-legacy-drivers-1.0.7182 Give them a try. :-)