Я установил систему (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. Это возможно? Я был бы в порядке, например, со сценарием, который обнаруживает при запуске внутри виртуальной коробки, и соответственно регулирует настройки, но я не знаю, что нужно отрегулировать ...

1 ответ1

0

На основе комментария @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 - просто пустой файл, позволяющий системе автоматически обнаруживать все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .