Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 534128 - app-eselect/eselect-opengl-1.3.1 with x11-drivers/nvidia-drivers - Section "Files" in xorg.conf conflicts with generated xorg.conf.d/20opengl.conf, breaking glx
Summary: app-eselect/eselect-opengl-1.3.1 with x11-drivers/nvidia-drivers - Section "F...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal with 5 votes (vote)
Assignee: Michał Górny
URL:
Whiteboard:
Keywords:
: 535726 536266 538972 (view as bug list)
Depends on: 541232 728286
Blocks:
  Show dependency tree
 
Reported: 2014-12-31 17:08 UTC by PM
Modified: 2020-09-12 21:09 UTC (History)
34 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Xorg.0.log (Xorg.0.log,5.07 KB, text/plain)
2014-12-31 20:44 UTC, Kaoru Nagisa
Details
/etc/X11/xorg.conf (xorg.conf,1.00 KB, text/plain)
2015-01-01 19:53 UTC, Kaoru Nagisa
Details

Note You need to log in before you can comment on or make changes to this bug.
Description PM 2014-12-31 17:08:10 UTC
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
Comment 1 PM 2014-12-31 17:31:08 UTC
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
Comment 2 PM 2014-12-31 17:34:35 UTC
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
Comment 3 Kaoru Nagisa 2014-12-31 20:44:06 UTC
Created attachment 392824 [details]
Xorg.0.log
Comment 4 Kaoru Nagisa 2014-12-31 20:44:36 UTC
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
Comment 5 Account removed 2015-01-01 09:39:34 UTC
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.
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-01 11:51:02 UTC
(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?
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-01 11:55:41 UTC
(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.
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-01 11:56:09 UTC
(In reply to PM from comment #0)
> X server log: http://pastebin.com/CL7yaQ7s

Please attach that file to this bug report.
Comment 9 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-01 12:02:13 UTC
Please attach (or paste in a comment) /etc/X11/xorg.conf.d/20opengl.conf. I think this file is generated wrong.
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-01 12:09:40 UTC
And please attach /etc/X11/xorg.conf too.
Comment 11 Account removed 2015-01-01 13:35:24 UTC
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?
Comment 12 PM 2015-01-01 13:41:18 UTC
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.
Comment 13 Rinaldus 2015-01-01 14:57:26 UTC
(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.
Comment 14 PM 2015-01-01 14:59:58 UTC
Did Steam give you the "OpenGL GLX context is not using direct rendering" error? I have the same problem.
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-01 15:51:42 UTC
(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.
Comment 16 PM 2015-01-01 15:55:16 UTC
(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.
Comment 17 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-01 16:07:16 UTC
(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.
Comment 18 Account removed 2015-01-01 16:54:45 UTC
(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ł!
Comment 19 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-01 19:21:42 UTC
(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.
Comment 20 Kaoru Nagisa 2015-01-01 19:50:38 UTC
(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
Comment 21 Kaoru Nagisa 2015-01-01 19:53:59 UTC
Created attachment 392898 [details]
/etc/X11/xorg.conf

After adding the Files section, with this configuration, all modules are loaded correctly
Comment 22 PM 2015-01-01 20:37:01 UTC
(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.
Comment 23 Ben Kohler gentoo-dev 2015-01-02 18:49:54 UTC
(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
Comment 24 Richard Cox 2015-01-03 18:04:15 UTC
I can confirm that simply commenting out the entire 'Files' section, per comment #23, from my xorg.conf fixed the issue for me.
Comment 25 jon R-B 2015-01-03 20:34:42 UTC
(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
Comment 26 Ben Kohler gentoo-dev 2015-01-03 20:41:30 UTC
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.
Comment 27 jon R-B 2015-01-03 20:45:07 UTC
(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
Comment 28 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-03 23:55:41 UTC
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.
Comment 29 Ben Kohler gentoo-dev 2015-01-04 18:58:11 UTC
*** Bug 534236 has been marked as a duplicate of this bug. ***
Comment 30 Ben Kohler gentoo-dev 2015-01-04 19:00:34 UTC
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/*
Comment 31 László Szalma 2015-01-04 20:34:20 UTC
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
Comment 32 László Szalma 2015-01-04 20:40:27 UTC
(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.
Comment 33 nE0sIghT 2015-01-05 07:46:06 UTC
(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
Comment 34 Amadeusz Sławiński 2015-01-05 17:32:41 UTC
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.
Comment 35 Ben Kohler gentoo-dev 2015-01-05 17:37:58 UTC
(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.
Comment 36 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-05 22:18:33 UTC
*** Bug 535726 has been marked as a duplicate of this bug. ***
Comment 37 Jam 2015-01-06 17:52:42 UTC
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.
Comment 38 Alexey Skobkin 2015-01-06 19:10:22 UTC
> 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.
Comment 39 Victor Orozco 2015-01-06 19:12:02 UTC
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.
Comment 40 Ben Kohler gentoo-dev 2015-01-06 19:12:59 UTC
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.
Comment 41 Yuriy Dmitriev 2015-01-07 00:22:03 UTC
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
Comment 42 Jam 2015-01-07 08:26:17 UTC
(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.
Comment 43 Yuriy Dmitriev 2015-01-07 20:56:12 UTC
(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.
Comment 44 f1r31c3r 2015-01-09 04:38:57 UTC
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.
Comment 45 Stian 2015-01-09 21:12:43 UTC
(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!
Comment 46 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-11 11:17:52 UTC
*** Bug 536266 has been marked as a duplicate of this bug. ***
Comment 47 Heiko Baums 2015-01-11 12:38:04 UTC
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.
Comment 48 Roman Gruber 2015-01-11 12:39:56 UTC
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
Comment 49 Heiko Baums 2015-01-11 12:40:27 UTC
Forgot to mention, obviously besides the minimal xorg.conf.
Comment 50 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-11 19:56:10 UTC
(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.
Comment 51 Heiko Baums 2015-01-11 21:06:55 UTC
(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.
Comment 52 Bob Wya 2015-01-14 23:48:07 UTC
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}"
Comment 53 Heiko Baums 2015-01-15 00:11:17 UTC
(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
Comment 54 Bob Wya 2015-01-16 16:04:30 UTC
(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
Comment 55 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-21 12:11:45 UTC
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
Comment 56 jon R-B 2015-01-21 17:51:57 UTC
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
Comment 57 RedEyedMan 2015-01-21 21:46:13 UTC
(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
Comment 58 Adam Coyne 2015-02-06 23:47:43 UTC
*** Bug 538972 has been marked as a duplicate of this bug. ***
Comment 59 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-02-24 12:29:56 UTC
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.
Comment 60 Alexey Shildyakov 2015-07-08 13:45:35 UTC
(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?
Comment 61 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-07-08 17:12:59 UTC
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.
Comment 62 Heiko Baums 2015-07-08 18:38:24 UTC
(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.
Comment 63 Heiko Baums 2015-07-08 18:40:30 UTC
(In reply to Heiko Baums from comment #62)

> /etc/X11/xorg.conf.d/20opengl.

/etc/X11/xorg.conf.d/20opengl.conf obviously.
Comment 64 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-07-08 18:41:15 UTC
/usr/lib32/xorg/modules must not exist. Ever. When the directory does not exist, the ModulePath won't be generated.
Comment 65 Heiko Baums 2015-07-08 19:08:56 UTC
(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.
Comment 66 Heiko Baums 2015-07-08 19:14:39 UTC
(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.
Comment 67 Alexey Shildyakov 2015-07-08 21:51:22 UTC
(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.