After upgrading to app-admin/eselect-opengl-1.3.1, x11-proto/glproto-1.4.17-r1, media-libs/mesa-10.3.5-r1 and x11-base/xorg-server-1.16.2.901-r1 3D acceleration from x11-drivers/nvidia-drivers-346.22 stopped working. X server log: http://pastebin.com/CL7yaQ7s Doing 'eselect opengl set nvidia' doesn't help. Downgrading to app-admin/eselect-opengl-1.2.7, x11-proto/glproto-1.4.17, media-libs/mesa-10.3.5 and x11-base/xorg-server-1.16.2.901 fixes the problem. Reproducible: Always Portage 2.2.15 (python 2.7.9-final-0, default/linux/amd64/13.0/desktop, gcc-4.9.2, glibc-2.20-r1, 3.18.1-gentoo x86_64) ================================================================= System uname: Linux-3.18.1-gentoo-x86_64-Intel-R-_Core-TM-_i7-4790K_CPU_@_4.00GHz-with-gentoo-2.2 KiB Mem: 8169568 total, 5413156 free KiB Swap: 4095996 total, 4095996 free Timestamp of tree: Wed, 31 Dec 2014 16:00:01 +0000 sh bash 4.3_p30-r1 ld GNU ld (GNU Binutils) 2.24 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] app-shells/bash: 4.3_p30-r1 dev-java/java-config: 2.2.0 dev-lang/perl: 5.20.1-r4 dev-lang/python: 2.7.9-r1, 3.3.5-r1, 3.4.2 dev-util/cmake: 3.0.2 dev-util/pkgconfig: 0.28-r2 sys-apps/baselayout: 2.2 sys-apps/openrc: 0.13.6 sys-apps/sandbox: 2.6-r1 sys-devel/autoconf: 2.13, 2.69 sys-devel/automake: 1.4_p6-r2, 1.11.6-r1, 1.13.4, 1.14.1 sys-devel/binutils: 2.24-r3 sys-devel/gcc: 4.8.4, 4.9.2 sys-devel/gcc-config: 1.8 sys-devel/libtool: 2.4.4 sys-devel/make: 4.1-r1 sys-kernel/linux-headers: 3.18 (virtual/os-headers) sys-libs/glibc: 2.20-r1 Repositories: gentoo multimedia steam-overlay qt dupa Installed sets: @system ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O3 -march=native -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-O3 -march=native -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--keep-going --quiet-build=n --autounmask-write" FCFLAGS="-O3 -march=native -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O3 -march=native -pipe" GENTOO_MIRRORS="http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/" LANG="pl_PL.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j8" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/multimedia /usr/local/portage/layman/steam /usr/local/portage/layman/qt /usr/local/portage/moje" USE="X Xaw3d a52 aac aalib acl acpi adobe-cff alsa amd64 amr amrnb amrwb apng async audiofile automount avahi avresample bash-completion berkdb bfq bidi bineditor bluetooth bluray branding bzip2 c++0x cairo cdda cddb cdparanoia cdr chdir clang cli consolekit cracklib crypt css cuda cups curl cxx dbus dirac disk-partition divx djvu dri dts dvd dvdr ebook editor efi emboss emovix enca encode exchange exif faac faad fam fat fdk ffmpeg fftw firefox firefox3 flac fontconfig fortran fribidi g3dvl gd gdbm geoip gif glamor glitz gmedia gnuplot gphoto2 gpm gtk hddtemp iconv id3 id3tag imagemagick inotify iostats ipod jpeg kde kde4 kdehiddenvisibility kipi kompare kpathsea kqemu ladspa lame laptop lastfm latex lcms libass libcaca libnotify libsamplerate lm_sensors lto lzma lzo mad matroska midi mjpeg mmap mmx mmxext mng modules moodbar mp3 mp3tunes mp4 mpeg mplayer mtp multilib musicbrainz ncurses networkmanager nls nptl nsplugin ntfs nvidia ogg okteta openal opencl opencore-amr opengl openmp optimized-qmake opus pam pango pch pcre pdf plasma png policykit portage ppds private-headers pulseaudio qt3 qt3support qt4 qthelp raster readline realmedia roe scanner schroedinger sdl secure-delete semantic-desktop sensord session shaders slang sndfile solver soundtouch sourceview sparse spell sse sse2 sse3 sse4 sse41 sse4_1 sse4a ssl ssse3 startup-notification steamruntime suid svg swat symlink syslog tcpd theora threads tiff truetype udev udisks unicode upnp upower usb vaapi vamp vcd vdpau vorbis wifi wmf wmp wxwidgets wxwindows x264 xcb xcomposite xml xscreensaver xv xvid xvmc zeroconf zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="pl" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="x86_64 i386" QEMU_USER_TARGETS="x86_64 i386" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC, USE_PYTHON
Found the problem. With the working version there's this: [ 2899.413] (II) LoadModule: "glx" [ 2899.413] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so [ 2899.418] (II) Module glx: vendor="NVIDIA Corporation" [ 2899.418] compiled for 4.0.2, module version = 1.0.0 [ 2899.418] Module class: X.Org Server Extension [ 2899.418] (II) NVIDIA GLX Module 346.22 Tue Dec 2 10:20:26 PST 2014 With the broken one: [ 7.037] (II) LoadModule: "glx" [ 7.038] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so [ 7.109] (II) Module glx: vendor="X.Org Foundation" [ 7.109] compiled for 1.16.2.901, module version = 1.0.0 [ 7.109] ABI class: X.Org Server Extension, version 8.0
In the old version there's a symlink $ ls -l /usr/lib64/xorg/modules/extensions/libglx.so lrwxrwxrwx 1 root root 50 12-31 18:16 /usr/lib64/xorg/modules/extensions/libglx.so -> ../../../opengl/nvidia/extensions/libglx.so.346.22 After upgrade, even after using eselect to set nvidia opengl implementation, it's a regular file: $ ls -l /usr/lib64/xorg/modules/extensions/libglx.so -rwxr-xr-x 1 root root 326904 12-31 18:32 /usr/lib64/xorg/modules/extensions/libglx.so
Created attachment 392824 [details] Xorg.0.log
I had a similar issue with this exact upgrade today (as described in the first post), with only difference that I'm using fglrx and not nvidia. After re-emerging all necessary modules and rebooting, Xorg failed to start. In the log file, I saw following message: Failed to load /usr/lib32/opengl/ati/extensions/libglx.so: /usr/lib32/opengl/ati/extensions/libglx.so: wrong ELF class: ELFCLASS32 So, Xorg apparently tried to load the 32-bit library although I have a 64-bit system. (Sorry, I did not preserve the entire log, only this line when I was looking for clues on the Internet) I downgraded the packages to the same versions as in the post from PM, but unlike his situation this did not help, I still could not start Xorg. I downgraded even further to match the exact versions I had prior to upgrade and still had the issue. Investigating further I noticed the following message in the Xorg.0.log : (**) ModulePath set to "/usr/lib32/opengl/ati,/usr/lib32/xorg/modules,/usr/lib64/opengl/ati" It seemed that Xorg now started assuming an incorrect list of directories to look for modules and tries to load the 32-bit module first. I manually added the ModulePath instruction to /etc/X11/xorg.xonf with a corrected value. I did not have this section before. Section "Files" ModulePath "/usr/lib64/opengl/ati,/usr/lib32/xorg/modules,/usr/lib32/opengl/ati" EndSection After attempting to restart xorg, now libglx.so was seemingly loaded successfully, but the fglrx module failed (see attachment for the full log) : [ 328.577] (**) ModulePath set to "/usr/lib64/opengl/ati,/usr/lib32/xorg/modules,/usr/lib32/opengl/ati" ... [ 328.580] (II) Loading /usr/lib64/opengl/ati/extensions/libglx.so [ 328.581] (II) Module glx: vendor="Advanced Micro Devices, Inc." [ 328.581] compiled for 6.9.0, module version = 1.0.0 [ 328.581] Loading extension GLX [ 328.581] (II) LoadModule: "fglrx" [ 328.582] (WW) Warning, couldn't open module fglrx [ 328.582] (II) UnloadModule: "fglrx" [ 328.582] (II) Unloading fglrx [ 328.582] (EE) Failed to load module "fglrx" (module does not exist, 0) [ 328.582] (EE) No drivers available. After that, I added the location of fglrx module to ModulePath: Section "Files" ModulePath "/usr/lib64/xorg/modules,/usr/lib64/opengl/ati,/usr/lib32/xorg/modules,/usr/lib32/opengl/ati" EndSection This time Xorg started without issues
x11-base/xorg-server-1.16.2.901-r1 installs /usr/lib64/xorg/modules/extensions/libglx.so where x11-base/xorg-server-1.16.2.901 did not. It even complains during install that this file is overwritten, as it doesn't belong to an installed package.
(In reply to PM from comment #2) > In the old version there's a symlink That's exactly what the new version of eselect-opengl does differently. Are you using a display manager? Did you restart it after the eselect-opengl change?
(In reply to Kaoru Nagisa from comment #4) > I had a similar issue with this exact upgrade today (as described in the > first post), with only difference that I'm using fglrx and not nvidia. Loading /usr/lib64/opengl/ati/extensions/libglx.so <-- This has nothing to do with nvidia-drivers. Please file a separate bug report.
(In reply to PM from comment #0) > X server log: http://pastebin.com/CL7yaQ7s Please attach that file to this bug report.
Please attach (or paste in a comment) /etc/X11/xorg.conf.d/20opengl.conf. I think this file is generated wrong.
And please attach /etc/X11/xorg.conf too.
removing the old manual set ModulePath paths in xorg.conf solved the problem for me. maybe worth to mention in pkg_postinst or eselect news?
Yup, just played with the config files and solved it by completely removing xorg.conf, creating xorg.conf.d/nvidia.conf and putting there Section "Device" Identifier "nvidia" Driver "nvidia" EndSection My (non-working) xorg.conf looked like this before: http://pastebin.com/sfk28Sad.
(In reply to PM from comment #12) > Yup, just played with the config files and solved it by completely removing > xorg.conf, creating xorg.conf.d/nvidia.conf and putting there > > Section "Device" > Identifier "nvidia" > Driver "nvidia" > EndSection > > My (non-working) xorg.conf looked like this before: > http://pastebin.com/sfk28Sad. I tried to add this, after this it said "direct rendering: yes", but most my games in Steam didn't work. I downgraded to previous version of xorg-server, mesa, eselect-opengl and everything is ok now. I hope, that this issue will be fixed soon.
Did Steam give you the "OpenGL GLX context is not using direct rendering" error? I have the same problem.
(In reply to Marcel Unbehaun from comment #11) > removing the old manual set > ModulePath paths in xorg.conf > solved the problem for me. > maybe worth to mention in pkg_postinst or eselect news? + 01 Jan 2015; Michał Górny <mgorny@gentoo.org> eselect-opengl-1.3.1.ebuild: + Warn about xorg.conf containing ModulePaths, bug #534128. Now it greps xorg.conf during pkg_pretend() and warns if it sees anything suspicious.
(In reply to Michał Górny from comment #15) > + 01 Jan 2015; Michał Górny <mgorny@gentoo.org> eselect-opengl-1.3.1.ebuild: > + Warn about xorg.conf containing ModulePaths, bug #534128. > > Now it greps xorg.conf during pkg_pretend() and warns if it sees anything > suspicious. Please note that my xorg.conf did not contain ModulePaths and still caused this bug.
(In reply to PM from comment #16) > Please note that my xorg.conf did not contain ModulePaths and still caused > this bug. To be honest, I have no clue why that could be happening. If you could try experimenting a bit, I think that could be very helpful. For example, trying putting various random stuff into /etc/X11/xorg.conf and seeing what works and what breaks it. The thing is, I have some stuff in xorg.conf and it didn't cause any issues for me.
(In reply to Michał Górny from comment #15) > Now it greps xorg.conf during pkg_pretend() and warns if it sees anything > suspicious. thank you very much, Michał!
(In reply to forreg from comment #13) > I tried to add this, after this it said "direct rendering: yes", but most my > games in Steam didn't work. I downgraded to previous version of xorg-server, > mesa, eselect-opengl and everything is ok now. I hope, that this issue will > be fixed soon. I can't promise you there are no more issues now but one fix for new eselect-opengl was just committed to steam-overlay.
(In reply to Michał Górny from comment #9) > Please attach (or paste in a comment) /etc/X11/xorg.conf.d/20opengl.conf. I > think this file is generated wrong. # cat /etc/X11/xorg.conf.d/20opengl.conf Section "Files" ModulePath "/usr/lib32/opengl/ati" ModulePath "/usr/lib32/xorg/modules" ModulePath "/usr/lib64/opengl/ati" ModulePath "/usr/lib64/xorg/modules" EndSection
Created attachment 392898 [details] /etc/X11/xorg.conf After adding the Files section, with this configuration, all modules are loaded correctly
(In reply to Michał Górny from comment #19) > I can't promise you there are no more issues now but one fix for new > eselect-opengl was just committed to steam-overlay. Thanks. With games-util/steam-launcher-1.0.0.49-r2 everything works fine again.
(In reply to Michał Górny from comment #17) > (In reply to PM from comment #16) > > Please note that my xorg.conf did not contain ModulePaths and still caused > > this bug. > > To be honest, I have no clue why that could be happening. If you could try > experimenting a bit, I think that could be very helpful. For example, trying > putting various random stuff into /etc/X11/xorg.conf and seeing what works > and what breaks it. > > The thing is, I have some stuff in xorg.conf and it didn't cause any issues > for me. Based on some testing just now with a user in #gentoo, it seems like having ANY 'Section "Files"' in xorg.conf is making it ignore the Files section in 20opengl.conf. I don't have any proprietary setup here to test, but you may want to try adding this to your xorg.conf and see if you can reproduce the problem others are seeing: Section "Files" EndSection
I can confirm that simply commenting out the entire 'Files' section, per comment #23, from my xorg.conf fixed the issue for me.
(In reply to Ben Kohler from comment #23) > (In reply to Michał Górny from comment #17) > > (In reply to PM from comment #16) > > > Please note that my xorg.conf did not contain ModulePaths and still caused > > > this bug. > > > > To be honest, I have no clue why that could be happening. If you could try > > experimenting a bit, I think that could be very helpful. For example, trying > > putting various random stuff into /etc/X11/xorg.conf and seeing what works > > and what breaks it. > > > > The thing is, I have some stuff in xorg.conf and it didn't cause any issues > > for me. > > Based on some testing just now with a user in #gentoo, it seems like having > ANY 'Section "Files"' in xorg.conf is making it ignore the Files section in > 20opengl.conf. > > I don't have any proprietary setup here to test, but you may want to try > adding this to your xorg.conf and see if you can reproduce the problem > others are seeing: > > Section "Files" > EndSection I have also just ran into this issue. I do not actually have an xorg.conf. I have xorg.conf.d/* files ls xorg.conf.d/ 20-keyboard.conf 20-mice.conf 20-monitor.conf 20-nvidia.conf 20opengl.conf Until maybe a day or two ago that 20opengl.conf never existed. Wouldn't this imply it isn't as simple as one "Files" directive overriding another
Well do any of those other files in xorg.conf.d/ have a 'Section "Files"'? It doesn't have to be xorg.conf itself, it could be any config parsed before 20opengl.conf. You can also look at your /var/log/Xorg.0.log and see what it says for: (==) ModulePath set to .. If the ModulePath there does not match what's in 20opengl.conf then it would suggest it is indeed one Files directive overriding another. If that matches the ModulePath lines from 20opengl.conf then you do not have the same problem as these guys.
(In reply to Ben Kohler from comment #26) > Well do any of those other files in xorg.conf.d/ have a 'Section "Files"'? > It doesn't have to be xorg.conf itself, it could be any config parsed before > 20opengl.conf. You can also look at your /var/log/Xorg.0.log and see what it > says for: > > (==) ModulePath set to .. > > If the ModulePath there does not match what's in 20opengl.conf then it would > suggest it is indeed one Files directive overriding another. > > If that matches the ModulePath lines from 20opengl.conf then you do not have > the same problem as these guys. grep -i file * 20opengl.conf:Section "Files" only this eselect-opengl generated file has a "Files" section
Ok, so we know the following: 1. any "Files" section causes issues. I've reported that upstream [1] asking them to allow multiple "Files" sections. For the meantime, eselect-opengl is going to complain about any "Files" section. 2. I've bumped emul-linux-x86-opengl that used to install /usr/lib32/opengl. Now eselect-opengl blocks the old versions. Thanks for all the testing and help.
*** Bug 534236 has been marked as a duplicate of this bug. ***
I know this Section.*Files check is just a temporary band-aid, but in case it ends up being in place a while, it probably needs to check /etc/X11/xorg.conf and /etc/X11/xorg.conf.d/*
Only replacing the file (libglx.so) with /usr/lib64/xorg/modules/extensions/libglx.so -> /usr/lib/opengl/nvidia/extensions/libglx.so fixed the problem, no eselect, xorg-conf.d file modification, deleting (old) broken symlinks etc. helped. This thread helped: http://forums.gentoo.org/viewtopic-t-1007568-highlight-nvidia+glx.html
(In reply to László Szalma from comment #31) > Only replacing the file (libglx.so) with > > /usr/lib64/xorg/modules/extensions/libglx.so -> > /usr/lib/opengl/nvidia/extensions/libglx.so > Sorry, i was mistaken. I had a Files section in my xorg.conf seems to be unneccessary (font paths??), and this was conflicting with the /etc/X11/xorg.conf.d/20opengl.conf Files section. For the record i have to mention: i have a very old install, updating weekly, and this problem will affect other "old" users with xorg.conf files. One more thing: in the 20opengl.conf file i had a line with 32 bit directory, with some broken symlinks, they were old, I deleted them, and the 20opengl.conf file generation removed this line.
(In reply to László Szalma from comment #32) > Sorry, i was mistaken. I had a Files section in my xorg.conf seems to be > unneccessary (font paths??), and this was conflicting with the > /etc/X11/xorg.conf.d/20opengl.conf Files section. > FontPath Files options must not conflict with Modules Files option. This is my working config: xorg.conf.d> grep -i files * 10fonts.conf:Section "Files" 20opengl.conf:Section "Files" And i don't have xorg.conf file
I confirm that cp /usr/lib/opengl/nvidia/extensions/libglx.so /usr/lib64/xorg/modules/extensions/libglx.so fixed the issue for me, my config was good from the start.
(In reply to Amadeusz Sławiński from comment #34) > I confirm that > > cp /usr/lib/opengl/nvidia/extensions/libglx.so > /usr/lib64/xorg/modules/extensions/libglx.so > > fixed the issue for me, my config was good from the start. This is not the correct fix/workaround for new eselect-opengl. It's no longer handled by copying or symlinking libglx (and other libs) into place. The xorg side (like libglx.so) is handled by manipulating ModulePath in /etc/X11/xorg.conf.d/20opengl.conf Take a look at your Xorg.0.log and see what ModulePath is set. If it doesn't include nvidia paths, then you have some problem with your other xorg config(s) overriding eselect's generated config. The fix here is to get a correct ModulePath set, NOT to manually create symlinks to force it. Please stop suggesting a symlink or lib copy fix for this-- that is how old eselect-opengl (pre-1.3) worked, that is NOT how new eselect-opengl works.
*** Bug 535726 has been marked as a duplicate of this bug. ***
If it may be helpful - here is my research. The problem with correct ModulePath may occure in case the is one more "Section Files" in one's configs (say in xorg.conf which is checked by xorg-server to the last turn). This is merely a problem worth separate bug-report for xorg-server, as in case this additional Section in config exists, xorg totally "forgets" the settings of 20-opengl.conf. Moreover - this happens even if the "extra section" does not contain any ModulePath settings (mine contained FontPath settings instead). Having removed all the unnecessary "Section Files" from configs solved the problem.
> cp /usr/lib/opengl/nvidia/extensions/libglx.so /usr/lib64/xorg/modules/extensions/libglx.so > fixed the issue for me, my config was good from the start. I thik it would be better to backup it and create symlink. cd /usr/lib64/xorg/modules/extensions/ && mv libglx.so libglx.so.bak && ln -s ../../../opengl/nvidia/extensions/libglx.so Obviously it's worked too. I think somebody needs to change status of this bug.
After a research and some advices on #gentoo, I can confirm that xorg totally "forgets" the settings of 20-opengl.conf. However removing the section files "Section Files" from xorg.conf, solved it.
Do not copy or symlink here. The nvidia modules are not activated via a symlink or copy anymore, but by modifying ModulePath. This bug is about cases where ModulePath is not being properly updated.
I confirm the bug. ~AMD64 nvidia driver. Solution: edit xorg.conf Section "Files" FontPath "/usr/share/fonts/corefonts/" FontPath "/usr/share/fonts/misc/" FontPath "/usr/share/fonts/TTF/" # add this to resolve BUG with glx extensions # this config for multilib. Include 32bit libs. ModulePath "/usr/lib32/opengl/nvidia" ModulePath "/usr/lib32/xorg/modules" ModulePath "/usr/lib64/opengl/nvidia" ModulePath "/usr/lib64/xorg/modules" EndSection
(In reply to Yuriy Dmitriev from comment #41) > I confirm the bug. ~AMD64 nvidia driver. > > > Solution: > edit xorg.conf > > Section "Files" > FontPath "/usr/share/fonts/corefonts/" > FontPath "/usr/share/fonts/misc/" > FontPath "/usr/share/fonts/TTF/" > > # add this to resolve BUG with glx extensions > # this config for multilib. Include 32bit libs. > > ModulePath "/usr/lib32/opengl/nvidia" > ModulePath "/usr/lib32/xorg/modules" > ModulePath "/usr/lib64/opengl/nvidia" > ModulePath "/usr/lib64/xorg/modules" > EndSection Thus killing all the eselect-opengl functionality? And what if one needs to switch to another opengl implementation? I think it is better make the configs reading correct while Xserver starting.
(In reply to Jam from comment #42) > (In reply to Yuriy Dmitriev from comment #41) > > I confirm the bug. ~AMD64 nvidia driver. > > > > > > Solution: > > edit xorg.conf > > > > Section "Files" > > FontPath "/usr/share/fonts/corefonts/" > > FontPath "/usr/share/fonts/misc/" > > FontPath "/usr/share/fonts/TTF/" > > > > # add this to resolve BUG with glx extensions > > # this config for multilib. Include 32bit libs. > > > > ModulePath "/usr/lib32/opengl/nvidia" > > ModulePath "/usr/lib32/xorg/modules" > > ModulePath "/usr/lib64/opengl/nvidia" > > ModulePath "/usr/lib64/xorg/modules" > > EndSection > > Thus killing all the eselect-opengl functionality? And what if one needs to > switch to another opengl implementation? > I think it is better make the configs reading correct while Xserver starting. I dont know. In my system exists: ls /usr/lib64/xorg/modules/extensions/ libglx.so _MAY_BE_ eselect opengl functionality still working. I do not try.
I came across this problem too. I found that two xorg.conf.d locations exist. One is the place that eselect places the 20opengl.conf /etc/X11/xorg.conf.d/ and the other is what looks to be the xservers default layout. /usr/share/X11/xorg.conf.d/ If the /etc/X11/xorg.conf.d directory is empty or does not exist it reverts to use the /usr/share/X&&/xorg.conf.d location. If a xorg.conf exists it reads both xorg.conf.d locations and from what i can gather mixes them all together. I copied the contents of the /usr/share/X11/xorg.conf.d/ location over to the /etc/X11/xorg.conf.d which is where the 'eselect opengl set nvidia' puts the config file. I then 'mv /etc/X11/xorg.conf /etc/X11/xorg.conf.mvold' to remove the old config file from the startup process. For me(and i use nvidia drivers) it scanned all possible candidates until it found the nvidia.ko automatically. Information [ 8845.029] (II) LoadModule: "glx" Information [ 8845.029] (II) Loading /usr/lib64/opengl/nvidia/extensions/libglx.so Information [ 8845.039] (II) Module glx: vendor="NVIDIA Corporation" Information [ 8845.040] compiled for 4.0.2, module version = 1.0.0 Information [ 8845.040] Module class: X.Org Server Extension Information [ 8845.040] (II) NVIDIA GLX Module 346.22 Tue Dec 2 10:20:26 PST 2014 Information [ 8845.040] (II) Applying OutputClass "nvidia" to /dev/dri/card0 Information [ 8845.040] loading driver: nvidia Information [ 8845.040] (==) Matched nvidia as autoconfigured driver 0 Information [ 8845.040] (==) Matched nouveau as autoconfigured driver 1 Information [ 8845.040] (==) Matched nv as autoconfigured driver 2 Information [ 8845.040] (==) Matched nouveau as autoconfigured driver 3 Information [ 8845.040] (==) Matched nv as autoconfigured driver 4 Information [ 8845.040] (==) Matched modesetting as autoconfigured driver 5 Information [ 8845.040] (==) Matched fbdev as autoconfigured driver 6 Information [ 8845.040] (==) Matched vesa as autoconfigured driver 7 Information [ 8845.040] (==) Assigned the driver to the xf86ConfigLayout Information [ 8845.040] (II) LoadModule: "nvidia" Information [ 8845.040] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so Information [ 8845.040] (II) Module nvidia: vendor="NVIDIA Corporation" Information [ 8845.040] compiled for 4.0.2, module version = 1.0.0 Information [ 8845.040] Module class: X.Org Video Driver Information [ 8845.040] (II) LoadModule: "nouveau" Information [ 8845.041] (WW) Warning, couldn't open module nouveau Information [ 8845.041] (II) UnloadModule: "nouveau" Information [ 8845.041] (II) Unloading nouveau Information [ 8845.041] (EE) Failed to load module "nouveau" (module does not exist, 0) Information [ 8845.041] (II) LoadModule: "nv" Information [ 8845.041] (WW) Warning, couldn't open module nv Information [ 8845.041] (II) UnloadModule: "nv" Information [ 8845.041] (II) Unloading nv Information [ 8845.041] (EE) Failed to load module "nv" (module does not exist, 0) Information [ 8845.041] (II) LoadModule: "modesetting" Information [ 8845.041] (WW) Warning, couldn't open module modesetting Information [ 8845.041] (II) UnloadModule: "modesetting" Information [ 8845.041] (II) Unloading modesetting Information [ 8845.041] (EE) Failed to load module "modesetting" (module does not exist, 0) Information [ 8845.041] (II) LoadModule: "fbdev" Information [ 8845.042] (WW) Warning, couldn't open module fbdev Information [ 8845.042] (II) UnloadModule: "fbdev" Information [ 8845.042] (II) Unloading fbdev Information [ 8845.042] (EE) Failed to load module "fbdev" (module does not exist, 0) Information [ 8845.042] (II) LoadModule: "vesa" Information [ 8845.042] (WW) Warning, couldn't open module vesa Information [ 8845.042] (II) UnloadModule: "vesa" Information [ 8845.042] (II) Unloading vesa Information [ 8845.042] (EE) Failed to load module "vesa" (module does not exist, 0) Information [ 8845.042] (II) NVIDIA dlloader X Driver 346.22 Tue Dec 2 09:58:48 PST 2014 Information [ 8845.042] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs Information [ 8845.042] (--) using VT number 7 ### It seems that the important part in the xorg.conf.d directory is the evdev file so that it can load the correct input devices. That said the eselect opengl set nvidia does not write out to the 20opengl.conf file the full path to the extensions folder. It only outputs /usr/lib64/xorg/modules and /usr/lib64/opengl/nvidia I added the additional line of: /usr/lib64/opengl/nvidia/extensions to a 3rd ModulePath line of the 20opengl.conf. I now have the nvidia driver, GLX etc loaded and working.
(In reply to PM from comment #12) > Yup, just played with the config files and solved it by completely removing > xorg.conf, creating xorg.conf.d/nvidia.conf and putting there > > Section "Device" > Identifier "nvidia" > Driver "nvidia" > EndSection > > My (non-working) xorg.conf looked like this before: > http://pastebin.com/sfk28Sad. Worked for me!
*** Bug 536266 has been marked as a duplicate of this bug. ***
The problem that causes this bug is in /usr/share/eselect/modules/opengl.eselect (app-admin/eselect-opengl-1.3.1-r1). These lines to be exact: xorgmodpath+=( "${PREFIX#${ROOT}}/${libdir}/opengl/${gl_implem}" xorgmodpath+=( "${PREFIX#${ROOT}}/${libdir}/xorg/modules" ${libdir} causes the trouble on multilib systems. Better use lib instead of ${libdir}, because ${libdir} returns /lib32 and /lib64 while /lib is a symlink to the ${libdir} which corresponds to the architecture. Problem will be that 20opengl.conf will always be reset by `eselect opengl set`. So every time `eselect opengl set` is run this file needs to be edited manually. See also my bug report which was marked as a duplicate.
as suggested I renamed the old xorg.conf file so it is not used anymore and created this file and it worked. localhost roman # cat /etc/X11/xorg.conf.d/nvidia.conf Section "Device" Identifier "nvidia" Driver "nvidia" EndSection localhost roman # May I suggest an eselect news about this? Details can be found http://forums.gentoo.org/viewtopic-p-7681260.html#7681260
Forgot to mention, obviously besides the minimal xorg.conf.
(In reply to Heiko Baums from comment #47) > The problem that causes this bug is in > /usr/share/eselect/modules/opengl.eselect > (app-admin/eselect-opengl-1.3.1-r1). These lines to be exact: > > xorgmodpath+=( > > "${PREFIX#${ROOT}}/${libdir}/opengl/${gl_implem}" > > xorgmodpath+=( > "${PREFIX#${ROOT}}/${libdir}/xorg/modules" > > ${libdir} causes the trouble on multilib systems. > > Better use lib instead of ${libdir}, because ${libdir} returns /lib32 and > /lib64 while /lib is a symlink to the ${libdir} which corresponds to the > architecture. lib symlink is deprecated and will be removed at some point.
(In reply to Michał Górny from comment #50) > lib symlink is deprecated and will be removed at some point. Then this deprecation needs to be reverted. I don't see a reason for this deprecation anyway. How does the system distinguish between /lib64 and /lib32 on multilib systems without this symlink? That this can lead to serious problems is proven by this bug. Otherwise those two lines in opengl.eselect need to be fixed, so that only the paths to /lib64 on amd64 resp. /lib32 on x86 get into 20opengl.conf.
I've got systemd + KDE4 Desktop + Nvidia 340.65 driver (8800 GTX 768Mb GPU) with everything working... But just no GLX acceleration being loaded. The Nvidia kernel module is being loaded. Manually reloading the kernel module & restarting X produces the same issue... I've been stuck like this for what seems like 3-4 weeks now... Not sure if it's the same bug / issue as this thread but it seems pretty similar... As has been suggested I've removed my xorg.conf file... /etc/X11/xorg.conf.d/10nvidia.conf Section "Device" Identifier "nvidia" Driver "nvidia" EndSection /etc/X11/xorg.conf.d/20opengl.conf Section "Files" ModulePath "/usr/lib64/opengl/nvidia" ModulePath "/usr/lib64/opengl/nvidia/extensions" ModulePath "/usr/lib64/xorg/modules" EndSection With: [ebuild R ~] app-admin/eselect-opengl-1.3.1-r1 0 KiB [ebuild R ~] x11-base/xorg-server-1.16.3-r1:0/1.16.1 USE="glamor ipv6 minimal nptl suid systemd udev xorg xvfb -dmx -doc -kdrive (-selinux) -static-libs -tslib -unwind -wayland -xnest" 0 KiB [ebuild R ] x11-drivers/nvidia-drivers-340.65 USE="X acpi multilib tools uvm -pax_kernel" 0 KiB uname -r 3.18.1-gentoo But still no joy... [ 30.229] X.Org X Server 1.16.3 Release Date: 2014-12-20 [ 30.229] X Protocol Version 11, Revision 0 [ 30.229] Build Operating System: Linux 3.18.1-gentoo x86_64 Gentoo [ 30.229] Current Operating System: Linux robs-xeon-x5650-pc 3.18.1-gentoo #7 SMP PREEMPT Wed Jan 7 11:22:01 GMT 2015 x86_64 [ 30.229] Kernel command line: BOOT_IMAGE=/boot/kernel-genkernel-x86_64-3.18.1-gentoo root=/dev/disk/by-uuid/3afaa909-675a-4c5c-b376-c60ebdd83515 nomodeset quiet [ 30.229] Build Date: 14 January 2015 01:06:41AM [ 30.229] [ 30.229] Current version of pixman: 0.32.6 [ 30.229] Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. [ 30.229] Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. [ 30.229] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 14 23:26:55 2015 [ 30.233] (==) Using config directory: "/etc/X11/xorg.conf.d" [ 30.233] (==) Using system config directory "/usr/share/X11/xorg.conf.d" [ 30.258] (==) No Layout section. Using the first Screen section. [ 30.258] (==) No screen section available. Using defaults. [ 30.258] (**) |-->Screen "Default Screen Section" (0) [ 30.258] (**) | |-->Monitor "<default monitor>" [ 30.271] (==) No device specified for screen "Default Screen Section". Using the first device section listed. [ 30.271] (**) | |-->Device "nvidia" [ 30.271] (==) No monitor specified for screen "Default Screen Section". Using a default monitor configuration. [ 30.271] (==) Automatically adding devices [ 30.271] (==) Automatically enabling devices [ 30.271] (==) Automatically adding GPU devices [ 30.278] (WW) The directory "/usr/share/fonts/TTF/" does not exist. [ 30.278] Entry deleted from font path. [ 30.278] (WW) The directory "/usr/share/fonts/OTF/" does not exist. [ 30.278] Entry deleted from font path. [ 30.278] (WW) The directory "/usr/share/fonts/Type1/" does not exist. [ 30.278] Entry deleted from font path. [ 30.291] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/75dpi/". [ 30.291] Entry deleted from font path. [ 30.291] (Run 'mkfontdir' on "/usr/share/fonts/75dpi/"). [ 30.291] (==) FontPath set to: /usr/share/fonts/misc/, /usr/share/fonts/100dpi/ [ 30.291] (**) ModulePath set to "/usr/lib64/opengl/nvidia,/usr/lib64/opengl/nvidia/extensions,/usr/lib64/xorg/modules" [ 30.291] (II) The server relies on udev to provide the list of input devices. If no devices become available, reconfigure udev or disable AutoAddDevices. [ 30.291] (II) Loader magic: 0x80d700 [ 30.291] (II) Module ABI versions: [ 30.291] X.Org ANSI C Emulation: 0.4 [ 30.291] X.Org Video Driver: 18.0 [ 30.291] X.Org XInput driver : 21.0 [ 30.291] X.Org Server Extension : 8.0 [ 30.292] (EE) systemd-logind: failed to get session: PID 1870 does not belong to any known session [ 30.293] (--) PCI:*(0:3:0:0) 10de:0191:3842:c835 rev 162, Mem @ 0xfa000000/16777216, 0xd0000000/268435456, 0xf8000000/33554432, I/O @ 0x0000bc00/128, BIOS @ 0x????????/131072 [ 30.299] (II) LoadModule: "nvidia" [ 30.368] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so [ 30.437] (II) Module nvidia: vendor="NVIDIA Corporation" [ 30.437] compiled for 4.0.2, module version = 1.0.0 [ 30.437] Module class: X.Org Video Driver [ 30.443] (II) NVIDIA dlloader X Driver 340.65 Tue Dec 2 08:47:36 PST 2014 [ 30.443] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs [ 30.456] (++) using VT number 7 [ 30.464] (II) Loading sub module "fb" [ 30.464] (II) LoadModule: "fb" [ 30.465] (II) Loading /usr/lib64/xorg/modules/libfb.so [ 30.496] (II) Module fb: vendor="X.Org Foundation" [ 30.496] compiled for 1.16.3, module version = 1.0.0 [ 30.496] ABI class: X.Org ANSI C Emulation, version 0.4 [ 30.496] (WW) Unresolved symbol: fbGetGCPrivateKey [ 30.496] (II) Loading sub module "wfb" [ 30.496] (II) LoadModule: "wfb" [ 30.496] (II) Loading /usr/lib64/xorg/modules/libwfb.so [ 30.521] (II) Module wfb: vendor="X.Org Foundation" [ 30.521] compiled for 1.16.3, module version = 1.0.0 [ 30.521] ABI class: X.Org ANSI C Emulation, version 0.4 [ 30.521] (II) Loading sub module "ramdac" [ 30.521] (II) LoadModule: "ramdac" [ 30.521] (II) Module "ramdac" already built-in [ 30.552] (II) NVIDIA(0): Creating default Display subsection in Screen section "Default Screen Section" for depth/fbbpp 24/32 [ 30.552] (==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32 [ 30.552] (==) NVIDIA(0): RGB weight 888 [ 30.552] (==) NVIDIA(0): Default visual is TrueColor [ 30.552] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0) [ 30.558] (**) NVIDIA(0): Enabling 2D acceleration [ 30.558] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X [ 30.558] (EE) NVIDIA(0): log file that the GLX module has been loaded in your X [ 30.558] (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If [ 30.558] (EE) NVIDIA(0): you continue to encounter problems, Please try [ 30.558] (EE) NVIDIA(0): reinstalling the NVIDIA driver. [ 31.133] (II) NVIDIA(0): Display (Idek Iiyama AU5131 (DFP-0)) does not support NVIDIA [ 31.133] (II) NVIDIA(0): 3D Vision stereo. [ 31.155] (II) NVIDIA(0): Display (LG Electronics 27MB85Z (DFP-1)) does not support [ 31.155] (II) NVIDIA(0): NVIDIA 3D Vision stereo. [ 31.225] (II) NVIDIA(0): NVIDIA GPU GeForce 8800 GTX (G80) at PCI:3:0:0 (GPU-0) [ 31.225] (--) NVIDIA(0): Memory: 786432 kBytes [ 31.225] (--) NVIDIA(0): VideoBIOS: 60.80.0a.00.00 [ 31.225] (II) NVIDIA(0): Detected PCI Express Link width: 16X [ 31.241] (--) NVIDIA(0): Valid display device(s) on GeForce 8800 GTX at PCI:3:0:0 [ 31.241] (--) NVIDIA(0): CRT-0 [ 31.241] (--) NVIDIA(0): CRT-1 [ 31.241] (--) NVIDIA(0): TV-0 [ 31.241] (--) NVIDIA(0): Idek Iiyama AU5131 (DFP-0) (connected) [ 31.241] (--) NVIDIA(0): LG Electronics 27MB85Z (DFP-1) (boot, connected) [ 31.241] (--) NVIDIA(GPU-0): CRT-0: 400.0 MHz maximum pixel clock [ 31.241] (--) NVIDIA(GPU-0): CRT-1: 400.0 MHz maximum pixel clock [ 31.241] (--) NVIDIA(GPU-0): TV-0: 400.0 MHz maximum pixel clock [ 31.241] (--) NVIDIA(0): Idek Iiyama AU5131 (DFP-0): Internal TMDS [ 31.241] (--) NVIDIA(GPU-0): Idek Iiyama AU5131 (DFP-0): 330.0 MHz maximum pixel clock [ 31.241] (--) NVIDIA(0): LG Electronics 27MB85Z (DFP-1): Internal TMDS [ 31.241] (--) NVIDIA(GPU-0): LG Electronics 27MB85Z (DFP-1): 330.0 MHz maximum pixel clock [ 31.241] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display [ 31.241] (**) NVIDIA(0): device Idek Iiyama AU5131 (DFP-0) (Using EDID frequencies [ 31.241] (**) NVIDIA(0): has been enabled on all display devices.) [ 31.254] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display [ 31.254] (**) NVIDIA(0): device LG Electronics 27MB85Z (DFP-1) (Using EDID [ 31.254] (**) NVIDIA(0): frequencies has been enabled on all display devices.) [ 31.255] (==) NVIDIA(0): [ 31.255] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select" [ 31.255] (==) NVIDIA(0): will be used as the requested mode. [ 31.255] (==) NVIDIA(0): [ 31.255] (II) NVIDIA(0): Validated MetaModes: [ 31.255] (II) NVIDIA(0): "DFP-1:nvidia-auto-select,DFP-0:nvidia-auto-select" [ 31.255] (II) NVIDIA(0): Virtual screen size determined to be 4160 x 1440 [ 31.305] (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X config [ 31.305] (--) NVIDIA(0): option [ 31.305] (--) Depth 24 pixmap format is 32 bpp [ 31.305] (II) NVIDIA: Using 768.00 MB of virtual memory for indirect memory access. [ 31.340] (II) NVIDIA(0): Setting mode "DFP-1:nvidia-auto-select,DFP-0:nvidia-auto-select" [ 31.487] (==) NVIDIA(0): Disabling shared memory pixmaps [ 31.487] (==) NVIDIA(0): Backing store enabled [ 31.487] (==) NVIDIA(0): Silken mouse enabled [ 31.508] (==) NVIDIA(0): DPMS enabled [ 31.508] (II) Loading sub module "dri2" [ 31.508] (II) LoadModule: "dri2" [ 31.508] (II) Module "dri2" already built-in [ 31.508] (II) NVIDIA(0): The X server will not be able to send the VDPAU driver name to [ 31.508] (II) NVIDIA(0): libvdpau. [ 31.508] (--) RandR disabled .... [ 77.688] (II) NVIDIA(GPU-0): Display (Idek Iiyama AU5131 (DFP-0)) does not support NVIDIA [ 77.688] (II) NVIDIA(GPU-0): 3D Vision stereo. [ 77.709] (II) NVIDIA(GPU-0): Display (LG Electronics 27MB85Z (DFP-1)) does not support [ 77.709] (II) NVIDIA(GPU-0): NVIDIA 3D Vision stereo. [ 79.979] (II) NVIDIA(GPU-0): Display (Idek Iiyama AU5131 (DFP-0)) does not support NVIDIA [ 79.980] (II) NVIDIA(GPU-0): 3D Vision stereo. [ 80.001] (II) NVIDIA(GPU-0): Display (LG Electronics 27MB85Z (DFP-1)) does not support [ 80.001] (II) NVIDIA(GPU-0): NVIDIA 3D Vision stereo. [ 82.259] (II) NVIDIA(0): Setting mode "DVI-I-3: nvidia-auto-select @2560x1440 +0+0 {ViewPortIn=2560x1440, ViewPortOut=2560x1440+0+0}, DVI-I-2: nvidia-auto-select @1600x1200 +2560+120 {ViewPortIn=1600x1200, ViewPortOut=1600x1200+0+0}"
(In reply to Bob Wya from comment #52) > /etc/X11/xorg.conf.d/20opengl.conf > Section "Files" > ModulePath "/usr/lib64/opengl/nvidia" > ModulePath "/usr/lib64/opengl/nvidia/extensions" > ModulePath "/usr/lib64/xorg/modules" > EndSection Try it without this line: ModulePath "/usr/lib64/opengl/nvidia/extensions" If that doesn't help, try this, too: mv /etc/X11/xorg.conf.d/10nvidia.conf /etc/X11/xorg.conf
(In reply to Heiko Baums from comment #53) > (In reply to Bob Wya from comment #52) > > > /etc/X11/xorg.conf.d/20opengl.conf > > Section "Files" > > ModulePath "/usr/lib64/opengl/nvidia" > > ModulePath "/usr/lib64/opengl/nvidia/extensions" > > ModulePath "/usr/lib64/xorg/modules" > > EndSection > > Try it without this line: > ModulePath "/usr/lib64/opengl/nvidia/extensions" > > If that doesn't help, try this, too: > mv /etc/X11/xorg.conf.d/10nvidia.conf /etc/X11/xorg.conf Tried all this with - to no effect... Still getting no attempt to load the Nvidia libglx.so module (in my Xorg log) and failed OpenGL acceleration. My latest attempt... rm /etc/X11/xorg.conf.d/* cat /etc/X11/xorg.conf --------------------------------------------------------------------------- # nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings: version 340.65 (buildmeister@swio-display-x64-rhel04-11) Tue Dec 2 09:59:19 PST 2014 ... Section "Files" ModulePath "/usr/lib64/xorg/modules" EndSection ... Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce 8800 GTX" EndSection ... --------------------------------------------------------------------------- cd /usr/lib64/xorg/modules/extensions/ ln -snf /usr/lib/opengl/nvidia/extensions/libglx.so libglx.so ls -hl /usr/lib64/xorg/modules/extensions/ lrwxrwxrwx 1 root root 43 Jan 16 15:44 libglx.so -> /usr/lib/opengl/nvidia/extensions/libglx.so
It's probably a good idea to start moving away from nvidia-xconfig/nvidia-settings generated monolithic xorg.conf immediately. Instead use short and simple entries in /etc/X11/xorg.conf.d/, like one called nvidia.conf with only a "Device" section and only the options you absolutely need, for example: Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GT 610" Option "AddARGBGLXVisuals" "true" #Option "TripleBuffer" "true" EndSection
Thats exactly what I have: cat /etc/X11/xorg.conf.d/20-nvidia.conf Section "Device" #Option "TripleBuffer" "1" #Option "DamageEvents" "1" Option "Coolbits" "15" Option "RegistryDwords" "EnableBrightnessControl=1" Option "NoLogo" "true" #Option "RenderAccel" "True" Option "AddARGBGLXVisuals" "True" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce 9600 GT" EndSection
(In reply to PM from comment #0) > After upgrading to app-admin/eselect-opengl-1.3.1, > x11-proto/glproto-1.4.17-r1, media-libs/mesa-10.3.5-r1 and > x11-base/xorg-server-1.16.2.901-r1 3D acceleration from > x11-drivers/nvidia-drivers-346.22 stopped working. > > X server log: http://pastebin.com/CL7yaQ7s > > Doing 'eselect opengl set nvidia' doesn't help. Downgrading to > app-admin/eselect-opengl-1.2.7, x11-proto/glproto-1.4.17, > media-libs/mesa-10.3.5 and x11-base/xorg-server-1.16.2.901 fixes the problem. Thanks, I hope it will be fixed
*** Bug 538972 has been marked as a duplicate of this bug. ***
I'd appreciate if some of you could test the patch from bug #541232. It adds support for multiple "Files" sections, in multiple xorg.conf* files.
(In reply to Michał Górny from comment #59) > I'd appreciate if some of you could test the patch from bug #541232. It adds > support for multiple "Files" sections, in multiple xorg.conf* files. I think this bug contains two independent problems. One is for several Module File sections and other is path ordering in multilib version as Heiko Baums said in comment 47 (look also https://forums.gentoo.org/viewtopic-t-1007790-highlight-atidrivers.html). I only see the conversation and solution of first bug, but not the second. What about it? For me the worked solution is using the following paths in 20opengl.conf Section "Files" ModulePath "/usr/lib64/opengl/ati" ModulePath "/usr/lib64/xorg/modules" ModulePath "/usr/lib32/xorg/modules" EndSection First record must be only ati 64 libdir, not xorg64 and xorg32. In other case, the xorg was finished with error: X: symbol lookup error: /usr/lib64/xorg/modules/drivers/fglrx_drv.so: undefined symbol: GlxInitVisuals2D It requires due to initialize libglx.so before fglrx. As you said in comment 50, the symlink is deprecated. So I see only two solutions for this problem: 1. Change the library folders order in libs/multlib.bash from ES_VALID_MULTILIB_DIRS="lib lib32 lib64 libx32" to ES_VALID_MULTILIB_DIRS="lib lib64 lib32 libx32" OR 2. Determine if lib64 is presented only in eselect-opengl module. What do you think about it?
lib32 should not contain any xorg modules. I think newest versions of all drivers that installed them were fixed. If they're not, please report a bug.
(In reply to Michał Górny from comment #61) > lib32 should not contain any xorg modules. I think newest versions of all > drivers that installed them were fixed. If they're not, please report a bug. This doesn't change anything concerning the ordering issue in /etc/X11/xorg.conf.d/20opengl. If the line ModulePath "/usr/lib32/xorg/modules" stays before the line ModulePath "/usr/lib64/xorg/modules" no 3D software is working, no matter if there are xorg drivers in lib32 or not, because Xorg can't find the GLX extension.
(In reply to Heiko Baums from comment #62) > /etc/X11/xorg.conf.d/20opengl. /etc/X11/xorg.conf.d/20opengl.conf obviously.
/usr/lib32/xorg/modules must not exist. Ever. When the directory does not exist, the ModulePath won't be generated.
(In reply to Michał Górny from comment #64) > /usr/lib32/xorg/modules must not exist. Ever. When the directory does not > exist, the ModulePath won't be generated. Then at least meanwhile this might be a local issue on my computer or maybe on other computers with older installations, too. I have the file /usr/lib32/xorg/modules/extensions/libglx.so on my system. According to `equery belongs /usr/lib32/xorg/modules/extensions/libglx.so` it belongs to no package. So maybe it belonged to one of the emul-linux-x86* packages and wasn't uninstalled with the package it belonged to. I guess it can then be deleted manually.
(In reply to Heiko Baums from comment #65) > Then at least meanwhile this might be a local issue on my computer or maybe > on other computers with older installations, too. > > I have the file /usr/lib32/xorg/modules/extensions/libglx.so on my system. > According to `equery belongs /usr/lib32/xorg/modules/extensions/libglx.so` > it belongs to no package. So maybe it belonged to one of the emul-linux-x86* > packages and wasn't uninstalled with the package it belonged to. I guess it > can then be deleted manually. Sorry for the noise, but it's a very old symlink to ../../../opengl/ati/extensions/libglx.so. It's long ago that I had an ATI video card. So it belonged to an ati or radeon driver, and wasn't uninstalled correctly.
(In reply to Michał Górny from comment #64) > /usr/lib32/xorg/modules must not exist. Ever. When the directory does not > exist, the ModulePath won't be generated. Thanks to all for the explanation. This is real old symlink from October of 2014. I update the old forums threads.