Я установил драйверы Nvidia в свою систему Ubuntu 13, но в соответствии с этой командой (ldconfig -p | grep GL
):
$ ldconfig -p | grep GL
libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
libGLU.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLU.so.1
libGLEWmx.so.1.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.8
libGLEW.so.1.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.8
libGLESv2.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
32-битная версия OpenGL указывает на библиотеки mesa вместо nvidia. Это приводит к тому, что мои игры в Steam отказываются запускаться с ошибкой:
Не удалось найти необходимую точку входа OpenGL 'glGetError'! Либо ваша видеокарта не поддерживается, либо необходимо обновить драйвер OpenGL.
blockquote>Почему это так? Когда установщик nvidia спросил меня, хочу ли я установить «32-битные библиотеки совместимости» (или что-то в этом роде), я выбрал «да». Как мне это исправить?
Редактировать:
Я только что переустановил тот же драйвер Nvidia, который, очевидно, полностью удалил 32-битный драйвер OpenGL:
$ ldconfig -p | grep libGL.so libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1 libGL.so (libc6,x86-64) => /usr/lib/libGL.so
Теперь Steam не запускается:
Вам не хватает следующих 32-битных библиотек, и Steam может не работать: libGL.so.1
blockquote>Опять я выбрал ДА , когда установщик спросил меня, хочу ли я установить 32-битные библиотеки. Почему они не установлены!?
Когда я переустанавливал драйверы Nvidia, все драйверы Mesa OpenGL были удалены из кеша библиотеки. Мой библиотечный кеш выглядел так:
$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
Нет 32-битных драйверов! К счастью, после быстрого поиска я нашел 32-битные драйверы Nvidia в /usr/lib32
. Я добавил этот путь к файлу в /etc/ld.so.conf.d/
(любой файл подойдет, вы даже можете создать новый файл) и запустил sudo ldconfig
. Мой кеш теперь выглядит так:
$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
libGL.so (libc6) => /usr/lib32/libGL.so
И Steam работает отлично!
Codemonkey Correct. Все, что вам нужно сделать, это добавить 32-битный драйвер nvidia и удалить драйвер mesa.
cd /etc/ld.so.conf.d/
ls
найти имя файла с "i386"
, у меня есть "i386-linux-gnu_GL.conf"
, затем я пишу,
sudo gedit i386-linux-gnu_GL.conf
затем добавьте путь 32-битного драйвера, используя gedit.
мой "/usr/lib32/".
Если вы не можете найти местоположение вашего 32-битного драйвера, просто найдите его.
Сохранить. Откройте терминал и введите:
sudo ldconfig
My Half-Life2 отлично работает после этого. : D
Вариант 1: Попробуйте запустить sudo ldconfig
в терминале. Перезагрузитесь и попробуйте.
Вариант 2: Если это не сортирует, вам придется вручную добавить каталог библиотек NVidia (/ usr / lib32) в файл конфигурации ldconfig (/etc/ld.so). .conf.d / libc.conf), а затем повторно запустите ldconfig (от имени пользователя root)
РЕДАКТИРОВАТЬ: перед копированием я сделал бы копию libc.conf.