Cinnamon / OpenGL-Absturz beim Starten der virtuellen Box nach der Installation von AMD-Treibern

447
youen

Ich habe ein System (Linux Mint Debian Edition) auf einem USB-Stick installiert, das ich entweder zu Hause (mit einer AMD Radeon-Karte) auf einer realen Maschine starte oder in einer virtuellen Box, wenn ich mich auf einem Computer einer anderen Person befinde.

Mit dem Open-Source-Radeon-Treiber funktionierte alles einwandfrei. Das einzige Problem, das ich hatte, war, dass der Grafikkartenlüfter mit voller Geschwindigkeit lief und sehr laut war.

Also habe ich die proprietären Treiber von AMD installiert, und es funktioniert gut auf der realen Maschine, aber jetzt startet es nicht mehr in der virtuellen Box. Ich habe ein erstes Problem mit xorg.conf behoben (entweder durch das Entfernen der Datei oder durch das Erzeugen einer neuen Datei wird das Startproblem gelöst), und jetzt bootet es gut, bis Cinnamon gestartet wird. Anschließend wird ein Popup-Fenster angezeigt, das besagt, dass Cinnamon abgestürzt ist und sich im Fallback-Modus befindet.

In ~/.xsession-errorsIch habe unter anderem, diese Fehler:

[...] 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. [...] 

Anscheinend liegt das Problem bei OpenGL. Zum Beispiel wenn ich anfange glxgearsbekomme ich

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

Ich möchte den alten Treiber (was auch immer das war) in die virtuelle Box laden und den AMD-Treiber mit einer Radeon-Karte auf eine echte Maschine laden. Ist das möglich? Mir wäre zum Beispiel gut mit einem Skript, das beim Start in einer virtuellen Box erkennt und die Einstellungen entsprechend anpasst, aber ich weiß nicht, was angepasst werden muss ...

0
Haben Sie versucht, die AMD-Treiber in VirtualBox zu installieren? Wenn dies der Fall ist, hat die VM keinen direkten Zugriff auf die Hardware des Hosts. Installieren Sie niemals Host-Hardwaretreiber in einer VM. Was sollte behoben werden, ist die Neuinstallation der VirtualBox-Zusätze. Sie enthalten die richtigen Treiber für die Hardware der VM. essjae vor 5 Jahren 1
Ich habe die AMD-Treiber auf der echten Hardware installiert. Ich möchte jedoch das * gleiche * System auch auf der virtuellen Box verwenden. Ich glaube nicht, dass ich Treiber jedes Mal neu installieren kann, wenn ich die Maschine wechsle, es sei denn, ich kann es vollautomatisch und schnell genug machen. Ihre Idee, VirtualBox-Ergänzungen neu zu installieren, könnte mir jedoch in die richtige Richtung weisen, welche Konfigurationsänderungen vorgenommen werden. Ich versuche es. Ich brauche nur einen Weg, um die korrekten Treiber bei jedem Start schnell und automatisch zu konfigurieren. youen vor 5 Jahren 0

1 Antwort auf die Frage

0
youen

Basierend auf dem @essjae-Kommentar und dieser Superuser-Antwort sind hier die Schritte, die mein Problem gelöst haben:

  1. Installieren Sie Virtualbox-Ergänzungen neu
    • Dies behebt das Virtualbox-Treiberproblem, das das ATI-Installationsprogramm durcheinander gebracht hat
    • Zum Glück ist es jedoch kein Problem mit den ATI-Treibern, sodass beide Treiber jetzt im System vorhanden sind
  2. Hinzufügen eines Skripts ( /etc/rc.local), das bei xorg.confjedem Systemstart einen Symlink zur richtigen Datei erstellt

Hier ist das /etc/rc.localSkript, das ich verwende:

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 

Sie sollten den dmidecode -s system-product-nameBefehl auf jedem System ausführen, das Sie verwenden möchten, um zu sehen, was er ausgibt, und dies in Ihren Tests verwenden. Und natürlich erstellen Sie jede /etc/X11/xorg.conf.*Datei, auf die Ihr Skript verweist. In meinem Fall xorg.conf.atienthält die vom ATI-Installationsprogramm generierte Konfiguration, während xorg.conf.autoes sich lediglich um eine leere Datei handelt, die das System automatisch alles erkennen lässt.