Dlaczego X nie może znaleźć mojego sterownika vboxvideo?

10

Korzystam z Fedory 25 jako gość w VirtualBox 5.1.14 na hoście Windows 10. Zainstalowałem xorg-x11-server-Xorg i dodatki dla gości VBox (używając ISO dostarczonego przez sam VirtualBox). Dodatki gości zostały zainstalowane poprawnie, po wymuszeniu poprawnych wersji nagłówków jądra za pomocą dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r). W dzienniku instalacji VBGA nie ma błędów. dmesg pokazuje, że vboxvideo zostało załadowane, systemctl pokazuje, że usługa vboxadd jest uruchomiona, vboxadd-x11 aktywne / zakończone. Przyspieszenie 3D jest włączone w ustawieniach VM.

Jednak gdy próbuję uruchomić X, otrzymuję (EE) Failed to load module "vboxvideo" (module does not exist, 0). Zrestartowałem się wiele razy, kilkakrotnie ponownie instalowałem VBGA i X, to po prostu odmawia pracy. Wiele, wiele, wiele wyszukiwań ujawniło wiele przypadków tego problemu, ale większość z nich dotyczy albo: a) instalacji VBGA z pakietu zamiast dołączonego ISO (ale użyłem ISO), b) VBGA nie instaluje się poprawnie ( ale zainstalował się dobrze, gdy miałem odpowiednie nagłówki i wydaje się, że działa), lub c) zły /etc/X11/xorg.conf (który zalecają usunięcie, ale nie mam go na początek). Reszta dotyczy znacznie starszych wersji VBoxa niż używam i zostały naprawione przez prostą aktualizację VBoxa.

Dlaczego X nie może znaleźć sterownika vboxvideo i jak go naprawić?

Adrian
źródło
Mam ten sam problem z gościem Arch w 5.0.18, w którym zainstalowałem virtualbox-guest-utilspakiet, ale otrzymuję ten sam błąd (nie mogę znaleźć vboxvideo) podczas uruchamiania X. Zauważyłem również, że /usr/lib/xorg/modules/drivers/vboxvideo_drv.sobrakuje pliku, gdy /usr/lib/xorg/modules/dri/vboxvideo_dri.sojest obecny.
Jake

Odpowiedzi:

3

Utworzyłem konto tylko dlatego, że miałem te same problemy i po drodze wymyśliłem kilka rzeczy, które mogą pomóc innym.

Na początek uruchamiam maszynę Wirtualną CentOS 7 w VirtualBox 4.xx i sterownik wideo jest rozpoznawany, a moje dodatki gości działają prawie całkowicie (automatyczna zmiana rozmiaru jest nadal zepsuta, ale na razie mogę z tym żyć).

Pobieranie możliwości wideo na maszynie Wirtualnej CentOS 7 (można zmodyfikować tak, aby dotyczyło także innych dystrybucji Linuksa):

1. Pobierz i zainstaluj kompatybilną wersję dodatków gości VirtualBox

A. Pobierz wersję, nowszą lub stworzoną dla obecnie zainstalowanego programu hosta VirtualBox

Wyszukaj w repozytorium pobierania VirtualBox: https://download.virtualbox.org/virtualbox/

Po wybraniu folderu odszukaj plik „VBoxGuestAdditions x.xx.iso” i pobierz go

B. Zainstaluj zależności dodatków gości

Uruchom maszynę wirtualną i podłącz pobrany plik .iso jako urządzenie CD / DVD w okienku Urządzenia maszyny wirtualnej.

Istnieje kilka warunków wstępnych instalacji dodatków dla gości, które są dostępne za pośrednictwem macierzystego programu repozytorium oprogramowania systemu operacyjnego.

W przypadku systemu Linux opartego na protokole RHEL użyj „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

Należy wpisać „tak” dla poleceń instalacji lub użyć flagi opcji „-y”

C. Zainstaluj dodatki dla gości

Otwórz terminal i użyj polecenia „cd”, aby przejść do katalogu głównego folderu CD / DVD.

Uruchom następujące polecenie, aby uruchomić instalatora:

sudo sh VBoxLinuxAdditions.run

Jeśli kompilacja głównego modułu jądra Dodatków gości nie powiedzie się, upewnij się, że wszystkie wymagania wstępne zostały poprawnie zainstalowane. W przeciwnym razie zainstaluj je ponownie i spróbuj ponownie uruchomić instalatora.

2. Uzyskiwanie, kompilowanie i instalowanie sterownika „vboxvideo”

A. Pobieranie plików źródłowych do kompilacji

Plik w linku poniżej to skompresowany plik tar plików źródłowych sterownika „vboxvideo”:

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

B. Kompilowanie i instalowanie sterownika „vboxvideo”

Rozpakuj pobrane pliki i przejdź do terminala do folderu „xf86-video-vbox -...”

Uruchom następujące polecenie w terminalu:

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

Te polecenia zainstalują dwa pliki „vboxvideo_drv.so” i „vboxvideo_drv.la” w katalogu modułów Xorg. Uwaga: moduł jądra „vboxvideo.ko” jest instalowany wraz z dodatkami gości i nie trzeba go do tego dostosowywać.

3. Konfigurowanie konfiguracji X Server

A. Tworzenie / pobieranie pliku Xorg.conf

Dodatki dla gości VirtualBox są skonfigurowane do generowania własnego pliku Xorg.conf pod koniec instalacji. Ten proces jest błędny w niektórych wersjach. Link do działającego pliku Xorg.conf znajduje się poniżej.

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

B. Wstawianie pliku „ Xorg.conf ” do użytku

Po pobraniu lub skopiowaniu skopiuj plik do folderu X11.

sudo cp xorg.conf/etc/X11/

C. Procedury zamknięcia

Uruchom ponownie maszynę wirtualną z poziomu systemu operacyjnego gościa i pozwól jej całkowicie się uruchomić. Powinny być teraz dostępne funkcje wideo i inne funkcje gościa.

Aby to sprawdzić, zaloguj się do systemu operacyjnego i otwórz menu Ustawienia w sekcji Wyświetlacze.

Etykieta monitora powinna brzmieć „VBX”, a kliknięcie etykiety pozwoli na dostosowanie rozdzielczości ekranu.

Dodatkowe uwagi:

I. „Czarny / zamrożony ekran po uruchomieniu”

Jeśli procedura rozruchu zawiesza się po ukończeniu przewodnika, przełącz się do innego okna terminala, naciskając jednocześnie klawisze „Alt” i „Fx”, gdzie x jest liczbą od 2 do 6 (tj. „Alt-F2”).

Spowoduje to otwarcie logowania użytkownika za pomocą interfejsu CLI.

Zaloguj się do terminala i użyj następującego polecenia, aby sprawdzić dziennik „ Xorg ”:

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

Poszukaj wpisów dotyczących urządzenia „ vboxvideo ”.

- W przypadku problemów „Nie znaleziono”:

Sprawdź, czy plik „vboxvideo_drv.so” skompilowany w kroku 2b znajduje się w odpowiednim folderze.

- W przypadku problemów związanych z „wersją niezgodną”:

Sprawdź, czy odpowiedni plik „vboxvideo_drv.so” skompilowany w kroku 2b, ponieważ ma on być zgodny z najnowszą wersją serwera X dostępną w CentOS 7. (1.19.3 - Ver (23))

Obecną wersję X serwera można znaleźć za pomocą polecenia:

X -version

- W przypadku problemów dotyczących niepoprawnej składni w plikuXorg.conf ”:

Sprawdź, czy plik „ Xorg.conf ” w kroku 3A jest zgodny z plikiem w folderze „ / etc / X11 / ” w systemie operacyjnym gościa.

II. „Uzasadnienie procesu”

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.

Te pliki sterowników były dostępne z repozytorium OpenIndiana dla otwartej wersji własnego systemu operacyjnego opartego na Solaris, który nadal był dostępny w Linuksie opartym na RHEL. Zawarte są niektóre linki referencyjne i dalsze wsparcie.

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/
JayLop
źródło
2

Jeśli korzystasz z serwera Xorg 1.19. *, To albo dodatki gości VBox 5.1.14 nie obsługują Xorg 1.19, albo sądzi, że w Xorg 1.19. Nie powinno być potrzebne vboxvideo * .so. Oto, co znalazłem ...

5.1.14 ISO utworzyło /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions zawierające wiele plików vboxvideo_drv _ *. So (gdzie „*” to 2 lub 3 cyfry). Istnieją również dowiązania symboliczne wskazujące ten katalog z / lib / VBoxGuestAdditions, / lib64 / VBoxGuestAdditions, / usr / lib / VBoxGuestAdditions i / usr / lib64 / VBoxGuestAdditions. Istnieje skrypt /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions/vobxadd-x11, który działa tylko w wersji Xorg 1.18. *, A plik vboxvideo_drv o największej liczbie to vboxvideo_drv_118.so.

Do twojej wiadomości, mam Xorg server 1.19.3, i to nie działa tak samo jak system OP.

22JUL2017: Testowałem przy użyciu vboxvideo_drv_118.so z serwerem Xorg 1.19.3. Zgłoszono ładowanie vboxvideo, a następnie nie powiodło się z „(EE) vboxvideo: główna wersja modułu ABI (20) nie pasuje do wersji serwera (23)” i rozładował vboxvideo. Tak więc VirtualBox 5.1.14 zdecydowanie nie zapewnia vboxvideo *. Więc jest kompatybilny z Xorg 1.19.

Znalazłem też https://bugs.archlinux.org/task/52704, który mówi, że fbdev ma być awarią, ale ostatnio został złamany przez łatki 3 i 4.

Czy ktoś z najnowszym VBox mógłby sprawdzić swój skrypt vboxadd-x11, proszę?

DMW
źródło