Warum kann X meinen vboxvideo-Treiber nicht finden?


10

Ich verwende Fedora 25 als Gast in VirtualBox 5.1.14 auf einem Windows 10-Host. Ich habe xorg-x11-server-Xorg und die VBox-Gastzusätze installiert (unter Verwendung der von VirtualBox selbst bereitgestellten ISO). Die Gast-Ergänzungen wurden einwandfrei installiert, nachdem die richtigen Kernel-Header-Versionen mit erzwungen wurden dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r). Das VBGA-Installationsprotokoll enthält keine Fehler. dmesg zeigt an, dass vboxvideo geladen wurde, systemctl zeigt an, dass der vboxadd-Dienst ausgeführt wird, vboxadd-x11 aktiv / beendet. Die 3D-Beschleunigung ist in den VM-Einstellungen aktiviert.

Wenn ich jedoch versuche, X zu starten, bekomme ich (EE) Failed to load module "vboxvideo" (module does not exist, 0). Ich habe mehrmals neu gestartet, VBGA und X mehrmals neu installiert, es funktioniert einfach nicht. Viele, viele, viele Suchanfragen haben viele Fälle dieses Problems ergeben, aber die meisten scheinen sich entweder um a) die Installation von VBGA aus einem Paket anstelle der enthaltenen ISO zu drehen (aber ich habe die ISO verwendet), b) VBGA kann nicht korrekt installiert werden ( aber es wurde gut installiert, sobald ich die richtigen Header hatte und es scheint zu laufen) oder c) eine schlechte /etc/X11/xorg.conf (die sie zum Löschen empfehlen, aber ich habe zunächst keine). Der Rest ist für viel ältere Versionen von VBox als ich benutze und wurde mit einem einfachen VBox-Update behoben.

Warum kann X den vboxvideo-Treiber nicht finden und wie kann ich ihn korrigieren?


Ich habe das gleiche Problem mit einem Arch-Gast in 5.0.18, wo ich das virtualbox-guest-utilsPaket installiert habe , aber beim Starten von X den gleichen Fehler erhalte (ich kann vboxvideo nicht finden). Ich habe auch festgestellt, dass die Datei /usr/lib/xorg/modules/drivers/vboxvideo_drv.sozu fehlen scheint, solange sie /usr/lib/xorg/modules/dri/vboxvideo_dri.sovorhanden ist.
Jake

Antworten:


3

Ich habe ein Konto erstellt, nur weil ich dieselben Probleme hatte und dabei einige Dinge herausgefunden habe, die anderen helfen könnten.

Zu Beginn verwende ich eine CentOS 7-VM in VirtualBox 4.xx und der Grafiktreiber wird erkannt, wenn meine Gastzugaben fast vollständig funktionieren (die automatische Größenänderung ist immer noch fehlerhaft, aber ich kann vorerst damit leben).

Abrufen von Videofunktionen in einer CentOS 7-VM (kann geändert werden, um auch auf andere Linux-Distributionen angewendet zu werden):

1. Laden Sie eine kompatible Version von VirtualBox Guest Additions herunter und installieren Sie sie

A. Laden Sie eine Version herunter, die neuer als oder für das derzeit installierte VirtualBox-Hostprogramm erstellt wurde

Durchsuchen Sie das VirtualBox-Download-Repository: https://download.virtualbox.org/virtualbox/

Suchen Sie nach Auswahl eines Ordners nach der Datei "VBoxGuestAdditions x.xx.iso" und laden Sie sie herunter

B. Installieren Sie die Abhängigkeiten von Guest Additions

Starten Sie die VM und hängen Sie die heruntergeladene ISO-Datei als CD / DVD-Gerät im Bereich VM-Geräte an.

Es gibt einige Voraussetzungen für die Installation der Guest Additions, die über das native Software-Repository-Programm des Betriebssystems verfügbar sind.

Verwenden Sie für RHEL-basiertes Linux Folgendes mit "yum":

yum update
yum install epel-release
yum install gcc binutils make patch libgomp glibc-headers glibc-devel kernel kernel-devel kernel-headers
yum install dkms

Geben Sie für die Installationsbefehle unbedingt "yes" ein oder verwenden Sie das Optionsflag "-y"

C. Installieren Sie Guest Additions

Öffnen Sie ein Terminal und navigieren Sie mit dem Befehl "cd" zum Stammverzeichnis des CD / DVD-Ordners.

Führen Sie den folgenden Befehl aus, um das Installationsprogramm zu starten:

sudo sh VBoxLinuxAdditions.run

Wenn das Erstellen des Hauptkernmoduls von Guest Additions fehlschlägt, stellen Sie sicher, dass alle Voraussetzungen korrekt installiert wurden. Andernfalls installieren Sie sie erneut und versuchen Sie, das Installationsprogramm erneut auszuführen.

2. Beziehen, Kompilieren und Installieren des "vboxvideo" -Treibers

A. Herunterladen der Quelldateien zur Kompilierung

Die Datei im folgenden Link ist ein komprimierter Tarball der Quelldateien des "vboxvideo" -Treibers:

https://cgit.freedesktop.org/xorg/driver/xf86-video-vbox/snapshot/xf86-video-vbox-ab07f97612d045d8c0a376174b39a294d028fef2.tar.xz

B. Kompilieren und Installieren des "vboxvideo" -Treibers

Dekomprimieren Sie die heruntergeladenen Dateien und navigieren Sie über das Terminal in den Ordner "xf86-video-vbox -..."

Führen Sie im Terminal Folgendes aus:

sudo sh autogen.sh --prefix=/usr --with-xorg-module-dir=/usr/lib64/xorg/modules/drivers
sudo make && sudo make install      

Diese Befehle installieren zwei Dateien "vboxvideo_drv.so" und "vboxvideo_drv.la" in Ihrem Xorg-Modulverzeichnis. Hinweis: Das Kernelmodul "vboxvideo.ko" wird mit den Guest Additions installiert und muss dafür nicht angepasst werden.

3. Einrichten der X Server-Konfiguration

A. Erstellen / Herunterladen der Datei Xorg.conf

Die VirtualBox Guest Additions werden so eingerichtet, dass am Ende der Installation eine eigene Xorg.conf-Datei generiert wird. Dieser Vorgang ist in einigen Versionen fehlerhaft. Ein Link zu einer funktionierenden Xorg.conf-Datei ist unten angegeben.

https://drive.google.com/file/d/1y_f5od59sv3eeHGu01PorpvlnBfvum0M/view

B. Einfügen der Datei " Xorg.conf " zur Verwendung

Kopieren Sie die Datei nach dem Herunterladen oder Kopieren in den X11-Ordner.

sudo cp xorg.conf/etc/X11/

C. Abschlussverfahren

Starten Sie die VM innerhalb des Gastbetriebssystems neu und lassen Sie sie vollständig starten. Es sollte jetzt Video- und andere Gastfunktionen geben.

Um dies zu überprüfen, melden Sie sich beim Betriebssystem an und öffnen Sie das Menü Einstellungen im Abschnitt Anzeigen.

Auf dem Monitoretikett sollte "VBX" stehen. Durch Klicken auf das Etikett kann die Bildschirmauflösung angepasst werden.

Zusätzliche Bemerkungen:

I. "Schwarzer / eingefrorener Bildschirm beim Booten"

Wenn der Startvorgang nach Abschluss der Anleitung unterbrochen wird, wechseln Sie zu einem anderen Terminalfenster, indem Sie gleichzeitig die Tasten "Alt" und "Fx" drücken, wobei x eine Zahl von 2-6 ist (dh "Alt-F2").

Dadurch wird eine Benutzeranmeldung über eine CLI-Schnittstelle geöffnet.

Melden Sie sich am Terminal an und überprüfen Sie mit dem folgenden Befehl das " Xorg " -Protokoll:

sudo less /var/log/Xorg.0.log

Suchen Sie nach Einträgen zum Gerät " vboxvideo ".

- Bei Problemen mit "Nicht gefunden":

Stellen Sie sicher, dass sich die in Schritt 2b kompilierte Datei "vboxvideo_drv.so" im richtigen Ordner befindet.

- Bei Problemen mit "Inkompatibler Version":

Stellen Sie sicher, dass die in Schritt 2b kompilierte Datei "vboxvideo_drv.so" mit der neuesten Version des X-Servers kompatibel ist, die unter CentOS 7 verfügbar ist. (1.19.3 - Ver (23))

Die aktuelle Version des X-Servers wird mit dem folgenden Befehl gefunden:

X -version

- Bei Problemen mit falscher Syntax in der " Xorg.conf ":

Stellen Sie sicher, dass die Datei " Xorg.conf " in Schritt 3A mit der Datei im Ordner " / etc / X11 / " des Gastbetriebssystems übereinstimmt.

II. "Gründe für den Prozess"

As it turns out, the VirtualBox Guest Additions has driver files for the X Server up to X 1.18 Ver(20) included natively. Oddly enough, these files should be included in the latest version of the Guest Additions for the latest stable release of the VirtualBox host client.

Diese Treiberdateien waren in einem Repository von OpenIndiana für eine Open-Source-Version ihres eigenen Solaris-basierten Betriebssystems verfügbar, das unter RHEL-basiertem Linux weiterhin verwendet werden konnte. Enthalten sind einige Referenzlinks und weitere Unterstützung.

https://pkg.openindiana.org/hipster/manifest/0/x11%2Fserver%2Fxorg%2Fdriver%2Fxorg-video-vboxvideo%401.0.1%2C5.11-2018.0.0.1%3A20180212T053651Z
https://gist.github.com/yvt/a1fd215609c0f1e5a85c7562103f3e65
https://www.openindiana.org/2017/11/11/virtualbox-video-driver-compatible-with-xorg-1-19-5-available/

2

Wenn Sie sich auf Xorg Server 1.19. * Befinden, unterstützt VBox Guest Additions 5.1.14 entweder Xorg 1.19 nicht oder es wird angenommen, dass mit Xorg 1.19. * Kein vboxvideo * .so benötigt wird. Folgendes habe ich gefunden ...

Die 5.1.14 ISO hat /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions erstellt, die viele vboxvideo_drv _ *. Also-Dateien enthält (wobei '*' eine 2- oder 3-stellige Zahl ist). Außerdem gibt es Symlinks, die von / lib / VBoxGuestAdditions, / lib64 / VBoxGuestAdditions, / usr / lib / VBoxGuestAdditions und / usr / lib64 / VBoxGuestAdditions auf dieses Verzeichnis verweisen. Es gibt ein Skript /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions/vobxadd-x11, das nur bis zur Xorg-Version 1.18 * reicht, und die vboxvideo_drv-Datei mit der höchsten Nummer lautet vboxvideo_drv_118.so.

Zu Ihrer Information, ich habe Xorg Server 1.19.3 und es fällt genauso aus wie das OP-System.

22JUL2017: Ich habe mit vboxvideo_drv_118.so mit Xorg Server 1.19.3 getestet. Es wurde gemeldet, dass das Laden von vboxvideo fehlgeschlagen ist und dann mit "(EE) vboxvideo: Modul ABI-Hauptversion (20) stimmt nicht mit der Serverversion (23) überein" fehlgeschlagen und vboxvideo entladen wurde. VirtualBox 5.1.14 bietet also definitiv kein vboxvideo * .so, das mit Xorg 1.19 kompatibel ist.

Ich habe auch https://bugs.archlinux.org/task/52704 gefunden, in dem davon gesprochen wird, dass fbdev ein Fallback sein soll, aber kürzlich durch die Patches 3 und 4 unterbrochen wurde.

Könnte jemand mit der neuesten VBox bitte sein vboxadd-x11-Skript überprüfen?

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.