Введение
Недавно купил ноутбук с двумя видеокартами: Intel (встроенная в процессор) и NVidia. Драйверы для NVidia почему-то отказались работать, но это уже совсем другая история.
А проблема возникла следующая: когда я ставил драйверы для NVidia, Linux начал использовать OpenGL драйвер именно для NVidia.
Когда я переключился обратно на Intel, ОpenGL (glx) драйвер остался по-прежнему от NVidia, и грузиться не захотел.
Симптомы
При запуске glxgears получаем:
Xlib: extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual
Если посмотреть в /var/log/Xorg.0.log?, то где-то там увидим
(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
что говорит о том, что при старте иксы пытаются загрузить glx модуль от NVidia, а не от Intel.
Конфигурация /etc/X11/xorg.conf
На всякий случай нужно проверить конфигурацию X-сервера
Секция Device должна выглядеть следующим образом:
Section "Device"
Identifier "device1"
VendorName "Intel Corporation"
BoardName "Intel 810 and later"
Driver "intel"
BusID "PCI:0:2:0"
Option "DPMS"
EndSection
В секции Module должно стоять:
Load "glx"
Решение проблемы
Для того, чтобы использовать расширение glx именно от Intel надо под рутом выполнить:
update-alternatives --set gl_conf /etc/ld.so.conf.d/GL/standard.conf
После перезагрузки всё должно работать.