Wine с проприетарным драйвером Nvidia на 64-битном Ubuntu

У меня Ubuntu 18.04 64-bit с установленным проприетарным драйвером NVidia. Когда я пытаюсь запустить любое графическое приложение Windows, я получаю следующую ошибку:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  257
  Current serial number in output stream:  256

Полазив по аналогичным вопросам в сообществах SO, я понял, что это, скорее всего, вызвано тем, что wine использует 32-битные графические библиотеки.

Проблема в том, что программа установки проприетарных 32-битных драйверов NVidia проверяет архитектуру и не справляется с установкой (хотя у меня установлен пакет multiarch-support).

Есть ли способ обойти эту проблему, сохранив проприетарные драйверы? Или, если нет, какой способ установки этих библиотек будет наиболее надежным?

Спасибо!

0
задан 23 April 2020 в 12:58

4 ответа

После нескольких попыток применить решения из ответов на этот и другие подобные вопросы я пришел к тому, которое разрешило мой конкретный случай.

  1. Загрузите последний проприетарный 64-битный драйвер NVidia с сайта NVidia.
  2. Запустите Ubuntu в режиме cmd под root: https://askubuntu.com/a/859640/924671
  3. Запустите установщик
  4. на в какой-то момент установщик спросит, хотите ли вы установить 32-битные библиотеки совместимости. Ответ [Да]
  5. Когда вас спросят, хотите ли вы перезаписать существующие файлы (вероятно, там несколько мест), подтвердите вариант
  6. Перезагрузить
0
ответ дан 30 April 2020 в 20:05

Я знаю об этой проблеме и решил ее.
Я использую более новую ОС, но команды могут быть похожими.

Вам может потребоваться выполнить эту команду, если у вас еще нет 32-битных пакетов:

dpkg --add-architecture i386

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

Я использую эти команды для себя, и они работают.

sudo apt install nvidia-driver-430:i386 libnvidia-gl-430:i386 xserver-xorg-video-nvidia-430:i386 libnvidia-cfg1-430:i386 libnvidia-ifr1-430:i386 libnvidia-decode-430:i386 libnvidia-encode-430:i386 nvidia-settings
sudo apt install nvidia-driver-430 libnvidia-gl-430 nvidia-utils-430 xserver-xorg-video-nvidia-430 libnvidia-cfg1-430 libnvidia-ifr1-430 libnvidia-decode-430 libnvidia-encode-430 nvidia-settings

После этого:

  1. Измените 430 на вашу версию уже установленного драйвера 64bit.
  2. Если какой-либо файл не может быть установлен или уже установлен, просто удалите его из списка и попробуйте выполнить шаг
  3. Тщательно проверьте в Synaptic файлы с libnvidia и nvidia-driver

Их авторы могут периодически менять имена файлов или добавлять новые. Надеюсь, что изменений с 430 на 440 нет.

PS: вместо apt можно использовать

sudo aptitude install .... 

Конечно, я использую PPA

sudo add-apt-repository ppa:graphics-drivers/ppa

(требуется sudo apt-get update ).

PPS: У вас одна видеокарта?
Или две карты в блокноте?
Если у вас их два, вы должны использовать nvidia-prime или bumblebee и optirun для запуска таких приложений:

optirun wine

Вы можете получить имя своего видеокарту, запустив:

inxi -G" or "glxinfo | grep OpenGL

Чтобы протестировать 32-битную часть драйвера Nvidia, просто запустите любую 32-битную винную программу. Даже Герои 3 .

2
ответ дан 27 April 2020 в 17:42

Есть ли какие-либо причины не переходить на новую LTS? Если с драйверами NVidia по-прежнему возникают проблемы, возможно, перейдите на Pop OS или посмотрите их драйверы... https://support.system76.com/articles/upgrade-ubuntu/

0
ответ дан 30 April 2020 в 00:18

Нет гарантии, что это решит вашу проблему, но в 2014 году возникали те же ошибки:

Решение тогда (пожалуйста, прочитайте полную ссылку ) должен был создать новую символическую ссылку.

1
ответ дан 30 April 2020 в 00:30

Другие вопросы по тегам:

Похожие вопросы: