Cinnamon / OpenGL вылетает при запуске с виртуальной коробкой после установки драйверов AMD

432
youen

Я установил систему (Linux Mint Debian Edition) на флешку, которую я запускаю либо на реальной машине дома (с картой AMD Radeon), либо внутри виртуальной коробки, когда я на чьем-то компьютере.

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

Поэтому я установил проприетарные драйверы от AMD, и он отлично работает на реальной машине, но теперь он не загружается внутри виртуальной коробки. Я исправил первую проблему с xorg.conf (удаление или создание нового файла решает проблему с загрузкой), и теперь он загружается нормально до запуска Cinnamon, а затем у меня появляется всплывающее окно с сообщением о сбое Cinnamon, и он находится в режиме отката.

У ~/.xsession-errorsменя, среди прочего, есть эти ошибки:

[...] Error getting login monitor: -2 [...] libEGL warning: GLX/DRI2 is not supported [...] (cinnamon:3203): GLib-CRITICAL **: g_strsplit: assertion 'string != NULL' failed (cinnamon:3203): Clutter-CRITICAL **: Unable to initialize Clutter: The OpenGL version could not be determined Window manager error: Unable to initialize Clutter. [...] 

Кажется, проблема в OpenGL. Например, если я начну, glxgearsя получу

Xlib: extension "GLX" missing on display ":0". Error: couldn't get an RGB, Double-buffered visual 

Я хотел бы загрузить старый драйвер (каким бы он ни был) в виртуальную коробку и загрузить драйвер AMD на реальную машину с картой Radeon. Это возможно? Я был бы в порядке, например, со сценарием, который обнаруживает при запуске внутри виртуальной коробки, и соответственно регулирует настройки, но я не знаю, что нужно отрегулировать ...

0
Вы пытались установить драйверы AMD в VirtualBox? Если это так, это ваша проблема, виртуальная машина не имеет прямого доступа к оборудованию хоста, никогда не устанавливайте драйверы аппаратного обеспечения хоста в виртуальной машине. Что должно исправить это переустановка дополнений VirtualBox. Они включают в себя правильные драйверы для оборудования виртуальной машины. essjae 5 лет назад 1
Я установил драйверы AMD на реальном оборудовании. Однако я хочу использовать * ту же * систему на виртуальной машине. Я не думаю, что могу переустанавливать драйверы каждый раз, когда меняю машину, если я не могу сделать ее полностью автоматической и достаточно быстрой. Однако ваша идея переустановки дополнений VirtualBox может указать мне правильное направление изменений конфигурации, я попробую. Мне просто нужен способ быстро и автоматически настраивать правильные драйверы при каждой загрузке. youen 5 лет назад 0

1 ответ на вопрос

0
youen

На основе комментария @essjae и этого ответа суперпользователя, вот шаги, которые решили мою проблему:

  1. переустановить дополнения virtualbox
    • это исправляет проблему драйверов virtualbox, которая испортила установщик ATI
    • но, к счастью, это не мешает драйверам ATI, то есть оба драйвера теперь сосуществуют в системе
  2. добавив скрипт ( /etc/rc.local), который делает символическую ссылку на правильный xorg.confфайл каждый раз при загрузке системы

Вот /etc/rc.localскрипт, который я использую:

if [ -L /etc/X11/xorg.conf ] then rm /etc/X11/xorg.conf fi  if [ `dmidecode -s system-product-name` = "Z68X-UD3P-B3" ] then ln -s /etc/X11/xorg.conf.ati /etc/X11/xorg.conf else ln -s /etc/X11/xorg.conf.auto /etc/X11/xorg.conf fi 

Вы должны выполнить dmidecode -s system-product-nameкоманду в каждой системе, которую хотите использовать, чтобы увидеть, что она выводит, и использовать ее в своих тестах. И, конечно, создайте каждый /etc/X11/xorg.conf.*файл, на который ссылается ваш скрипт. В моем случае xorg.conf.atiсодержит конфигурацию, сгенерированную установщиком ATI, а xorg.conf.autoпредставляет собой просто пустой файл, позволяющий системе автоматически обнаруживать все.

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