web-dev-qa-db-fra.com

Pourquoi X ne trouve-t-il pas mon pilote vboxvideo?

J'exécute Fedora 25 en tant qu'invité dans VirtualBox 5.1.14 sur un hôte Windows 10. J'ai installé xorg-x11-server-Xorg et les ajouts d'invités VBox (à l'aide de l'ISO fourni par VirtualBox lui-même). Les ajouts d'invités s'installent correctement, après avoir forcé les versions d'en-tête de noyau correctes avec dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r). Il n'y a pas d'erreur dans le journal d'installation de VBGA. dmesg indique que vboxvideo a été chargé, systemctl indique que vboxadd-service est en cours d'exécution, vboxadd-x11 est actif/est quitté. L'accélération 3D est activée dans les paramètres VM.

Cependant, lorsque j'essaie de démarrer X, j'obtiens (EE) Failed to load module "vboxvideo" (module does not exist, 0). J'ai redémarré plusieurs fois, j'ai réinstallé VBGA et X plusieurs fois, il refuse tout simplement de fonctionner. De nombreuses recherches ont abouti à de nombreuses instances de ce problème, mais la plupart semblent tourner autour de: a) l'installation de VBGA à partir d'un package au lieu de l'ISO inclus (mais j'ai utilisé l'ISO), b) VBGA n'a pas pu être installé correctement ( mais il s’est bien installé une fois que j’ai eu les bons en-têtes, et il semble être en cours d’exécution), ou c) un mauvais /etc/X11/xorg.conf (qu’ils recommandent de supprimer, mais je n’en ai pas pour commencer). Le reste concerne des versions de VBox bien plus anciennes que celles que j'utilise et a été corrigé avec une simple mise à jour de VBox.

Pourquoi X ne trouve-t-il pas le pilote vboxvideo et comment puis-je le redresser?

8
Adrian

J'ai créé un compte simplement parce que je rencontrais les mêmes problèmes et que, le long du chemin, j'ai trouvé des éléments susceptibles d'aider d'autres personnes.

Donc, pour commencer, je lance un CentOS 7 VM dans VirtualBox 4.xx et le pilote vidéo est reconnu avec mes ajouts d'invités fonctionnant presque complètement (le redimensionnement automatique est toujours interrompu mais je peux vivre avec cela pour l'instant. ).

Obtention de capacités vidéo dans un CentOS 7 VM (peut être modifié pour s’appliquer également à d’autres distributions Linux):

1. Téléchargez et installez une version compatible de VirtualBox Guest Additions

A. Téléchargez une version plus récente ou créée pour le programme VirtualBox Host actuellement installé.

Recherchez dans le référentiel de téléchargement de VirtualBox: https://download.virtualbox.org/virtualbox/

Après avoir sélectionné un dossier, recherchez le fichier "VBoxGuestAdditions x.xx.iso" et téléchargez-le.

B. Installer les dépendances des compléments invité

Démarrez le VM et montez le fichier .iso téléchargé en tant que périphérique CD/DVD dans le volet VM Devices.

Quelques conditions préalables à l'installation des additions d'invité sont disponibles via le programme de référentiel logiciel natif du système d'exploitation.

Pour Linux basé sur RHEL, utilisez ce qui suit avec "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

Assurez-vous de taper "oui" pour les commandes d'installation ou d'utiliser l'indicateur d'option "-y"

C. Installer des ajouts d'invité

Ouvrez un terminal et utilisez la commande "cd" pour accéder à la racine du dossier CD/DVD.

Exécutez la commande suivante pour démarrer le programme d'installation:

Sudo sh VBoxLinuxAdditions.run

Si la construction du module de noyau principal Guest Additions échoue, assurez-vous que toutes les conditions préalables ont été correctement installées. Sinon, réinstallez-les et essayez de réexécuter le programme d'installation.

2. Obtention, compilation et installation du pilote "vboxvideo"

A. Téléchargement des fichiers source pour la compilation

Le fichier dans le lien ci-dessous est une archive compressée des fichiers sources du pilote "vboxvideo":

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

B. Compiler et installer le pilote "vboxvideo"

Décompressez les fichiers téléchargés et naviguez le terminal dans le dossier "xf86-video-vbox -..."

Exécutez ce qui suit dans le terminal:

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

Ces commandes installeront deux fichiers "vboxvideo_drv.so" et "vboxvideo_drv.la" dans le répertoire de votre module Xorg. Remarque: Le module de noyau "vboxvideo.ko" est installé avec les ajouts d'invité et n'a pas besoin d'être ajusté pour cela.

3. Configuration de la configuration du serveur X

A. Créer/télécharger le fichier Xorg.conf

VirtualBox Guest Additions est configuré pour générer son propre fichier Xorg.conf à la fin de l’installation. Ce processus est bogué dans certaines versions. Un lien vers un fichier Xorg.conf fonctionnel est donné ci-dessous.

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

B. Insertion du fichier " Xorg.conf " à utiliser

Une fois téléchargé ou copié, copiez le fichier dans le dossier X11.

Sudo cp xorg.conf/etc/X11/

C. Procédures de clôture

Redémarrez le VM depuis l'intérieur du système d'exploitation invité et laissez-le démarrer entièrement. Il devrait maintenant y avoir une vidéo et d'autres capacités d'invité.

Pour vérifier cela, connectez-vous au système d'exploitation et ouvrez le menu Paramètres dans la section Moniteurs.

L'étiquette du moniteur doit indiquer "VBX" et cliquer sur l'étiquette permettra d'ajuster la résolution de l'écran.

Notes complémentaires:

I. "Écran noir/figé après démarrage"

Si la procédure de démarrage se bloque à la fin du guide, passez à une autre fenêtre de terminal en appuyant simultanément sur les touches "Alt" et "Fx", où x est un nombre compris entre 2 et 6 (c'est-à-dire "Alt-F2").

Cela ouvrira une connexion utilisateur via une interface CLI.

Connectez-vous au terminal et utilisez la commande suivante pour vérifier le journal " Xorg ":

Sudo less /var/log/Xorg.0.log

Recherchez les entrées concernant le périphérique " vboxvideo ".

- Pour tout problème "Introuvable":

Vérifiez que le fichier "vboxvideo_drv.so" compilé à l'étape 2b se trouve dans le dossier approprié.

- Pour tout problème de "version incompatible":

Vérifiez que le fichier "vboxvideo_drv.so" approprié compilé à l'étape 2b est conçu pour être compatible avec la dernière version du serveur X disponible sur CentOS 7. (1.19.3 - Ver (23))

La version actuelle du serveur X est trouvée en utilisant la commande:

X -version

- Pour tout problème concernant la syntaxe incorrecte dans le " Xorg.conf ":

Vérifiez que le fichier " Xorg.conf " de l'étape 3A correspond à celui du dossier "/etc/X11/" de le système d'exploitation invité.

II. "Justification du processus"

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.

Ces fichiers de pilote étaient disponibles dans un référentiel d’OpenIndiana pour une version open-source de leur propre système d’exploitation basé sur Solaris, qui était toujours utilisable sous Linux basé sur RHEL. Inclus sont quelques liens de référence et un soutien supplémentaire.

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/
3
JayLop

Si vous êtes sur le serveur Xorg 1.19. *, Les ajouts invités à la VBox 5.1.14 ne prennent pas en charge Xorg 1.19 ou il pense qu'aucune vboxvideo * .so n'est censée être nécessaire avec Xorg 1.19. *. Voici ce que j'ai trouvé ...

L’ISO 5.1.14 a créé /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions contenant de nombreux fichiers vboxvideo_drv _ *. So (où '*' est un nombre à 2 ou 3 chiffres). Il existe également des liens symboliques pointant vers ce répertoire depuis/lib/VBoxGuestAdditions,/lib64/VBoxGuestAdditions,/usr/lib/VBoxGuestAdditions et/usr/lib64/VBoxGuestAdditions. Il existe un script /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions/vobxadd-x11, qui ne va que jusqu'à la version 1.18. * De Xorg, et le fichier vboxvideo_drv dont le nombre est le plus élevé est vboxvideo_drv_118.so.

Pour info, j'ai le serveur Xorg 1.19.3, et il échoue de la même manière que le système de l'OP.

22JUL2017: J'ai testé l'utilisation de vboxvideo_drv_118.so avec le serveur Xorg 1.19.3. Il a signalé le chargement de vboxvideo, puis échoué avec "(EE) vboxvideo: la version majeure du module ABI (20) ne correspond pas à la version du serveur (23)" et vboxvideo déchargé. Donc, VirtualBox 5.1.14 ne fournit certainement pas une vboxvideo * .so compatible avec Xorg 1.19.

J'ai également trouvé https://bugs.archlinux.org/task/52704 qui indique que fbdev est censé être une solution de secours, mais récemment rompu par les patchs 3 et 4.

Est-ce que quelqu'un avec la dernière VBox pourrait vérifier son script vboxadd-x11, s'il vous plaît?

2
DMW