LINUX.ORG.RU

Аппаратное ускорение убивает иксы с драйвером nvidia 96.43.23

 , , , ,


0

1

Имеется старенькая материнская плата Albatron KM18G Pro со встроенное GeForce 4 IGP на борту. Поставил туда Slackware 14.2, откатил X.Org xserver до 1.12,4 и после некоторых патчей ядра (в моём случае это версия 4.4.43) установил проприетарный драйвер 96.43.23. Система успешно загрузилась, однако при попытке вызвать что-то требующее аппаратного ускорения видео вроде Firefox'а или запустить проверку командой glxinfo | grep render иксы постоянно падают в консоль. Согласано логам вроде всё, кроме GLX модуля успешно загружается:

[    47.153] (II) Loader magic: 0x821fac0
[    47.153] (II) Module ABI versions:
[    47.153] 	X.Org ANSI C Emulation: 0.4
[    47.153] 	X.Org Video Driver: 12.1
[    47.153] 	X.Org XInput driver : 16.0
[    47.153] 	X.Org Server Extension : 6.0
[    47.154] (--) PCI:*(0:2:0:0) 10de:01f0:17f2:3401 rev 163, Mem @ 0xe0000000/16777216, 0xd8000000/67108864, 0xdc000000/524288, BIOS @ 0x????????/131072
[    47.155] (II) Open ACPI successful (/var/run/acpid.socket)
[    47.155] (II) LoadModule: "extmod"
[    47.166] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
[    47.181] (II) Module extmod: vendor="X.Org Foundation"
[    47.181] 	compiled for 1.12.4, module version = 1.0.0
[    47.181] 	Module class: X.Org Server Extension
[    47.181] 	ABI class: X.Org Server Extension, version 6.0
[    47.181] (II) Loading extension MIT-SCREEN-SAVER
[    47.181] (II) Loading extension XFree86-VidModeExtension
[    47.181] (II) Loading extension XFree86-DGA
[    47.181] (II) Loading extension DPMS
[    47.181] (II) Loading extension XVideo
[    47.181] (II) Loading extension XVideo-MotionCompensation
[    47.181] (II) Loading extension X-Resource
[    47.181] (II) LoadModule: "dbe"
[    47.182] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
[    47.187] (II) Module dbe: vendor="X.Org Foundation"
[    47.187] 	compiled for 1.12.4, module version = 1.0.0
[    47.187] 	Module class: X.Org Server Extension
[    47.187] 	ABI class: X.Org Server Extension, version 6.0
[    47.187] (II) Loading extension DOUBLE-BUFFER
[    47.187] (II) LoadModule: "glx"
[    47.187] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    47.219] (II) Module glx: vendor="X.Org Foundation"
[    47.219] 	compiled for 1.12.4, module version = 1.0.0
[    47.219] 	ABI class: X.Org Server Extension, version 6.0
[    47.219] (==) AIGLX enabled
[    47.220] (II) Loading extension GLX
[    47.220] (II) LoadModule: "record"
[    47.220] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
[    47.231] (II) Module record: vendor="X.Org Foundation"
[    47.231] 	compiled for 1.12.4, module version = 1.13.0
[    47.231] 	Module class: X.Org Server Extension
[    47.231] 	ABI class: X.Org Server Extension, version 6.0
[    47.231] (II) Loading extension RECORD
[    47.231] (II) LoadModule: "dri"
[    47.232] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
[    47.233] (II) Module dri: vendor="X.Org Foundation"
[    47.233] 	compiled for 1.12.4, module version = 1.0.0
[    47.233] 	ABI class: X.Org Server Extension, version 6.0
[    47.233] (II) Loading extension XFree86-DRI
[    47.234] (II) LoadModule: "dri2"
[    47.234] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
[    47.236] (II) Module dri2: vendor="X.Org Foundation"
[    47.236] 	compiled for 1.12.4, module version = 1.2.0
[    47.236] 	ABI class: X.Org Server Extension, version 6.0
[    47.236] (II) Loading extension DRI2
[    47.236] (II) LoadModule: "nvidia"
[    47.249] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[    47.332] (II) Module nvidia: vendor="NVIDIA Corporation"
[    47.332] 	compiled for 4.0.2, module version = 1.0.0
[    47.332] 	Module class: X.Org Video Driver
[    47.358] (II) NVIDIA dlloader X Driver  96.43.23  Fri Aug 31 14:57:26 PDT 2012
[    47.358] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    47.358] (++) using VT number 7

[    47.363] (II) Loading sub module "fb"
[    47.364] (II) LoadModule: "fb"
[    47.383] (II) Loading /usr/lib/xorg/modules/libfb.so
[    47.399] (II) Module fb: vendor="X.Org Foundation"
[    47.399] 	compiled for 1.12.4, module version = 1.0.0
[    47.399] 	ABI class: X.Org ANSI C Emulation, version 0.4
[    47.399] (II) Loading sub module "ramdac"
[    47.399] (II) LoadModule: "ramdac"
[    47.399] (II) Module "ramdac" already built-in
[    47.423] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[    47.423] (==) NVIDIA(0): RGB weight 888
[    47.423] (==) NVIDIA(0): Default visual is TrueColor
[    47.423] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    47.424] (**) NVIDIA(0): Enabling RENDER acceleration
[    47.425] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[    47.425] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[    47.425] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
[    47.425] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[    47.425] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
[    47.939] (II) NVIDIA(0): NVIDIA GPU GeForce4 MX Integrated GPU at PCI:2:0:0 (GPU-0)
[    47.939] (--) NVIDIA(0): Memory: 32768 kBytes
[    47.939] (--) NVIDIA(0): VideoBIOS: 04.1f.00.07.02
[    47.939] (II) NVIDIA(0): Detected AGP rate: 4X
[    47.939] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[    47.939] (--) NVIDIA(0): Connected display device(s) on GeForce4 MX Integrated GPU at
[    47.939] (--) NVIDIA(0):     PCI:2:0:0:
[    47.940] (--) NVIDIA(0):     LG F920P (CRT-0)
[    47.940] (--) NVIDIA(0):     NVIDIA TV Encoder (TV-0)
[    47.940] (--) NVIDIA(0): LG F920P (CRT-0): 300.0 MHz maximum pixel clock
[    47.940] (--) NVIDIA(0): NVIDIA TV Encoder (TV-0): 300.0 MHz maximum pixel clock
[    47.940] (--) NVIDIA(0): TV encoder: NVIDIA
[    47.941] (II) NVIDIA(0): Assigned Display Device: CRT-0
[    47.941] (II) NVIDIA(0): Validated modes:
[    47.941] (II) NVIDIA(0):     "1600x1200"
[    47.941] (II) NVIDIA(0):     "1280x1024"
[    47.941] (II) NVIDIA(0):     "1024x768"
[    47.941] (II) NVIDIA(0):     "800x600"
[    47.941] (II) NVIDIA(0):     "640x480"
[    47.941] (II) NVIDIA(0): Virtual screen size determined to be 1600 x 1200
[    47.945] (--) NVIDIA(0): DPI set to (112, 112); computed from "UseEdidDpi" X config
[    47.945] (--) NVIDIA(0):     option
[    47.945] (--) Depth 24 pixmap format is 32 bpp
[    47.964] (II) NVIDIA(0): Initialized GART.
[    48.243] (II) NVIDIA(0): Setting mode "1600x1200"
[    48.332] (II) Loading extension NV-GLX
[    48.346] (II) NVIDIA(0): NVIDIA 3D Acceleration Architecture Initialized
[    48.372] (II) NVIDIA(0): Using the NVIDIA 2D acceleration architecture
[    48.372] (==) NVIDIA(0): Backing store disabled
[    48.372] (==) NVIDIA(0): Silken mouse enabled
[    48.372] (**) NVIDIA(0): DPMS enabled
[    48.373] (II) Loading extension NV-CONTROL
[    48.373] (==) RandR enabled
[    48.373] (II) Initializing built-in extension Generic Event Extension
[    48.373] (II) Initializing built-in extension SHAPE
[    48.373] (II) Initializing built-in extension MIT-SHM
[    48.373] (II) Initializing built-in extension XInputExtension
[    48.373] (II) Initializing built-in extension XTEST
[    48.373] (II) Initializing built-in extension BIG-REQUESTS
[    48.373] (II) Initializing built-in extension SYNC
[    48.373] (II) Initializing built-in extension XKEYBOARD
[    48.373] (II) Initializing built-in extension XC-MISC
[    48.373] (II) Initializing built-in extension XINERAMA
[    48.373] (II) Initializing built-in extension XFIXES
[    48.373] (II) Initializing built-in extension RENDER
[    48.373] (II) Initializing built-in extension RANDR
[    48.373] (II) Initializing built-in extension COMPOSITE
[    48.373] (II) Initializing built-in extension DAMAGE
[    48.393] (II) AIGLX: Screen 0 is not DRI2 capable
[    48.393] (II) AIGLX: Screen 0 is not DRI capable
[    49.624] (II) AIGLX: Loaded and initialized swrast
[    49.624] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    50.375] (II) config/udev: Adding input device Power Button (/dev/input/event3)
[    50.376] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[    50.376] (**) Power Button: Applying InputClass "keyboard-all"
[    50.376] (**) Power Button: Applying InputClass "Keyboard settings"
[    50.376] (II) LoadModule: "evdev"
[    50.376] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    50.421] (II) Module evdev: vendor="X.Org Foundation"
[    50.421] 	compiled for 1.12.1, module version = 2.7.0
[    50.421] 	Module class: X.Org XInput Driver
[    50.421] 	ABI class: X.Org XInput driver, version 16.0

Вариант вроде использования свободного драйвера nouveau в данном случае не рассматривает т.к именно на этом чипсете наблюдается странный баг с мерцанием экрана из-за чего работать на компьютере совершенно невозможно и который несмотря на багрепорт до сих пор там так и не исправлен. Вариантов, кроме использования драйвера от Nvidia, нет.

Вопрос: что тут можно сделать и как исправить мою проблему?


Вообще в фурифоксе такое должно быть внесенно в черный список на использование аппаратного ускорения. Ты наверно сам что-то нахакал на включение. Разбираться и чинить это естественно ник кто не будет.

fornlr ★★★★★ ()

Простой прямой вопрос — поставленная рядом 14.0 (от которой взяты X-ы) этой проблемой страдает ли:
1) со стоковым ядром?
2) с патченым 4.4.43?

Но да, стоковая лиса под нее довольно стара:
mozilla-firefox-17.0.11esr

ldd /usr/lib/xorg/modules/extensions/libglx.so

что говорит? Не нужно ли что-то из тамошних библиотек сдаунгрейдить?

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 2)

Было нечто подобное когда дополнительное питание к плате не подключил.

splinter ★★★★★ ()
Ответ на: комментарий от bormant

С 14.0 я не пробовал, лично для себя не вижу особого смысла использовать старые системы.

По библиотекам, вот что оно показывает:

slackware ~ # ldd /usr/lib/xorg/modules/extensions/libglx.so
	linux-gate.so.1 (0xb779a000)
	libdl.so.2 => /lib/libdl.so.2 (0xb76ee000)
	libm.so.6 => /lib/libm.so.6 (0xb769a000)
	librt.so.1 => /lib/librt.so.1 (0xb7691000)
	libc.so.6 => /lib/libc.so.6 (0xb74f9000)
	/lib/ld-linux.so.2 (0x8005b000)
	libpthread.so.0 => /lib/libpthread.so.0 (0xb74dc000)
slackware ~ # ldd /usr/lib/xorg/modules/extensions/libglx.so.96.43.23-nvidia 
	linux-gate.so.1 (0xb779f000)
	libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0xb6c13000)
	libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0xb6c11000)
	libc.so.6 => /lib/libc.so.6 (0xb6a79000)
	/lib/ld-linux.so.2 (0x800d6000)
Algierd ()
Ответ на: комментарий от Algierd

/usr/lib/xorg/modules/extensions/libglx.so
/usr/lib/xorg/modules/extensions/libglx.so.96.43.23-nvidia

Первое — это должен быть симлинк на второе, или, по крайней мере на
/usr/lib/xorg/modules/extensions/libglx.so.96.43.23
Но у вас это не так. Покопайте в первую очередь в эту сторону. Может быть именно в этом причина


[    47.425] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[    47.425] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[    47.425] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
[    47.425] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[    47.425] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.

bormant ★★★★★ ()
Ответ на: комментарий от Algierd

Файлы *-nvidia, если правильно путаю, делает nvidia-switch для бэкапа/восстановления стоковых/nVidia-вских библиотек.

bormant ★★★★★ ()
Ответ на: комментарий от Algierd

на самом деле на
/usr/lib/xorg/modules/extensions/libglx.so.96.43.23

Но давайте сперва глянем на

$ tar tf /tmp/nvidia-legacy96-driver-96.43.23-*t?z
# nvidia-switch --check-nvidia
# ( cd /var/log ; grep usr/lib/xorg/modules/extensions/libglx.so packages scripts )

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 3)
Ответ на: комментарий от bormant

Вывод:

slackware ~ # tar ft /tmp/nvidia-legacy96-driver-96.43.23-x86-1_SBo.tgz 
./
install/
install/slack-desc
install/doinst.sh
usr/
usr/man/
usr/man/man1/
usr/man/man1/nvidia-installer.1.gz
usr/man/man1/nvidia-xconfig.1.gz
usr/man/man1/nvidia-settings.1.gz
usr/share/
usr/share/pixmaps/
usr/share/pixmaps/nvidia-settings.png
usr/share/applications/
usr/share/applications/nvidia-settings.desktop
usr/sbin/
usr/sbin/nvidia-switch
usr/doc/
usr/doc/nvidia-legacy96-driver-96.43.23/
usr/doc/nvidia-legacy96-driver-96.43.23/LICENSE
usr/doc/nvidia-legacy96-driver-96.43.23/doc/
usr/doc/nvidia-legacy96-driver-96.43.23/doc/XF86Config.sample
usr/doc/nvidia-legacy96-driver-96.43.23/doc/README.txt
usr/doc/nvidia-legacy96-driver-96.43.23/doc/NVIDIA_Changelog
usr/doc/nvidia-legacy96-driver-96.43.23/doc/Copyrights
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-09.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-06.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-07.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-g.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-02-section-04.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-m.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-e.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/part-02.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-03-section-02.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/preface-01.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-b.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-i.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/part-03.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-c.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/part-01.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-j.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-z.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-l.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-08.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-u.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-03.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-a.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-q.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-aa.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/index.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-f.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-p.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-k.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-05.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-d.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/preface-02.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-t.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-01.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-02.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-v.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-x.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-n.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-h.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-02-section-02.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-04.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-y.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-s.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-w.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/chapter-02-section-03.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-r.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/html/appendix-o.html
usr/doc/nvidia-legacy96-driver-96.43.23/doc/nvidia-settings-user-guide.txt
usr/doc/nvidia-legacy96-driver-96.43.23/README.Slackware
usr/doc/nvidia-legacy96-driver-96.43.23/pkg-history.txt
usr/doc/nvidia-legacy96-driver-96.43.23/nvidia-legacy96-driver.SlackBuild
usr/bin/
usr/bin/nvidia-xconfig
usr/bin/nvidia-settings
usr/bin/nvidia-installer
usr/bin/nvidia-bug-report.sh
usr/lib/
usr/lib/tls/
usr/lib/tls/libnvidia-tls.so.96.43.23
usr/lib/libXvMCNVIDIA.a
usr/lib/libGL.la
usr/lib/libXvMCNVIDIA.so.96.43.23
usr/lib/xorg/
usr/lib/xorg/modules/
usr/lib/xorg/modules/extensions/
usr/lib/xorg/modules/extensions/libglx.so.96.43.23-nvidia
usr/lib/xorg/modules/drivers/
usr/lib/xorg/modules/drivers/nvidia_drv.so
usr/lib/libnvidia-cfg.so.96.43.23
usr/lib/libGL.so.96.43.23-nvidia
usr/lib/libGLcore.so.96.43.23-nvidia
usr/include/
usr/include/GL/
usr/include/GL/glxext.h-nvidia
usr/include/GL/gl.h-nvidia
usr/include/GL/glx.h-nvidia
usr/include/GL/glext.h-nvidia
slackware ~ # nvidia-switch --check-nvidia
checking glext.h....exists(link)
 points to: glext.h-nvidia
checking glext.h-nvidia....exists
checking glext.h-xorg....exists

checking glxext.h....exists(link)
 points to: glxext.h-nvidia
checking glxext.h-nvidia....exists
checking glxext.h-xorg....exists

checking gl.h....exists(link)
 points to: gl.h-nvidia
checking gl.h-nvidia....exists
checking gl.h-xorg....exists

checking glx.h....exists(link)
 points to: glx.h-nvidia
checking glx.h-nvidia....exists
checking glx.h-xorg....exists

checking libGL.la....exists
checking libGL.so....exists(link)
 points to: libGL.so.1.2.0
checking libGL.so.1....exists(link)
 points to: libGL.so.96.43.23-nvidia
checking libGL.so.96.43.23....ERROR: /usr/lib/libGL.so.96.43.23 does not exist!!!!!
checking libGL.so.96.43.23-nvidia....exists
checking libGL.so.1.2.0....ERROR: /usr/lib/libGL.so.1.2.0 does exist!!!!!
checking libGL.so.1.2.0-xorg....ERROR: /usr/lib/libGL.so.1.2.0-xorg does not exist!!!!!

checking libGLcore.so.1....exists(link)
 points to: libGLcore.so.96.43.23-nvidia
checking libGLcore.so.96.43.23....ERROR: /usr/lib/libGLcore.so.96.43.23 does not exist!!!!!
checking libGLcore.so.96.43.23-nvidia....exists

checking libglx.la....ERROR: /usr/lib/xorg/modules/extensions/libglx.la does exist!!!!!
checking libglx.so....exists (!)
checking libglx.so.96.43.23....ERROR: /usr/lib/xorg/modules/extensions/libglx.so.96.43.23 does not exist!!!!!
checking libglx.so.96.43.23-nvidia....exists
checking libglx.so-xorg....ERROR: /usr/lib/xorg/modules/extensions/libglx.so-xorg does not exist!!!!!
checking libglx.la-xorg....ERROR: /usr/lib/xorg/modules/extensions/libglx.la-xorg does not exist!!!!!

checking libnvidia-wfb.so.1....ERROR: /usr/lib/xorg/modules/libnvidia-wfb.so.1 does not exist!!!!!
checking libnvidia-wfb.so.96.43.23....ERROR: /usr/lib/xorg/modules/libnvidia-wfb.so.96.43.23 does not exist!!!!!
Algierd ()
Ответ на: комментарий от bormant
grep usr/lib/xorg/modules/extensions/libglx.so packages scripts

последняя команда не сработала.

Algierd ()
Ответ на: комментарий от bormant

Выполнил. Стало так:

slackware ~ # nvidia-switch --check-nvidia
checking glext.h....exists(link)
 points to: glext.h-nvidia
checking glext.h-nvidia....exists
checking glext.h-xorg....exists

checking glxext.h....exists(link)
 points to: glxext.h-nvidia
checking glxext.h-nvidia....exists
checking glxext.h-xorg....exists

checking gl.h....exists(link)
 points to: gl.h-nvidia
checking gl.h-nvidia....exists
checking gl.h-xorg....exists

checking glx.h....exists(link)
 points to: glx.h-nvidia
checking glx.h-nvidia....exists
checking glx.h-xorg....exists

checking libGL.la....exists
checking libGL.so....exists(link)
 points to: libGL.so.1.2.0
checking libGL.so.1....exists(link)
 points to: libGL.so.96.43.23-nvidia
checking libGL.so.96.43.23....exists(link)
 points to: libGL.so.96.43.23-nvidia
checking libGL.so.96.43.23-nvidia....exists
checking libGL.so.1.2.0....ERROR: /usr/lib/libGL.so.1.2.0 does exist!!!!!
checking libGL.so.1.2.0-xorg....exists

checking libGLcore.so.1....exists(link)
 points to: libGLcore.so.96.43.23
checking libGLcore.so.96.43.23....exists(link)
 points to: libGLcore.so.96.43.23-nvidia
checking libGLcore.so.96.43.23-nvidia....exists

checking libglx.la....does not exist
checking libglx.so....exists(link)
 points to: libglx.so.96.43.23
checking libglx.so.96.43.23....exists(link)
 points to: libglx.so.96.43.23-nvidia
checking libglx.so.96.43.23-nvidia....exists
checking libglx.so-xorg....exists
checking libglx.la-xorg....exists

checking libnvidia-wfb.so.1....ERROR: /usr/lib/xorg/modules/libnvidia-wfb.so.1 does not exist!!!!!
checking libnvidia-wfb.so.96.43.23....ERROR: /usr/lib/xorg/modules/libnvidia-wfb.so.96.43.23 does not exist!!!!!
Algierd ()
Ответ на: комментарий от bormant

Сравните версии внутри nvidia-switch и в пакетах X-ов.
В 14.0 и 14.1 сценарии отличаются, вероятно, нужно использовать nvidia-switch из
https://slackbuilds.org/repository/14.0/system/nvidia-legacy96-driver/
поскольку в 14.1 поменялись имена X-овых библиотек в части версий...

Проверьте внимательно это предположение...

--- a/nvidia-switch.txt	Wed Jan 18 17:38:23 2017
+++ b/nvidia-switch.txt	Wed Jan 18 17:37:57 2017
@@ -20,7 +20,7 @@
 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-# nvidia-switch utility 0.8.2
+# nvidia-switch utility 0.8.3
 #
 # A tool to switch between nvidia-binary-driver and stock xorg-driver
 # if both are installed in parallel.
@@ -35,7 +35,7 @@
 XMOD="${LIB}/xorg/modules"
 XLIB="$XMOD/extensions"
 NV_VERSION='PKGVERSION' # This will be replaced in the build script
-GL_VERSION="1.2"
+GL_VERSION="1.2.0"
 
 remove_link(){
 if [ -L "$1" ]; then
@@ -61,7 +61,7 @@
   else
     rm -f $2
   fi
-  ln -s "$3" "$2"
+  ln -sf "$3" "$2"
 }
 
 # Move and rename files in /usr/include
@@ -87,7 +87,7 @@
       rm -f "$i-$1"
     else
       mv "$i" "$i-$1"
-      ln -s "$i-$THREE" "$i"
+      ln -sf "$i-$THREE" "$i"
     fi
   else
     $CMD "$i-$THREE" "$i"
@@ -131,7 +131,7 @@
 if [ -e "$LIB/libGL.so.$GL_VERSION" ]; then
   cd "$LIB"
   mv libGL.so.$GL_VERSION libGL.so.$GL_VERSION-xorg
-  setup_link "" "libGL.so.1" "libGL.so.$NV_VERSION"
+  setup_link "" "libGL.so.$GL_VERSION" "libGL.so.$NV_VERSION"
   cd "$CWD"
 fi
 }
@@ -145,7 +145,7 @@
   if [ -e "$LIB/libGL.so.$GL_VERSION-xorg" ]; then
     cd "$LIB"
     mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
-    ln -s libGL.so.$GL_VERSION libGL.so.1
+    ln -sf libGL.so.$GL_VERSION libGL.so.1
     cd "$CWD"
   fi
 fi
@@ -157,8 +157,8 @@
 if [ -e "$LIB/libGLcore.so.$NV_VERSION-nvidia" ]; then
   cd "$LIB"
   rm -f libGLcore.so.$NV_VERSION libGLcore.so.1
-  ln -s libGLcore.so.$NV_VERSION-nvidia libGLcore.so.$NV_VERSION
-  ln -s libGLcore.so.$NV_VERSION libGLcore.so.1
+  ln -sf libGLcore.so.$NV_VERSION-nvidia libGLcore.so.$NV_VERSION
+  ln -sf libGLcore.so.$NV_VERSION libGLcore.so.1
   cd "$CWD"
 fi
 }
@@ -184,7 +184,7 @@
     rm -f $i
   fi
 done
-ln -s libglx.so.$NV_VERSION libglx.so
+ln -sf libglx.so.$NV_VERSION libglx.so
 }
 
 libglx_nvidia(){
@@ -462,7 +462,7 @@
      libglx_xorg "xorg"
    fi
 
-   LD_NVIDIA="${LIB}/libGL.so.1.2"
+   LD_NVIDIA="${LIB}/libGL.so.$GL_VERSION"
    nvidia_ldconfig $LD_NVIDIA "xorg"
 }
 

bormant ★★★★★ ()
Ответ на: комментарий от Algierd

Но еще лучше — откорректировать версию LibGL.so внутри nvidia-switch.

Слакбилд от 14.1 выгоднее, он при установке не перекрывает стоковых библиотек (nVidia-вские ставятся сразу как *-nvidia). Они одинаковы, кроме способа исправления прав на файлы распакованного архива.

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 2)
Ответ на: комментарий от bormant

Ребутнулся. Рендеринг заработал, Фокс больше не падает. Единственное, что немного смущает это:

checking libGL.so.1.2.0....ERROR: /usr/lib/libGL.so.1.2.0 does exist!!!!!
checking libnvidia-wfb.so.1....ERROR: /usr/lib/xorg/modules/libnvidia-wfb.so.1 does not exist!!!!!
checking libnvidia-wfb.so.96.43.23....ERROR: /usr/lib/xorg/modules/libnvidia-wfb.so.96.43.23 does not exist!!!!!

сильно ли это плохо или можно забить?

Algierd ()
Ответ на: комментарий от Algierd

Последние 2 строки — забить однозначно, если не верите, см. доку от nVidia, что в /usr/doc/nvidia-legacy96-driver-96.43.23/.

Про первую строку — смотрим внимательно на версию LibGL.so в дистрибутиве:

grep -R usr/lib/LibGL.so /var/log/packages/
и чутка правим /usr/sbin/nvidia-switch, чтоб соответствовало.

bormant ★★★★★ ()
Ответ на: комментарий от bormant

Что-то не получается...

points to: libGL.so.96.43.23-nvidia
checking libGL.so.96.43.23-nvidia....exists
checking libGL.so.1.2.0....ERROR: /usr/lib/libGL.so.1.2.0 does exist!!!!!
Algierd ()
Ответ на: комментарий от Algierd

От же ж. Он же ругается наоборот на то, что файл существует, а не на то, что его нет. Убрать, да и дело с концом (бэкап системного рядом лежит, soname с версией (*.so.1) на нвидевскую библиотеку показывает):

# rm usr/lib/libGL.so.1.2.0

bormant ★★★★★ ()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от bormant

Тут чёрт ногу сломит с этими симлинками:) Выпили тот, появилось такое:

checking libGL.la....exists
checking libGL.so....ERROR: /usr/lib/libGL.so does not exist!!!!!

его туда же?

Algierd ()
Ответ на: комментарий от Algierd
checking libGL.la....exists
checking libGL.so....ERROR: /usr/lib/libGL.so does not exist!!!!!
checking libGL.so.1....exists(link)
 points to: libGL.so.96.43.23-nvidia
checking libGL.so.96.43.23....exists(link)
 points to: libGL.so.96.43.23-nvidia
checking libGL.so.96.43.23-nvidia....exists
checking libGL.so.1.2.0....does not exist
checking libGL.so.1.2.0-xorg....exists
Algierd ()
Ответ на: комментарий от bormant

Уф, вроде разгреблись! Спасибо за помощь!

Остался только:

checking libGL.so.1.2.0....does not exist

правда без вопросительного знака.

Algierd ()
Ответ на: комментарий от Algierd

checking libGL.so.1.2.0....does not exist

Так и должно быть. Мы ж его сами выше удалили. Это библиотека от mesa и не должна подхватываться (про Optimus речи нет).

bormant ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.