32-битный OpenGL на 64-битной системе с драйвером NVIDIA
Статья описывает настройку системы для запуска 32-битных OpenGL-программ на 64-битной операционной системе с драйвером NVIDIA без Optimus.
Подготовка системы
mkdir /etc/X11/lib/ /etc/X11/lib64/
Подключить репозиторий x86_64-i586 (для веток P5 и старше репозиторий x86_32)
mcedit /etc/apt/sources.list
apt-get update
apt-get install i586-libGL.32bit i586-libGLU.32bit
Для Wine
apt-get install i586-wine i586-libwine-gl
Установка драйвера
- Выполнить команду
nvidia-install-driver
- Для веток P6 и старше
Узнать разновидность ядра можно из вывода команды
uname -r
(например 3.12.25-std-def-alt1 означает, разновидность std-def (далее FLAVOR)) и выполнить команду
apt-get install kernel-modules-nvidia-FLAVOR
Установка 32-битных библиотек драйвера (только для веток P6 и старше)
Узнать текущую версию драйвера NVIDIA (далее NVVER)
cat /proc/driver/nvidia/version | grep -i nvidia
- Для ветки P6
apt-get install i586-nvidia_glx_NVVER
- Для веток P5 и старше необходимо из соответствующего 32-битного пакета nvidia_glx_NVVER (репозиторий i586) скопировать вручную в систему все /usr/lib/* )
Завершение установки драйвера
Запустить (один раз после установки нового i586-nvidia_glx_XXXX):
x11presetdrv
/usr/libexec/X11/drv.d/nvidia
ldconfig
Подготовка конкретной 32-битной программы
Запускаем ее в эмуляторе терминала и смотрим ругань на недостающие библиотеки.
Доустанавливаем соответствующие i586-пакеты.
В отдельных случаях ругань(или ее сокрытие) может быть даже при успешном запуске, если программа проверяет работоспособность подключаемых модулей в процессе своей работы.