[РЕШЕНО] NVIDIA-блоб. Поломал GLX, скорее всего при обновлении

При обновлении nvidia дров поломалось GLX. Заметил только сегодня, уже несколько обнов после этого прилетало.
glxgears матюгается на GLX, так же как и dosbox.
Переустанавливал mesa, nvidia, nvidia-libgl, nvidia-settings, nvidia-utils, libglvnd и libglade. Переустановка не помогла.
модули nvidia грузятся, в /var/log/Xorg.0.log ошибок нет. КДЕ грузятся, но без эффектов. GL-скринсейвер тоже не стартует.

[[email protected] ~]$ pacman -Ss nvidia | grep установлен
extra/libvdpau 1.1.1-2 [установлен]
extra/nvidia 361.28-1 [установлен]
extra/nvidia-libgl 361.28-4 [установлен]
extra/nvidia-settings 361.28-1 [установлен]
extra/nvidia-utils 361.28-4 [установлен]
multilib/lib32-libvdpau 1.1.1-2 [установлен]
multilib/lib32-nvidia-libgl 361.28-3 [установлен]
multilib/lib32-nvidia-utils 361.28-3 [установлен]
[[email protected] ~]$ пдчпуфкы
bash: пдчпуфкы: команда не найдена
[[email protected] ~]$ glxgears
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  24
  Current serial number in output stream:  25
[[email protected] ~]$  pacman -Q | grep -i -e libgl -e nvidia -e nouveau
lib32-libglvnd 0.0.0.20160210-2
lib32-nvidia-libgl 361.28-3
lib32-nvidia-utils 361.28-3
libglade 2.6.4-5
libglvnd 0.0.0.20160210-2
nvidia 361.28-1
nvidia-libgl 361.28-4
nvidia-settings 361.28-1
nvidia-utils 361.28-4
[[email protected] ~]$

УМВР
У меня вообще ничего openGL`евского не пашет:
[[email protected] ~]$ glxinfo
name of display: :0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  45
  Current serial number in output stream:  46
[[email protected] ~]$ 

Хм. Кажись выхожу на тропу решения проблемы:

[[email protected] faust]# pacman -Qo libGL.so.1
ошибка: не удалось найти 'libGL.so.1' в PATH: Нет такого файла или каталога
[[email protected] faust]# whereis libGL.so.1
libGL.so: /usr/lib/libGL.so.1 /usr/lib/libGL.so
[[email protected] faust]#
drfaust
Кажись выхожу на тропу решения проблемы
Было уже - клац
Читал. Он заметил проблему при обновлении, а я видать то ли --force грубанул, то ли ещё... Переустановка пакетов мне не помогла - в первом посте писал.
Пока решил очень и очень "костыльно":
посмотрел куда ссылается libGL.so.1 и увидел libGL.so.340.58. Есессно не понял прикола. Просмотрел либы от последней нвидии 361.28 и нашёл совпадающую по таблице экспорта: libGLX_nvidia.so.361.28. Отредактировал симлинк libGL.so.1 на енту либу и всё заработало...
Привожу текущий список либ:
[[email protected] ~]$ ls -l /usr/lib/libGL*
lrwxrwxrwx 1 root root      22 фев 11 15:48 /usr/lib/libGLdispatch.so -> libGLdispatch.so.0.0.0
lrwxrwxrwx 1 root root      22 фев 11 15:48 /usr/lib/libGLdispatch.so.0 -> libGLdispatch.so.0.0.0
-rwxr-xr-x 1 root root  743784 фев 11 15:48 /usr/lib/libGLdispatch.so.0.0.0
lrwxrwxrwx 1 root root      24 фев 11 16:43 /usr/lib/libGLESv1_CM_nvidia.so -> libGLESv1_CM_nvidia.so.1
lrwxrwxrwx 1 root root      29 фев 11 16:43 /usr/lib/libGLESv1_CM_nvidia.so.1 -> libGLESv1_CM_nvidia.so.361.28
-rwxr-xr-x 1 root root   51216 фев 11 16:43 /usr/lib/libGLESv1_CM_nvidia.so.361.28
lrwxrwxrwx 1 root root      17 фев 11 16:44 /usr/lib/libGLESv1_CM.so -> libGLESv1_CM.so.1
lrwxrwxrwx 1 root root      22 фев 13 22:57 /usr/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.340.58
-rwxr-xr-x 1 root root   48024 ноя  8  2014 /usr/lib/libGLESv1_CM.so.340.58
lrwxrwxrwx 1 root root      21 фев 11 16:43 /usr/lib/libGLESv2_nvidia.so -> libGLESv2_nvidia.so.2
lrwxrwxrwx 1 root root      26 фев 11 16:43 /usr/lib/libGLESv2_nvidia.so.2 -> libGLESv2_nvidia.so.361.28
-rwxr-xr-x 1 root root   75536 фев 11 16:43 /usr/lib/libGLESv2_nvidia.so.361.28
lrwxrwxrwx 1 root root      14 фев 11 16:44 /usr/lib/libGLESv2.so -> libGLESv2.so.2
lrwxrwxrwx 1 root root      19 фев 13 22:57 /usr/lib/libGLESv2.so.2 -> libGLESv2.so.340.58
-rwxr-xr-x 1 root root   62160 ноя  8  2014 /usr/lib/libGLESv2.so.340.58
lrwxrwxrwx 1 root root      19 сен 28 23:47 /usr/lib/libGLEWmx.so -> libGLEWmx.so.1.13.0
lrwxrwxrwx 1 root root      19 сен 28 23:47 /usr/lib/libGLEWmx.so.1.13 -> libGLEWmx.so.1.13.0
-rw-r--r-- 1 root root  448616 сен 28 23:47 /usr/lib/libGLEWmx.so.1.13.0
lrwxrwxrwx 1 root root      17 сен 28 23:47 /usr/lib/libGLEW.so -> libGLEW.so.1.13.0
lrwxrwxrwx 1 root root      17 сен 28 23:47 /usr/lib/libGLEW.so.1.13 -> libGLEW.so.1.13.0
-rw-r--r-- 1 root root  513712 сен 28 23:47 /usr/lib/libGLEW.so.1.13.0
-rw-r--r-- 1 root root     654 ноя  8  2014 /usr/lib/libGL.la
lrwxrwxrwx 1 root root      10 фев 11 16:44 /usr/lib/libGL.so -> libGL.so.1
lrwxrwxrwx 1 root root      25 фев 13 23:10 /usr/lib/libGL.so.1 -> /usr/lib/libGLX_nvidia.so
lrwxrwxrwx 1 root root      15 фев 13 22:57 /usr/lib/libGL.so.1_old -> libGL.so.340.58
-rwxr-xr-x 1 root root 1267768 ноя  8  2014 /usr/lib/libGL.so.340.58
lrwxrwxrwx 1 root root      15 дек  6 08:05 /usr/lib/libGLU.so -> libGLU.so.1.3.1
lrwxrwxrwx 1 root root      15 дек  6 08:05 /usr/lib/libGLU.so.1 -> libGLU.so.1.3.1
-rwxr-xr-x 1 root root  522952 дек  6 08:05 /usr/lib/libGLU.so.1.3.1
lrwxrwxrwx 1 root root      23 фев 11 16:43 /usr/lib/libGLX_indirect.so.0 -> libGLX_nvidia.so.361.28
lrwxrwxrwx 1 root root      18 фев 11 16:43 /usr/lib/libGLX_nvidia.so -> libGLX_nvidia.so.0
lrwxrwxrwx 1 root root      23 фев 11 16:43 /usr/lib/libGLX_nvidia.so.0 -> libGLX_nvidia.so.361.28
-rwxr-xr-x 1 root root 1259048 фев 11 16:43 /usr/lib/libGLX_nvidia.so.361.28
lrwxrwxrwx 1 root root      15 фев 11 15:48 /usr/lib/libGLX.so -> libGLX.so.0.0.0
lrwxrwxrwx 1 root root      15 фев 11 15:48 /usr/lib/libGLX.so.0 -> libGLX.so.0.0.0
-rwxr-xr-x 1 root root   73000 фев 11 15:48 /usr/lib/libGLX.so.0.0.0

Прогнал UnigineValley. Пашет. Даже заметил прирост "попугаев" на +3% (цена погрешности, но всё же)
Вот чёрт. Снова прилетели обновы:
:: Retrieving packages ...

ca-certificates-mozilla-3.22-1-x86_64
curl-7.47.1-1-x86_64
nss-3.22-1-x86_64
nvidia-libgl-361.28-5-x86_64
nvidia-utils-361.28-5-x86_64
libqmi-1.12.8-1-x86_64
lib32-nvidia-utils-361.28-4-x86_64
lib32-nvidia-libgl-361.28-4-x86_64 
И без всякого шума вернули симлинк на родину... Снова та же проблема....
Мусор от старого пакета 340.58 удалите
посмотрите может что установлено версии 340
rm /usr/lib/libGL.so.1_old  /usr/lib/libGLESv1_CM.so.340.58 /usr/lib/libGLESv2.so.340.58  и так далее смотрите по дате установки файла ноя  8  2014 
[[email protected] ~]$ pacman -Qo /usr/lib/libGL.so.1
/usr/lib/libGL.so.1 принадлежит nvidia-libgl 361.28-4
Удалить-то удалю, а дальше что? снова переустановить nvidia и nvidia-libgl что бы симлинки на libgl.so подравнял?
По идеи да
yaourt -Rdd nvidia-libgl
yaourt -S nvidia-libgl
Проверьте может что установлено версии 340
и не стоят ли пользовательские репы выше экстры в пакман конф
СПАСИБО ВСЕМ!!!
Помогло удаление 340* хлама. Видать накосячил я не при последней обнове дров, а ещё сто лет назад.
Теперь симлинки от libGL.so.1 ведут в папку /usr/lib/nvidia
Проблема решена.
 
Зарегистрироваться или войдите чтобы оставить сообщение.