Почему X не может найти мой драйвер vboxvideo?

10

Я использую Fedora 25 в качестве гостя в VirtualBox 5.1.14 на хосте Windows 10. Я установил xorg-x11-server-Xorg и гостевые дополнения VBox (используя ISO, предоставленный самим VirtualBox). Гостевые дополнения установились нормально, после принудительной установки правильных версий заголовков ядра с помощью dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r). В журнале установки VBGA нет ошибок. dmesg показывает, что vboxvideo загрузилось, systemctl показывает, что vboxadd-сервис запущен, vboxadd-x11 активен / завершен. 3D-ускорение включено в настройках ВМ.

Однако когда я пытаюсь запустить X, я получаю (EE) Failed to load module "vboxvideo" (module does not exist, 0). Я перезагружался несколько раз, я переустанавливал VBGA и X несколько раз, он просто отказывался работать. Много, много, много поисков выявили много случаев этой проблемы, но большинство, кажется, вращаются вокруг либо: а) установки VBGA из пакета вместо включенного ISO (но я использовал ISO), б) VBGA не удалось установить правильно ( но он установился нормально, когда у меня были правильные заголовки, и он, кажется, работает), или c) плохой /etc/X11/xorg.conf (который они рекомендуют удалить, но у меня его нет для начала). Остальные предназначены для гораздо более старых версий VBox, чем я использую, и были исправлены с помощью простого обновления VBox.

Почему X не может найти драйвер vboxvideo и как его исправить?

Адриан
источник
У меня та же проблема с гостем Arch в 5.0.18, где я установил virtualbox-guest-utilsпакет, но получаю ту же ошибку (не могу найти vboxvideo) при запуске X. Я также заметил, что файл, /usr/lib/xorg/modules/drivers/vboxvideo_drv.soкажется, отсутствует, хотя /usr/lib/xorg/modules/dri/vboxvideo_dri.soприсутствует.
Джейк

Ответы:

3

Я создал учетную запись только потому, что у меня были те же проблемы, и я выяснил некоторые вещи по пути, которые могут помочь другим.

Итак, для начала я использую виртуальную машину CentOS 7 в VirtualBox 4.xx, и видеодрайвер распознается с почти полностью работающими гостевыми дополнениями (автоматическое изменение размера все еще не работает, но я пока могу с этим справиться).

Получение возможностей видео в виртуальной машине CentOS 7 (может быть изменено и для других дистрибутивов Linux):

1. Загрузите и установите совместимую версию VirtualBox Guest Additions

A. Загрузите версию, новее или сделанную для установленной в данный момент программы-хоста VirtualBox

Поиск в хранилище VirtualBox: https://download.virtualbox.org/virtualbox/

После выбора папки найдите файл «VBoxGuestAdditions x.xx.iso» и загрузите его.

Б. Установите гостевые дополнения

Запустите виртуальную машину и смонтируйте загруженный файл .iso как устройство CD / DVD на панели «Устройства виртуальной машины».

Есть несколько предварительных условий для установки гостевых дополнений, которые доступны через собственную программу-репозиторий ОС.

Для Linux на основе RHEL используйте следующее с "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

Обязательно наберите «yes» для команд установки или используйте флаг «-y»

C. Установите гостевые дополнения

Откройте терминал и используйте команду «cd», чтобы перейти к корню папки CD / DVD.

Запустите следующую команду, чтобы запустить установщик:

sudo sh VBoxLinuxAdditions.run

Если сборка основного модуля ядра Guest Additions не удалась, убедитесь, что все необходимые компоненты установлены правильно. В противном случае переустановите их и попробуйте снова запустить установщик.

2. Получение, компиляция и установка драйвера vboxvideo

А. Скачивание исходных файлов для компиляции

Файл по ссылке ниже представляет собой сжатый архив исходных файлов драйвера "vboxvideo":

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

Б. Компиляция и установка драйвера "vboxvideo"

Распакуйте загруженные файлы и перейдите в терминал «xf86-video-vbox -...».

Запустите следующее в терминале:

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

Эти команды установят два файла "vboxvideo_drv.so" и "vboxvideo_drv.la" в каталог вашего модуля Xorg. Примечание. Модуль ядра "vboxvideo.ko" устанавливается вместе с гостевыми дополнениями и не требует настройки для этого.

3. Настройка конфигурации X-сервера

А. Создание / загрузка файла Xorg.conf

VirtualBox Guest Additions настроен для создания своего собственного файла Xorg.conf в конце установки. Этот процесс глючит в некоторых версиях. Ссылка на рабочий файл Xorg.conf приведена ниже.

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

Б. Вставка файла " Xorg.conf " для использования

После загрузки или копирования скопируйте файл в папку X11.

sudo cp xorg.conf/etc/X11/

C. Процедуры закрытия

Перезапустите виртуальную машину из гостевой ОС и дайте ей полностью загрузиться. Теперь должно быть видео и другие гостевые возможности.

Чтобы убедиться в этом, войдите в ОС и откройте меню «Настройки» в разделе «Дисплеи».

На этикетке монитора должно отображаться «VBX», а нажатие на этикетку позволит настроить разрешение экрана.

Дополнительные замечания:

I. «Черный / замороженный экран при загрузке»

Если процедура загрузки зависает после завершения руководства, переключитесь на другое окно терминала, нажав одновременно клавиши «Alt» и «Fx», где x - это число от 2 до 6 (т. Е. «Alt-F2»).

Это откроет логин пользователя через интерфейс CLI.

Войдите в терминал и используйте следующую команду для проверки журнала « Xorg »:

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

Посмотрите на любые записи, касающиеся устройства " vboxvideo ".

- По любым вопросам «Не найдено»:

Убедитесь, что файл «vboxvideo_drv.so», скомпилированный на шаге 2b, находится в правильной папке.

- При возникновении проблем с «Несовместимой версией»:

Убедитесь, что правильный файл "vboxvideo_drv.so" скомпилирован на шаге 2b, поскольку он должен быть совместим с последней версией X-сервера, доступной в CentOS 7. (1.19.3 - Ver (23))

Текущая версия X-сервера находится с помощью команды:

X -version

- По любым вопросам, связанным с неправильным синтаксисом в « Xorg.conf »:

Убедитесь, что файл « Xorg.conf » на шаге 3A совпадает с файлом в папке « / etc / X11 / » гостевой ОС.

II. «Обоснование процесса»

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.

Эти файлы драйверов были доступны из репозитория OpenIndiana для версии с открытым исходным кодом их собственной ОС на базе Solaris, которая все еще использовалась в Linux на основе RHEL. Включены некоторые ссылки и дальнейшая поддержка.

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
источник
2

Если вы работаете на сервере Xorg 1.19. *, То либо гостевые дополнения VBox 5.1.14 не поддерживают Xorg 1.19, либо он считает, что vboxvideo * .so не требуется в Xorg 1.19. *. Вот что я нашел ...

В 5.1.14 ISO были созданы /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions, содержащие множество файлов vboxvideo_drv _ *. So (где '*' - это двух- или трехзначное число). Также есть ссылки, указывающие на этот каталог из / lib / VBoxGuestAdditions, / lib64 / VBoxGuestAdditions, / usr / lib / VBoxGuestAdditions и / usr / lib64 / VBoxGuestAdditions. Существует скрипт /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions/vobxadd-x11, который подходит только для версии Xorg 1.18. *, А файл vboxvideo_drv с наибольшим числом - vboxvideo_drv_118.so.

К вашему сведению, у меня Xorg server 1.19.3, и он выходит из строя так же, как и система OP.

22 июля, 2017: Я протестировал использование vboxvideo_drv_118.so с сервером Xorg 1.19.3. Он сообщил о загрузке vboxvideo, затем завершился ошибкой с «(EE) vboxvideo: основная версия ABI модуля (20) не соответствует версии сервера (23)» и выгрузил vboxvideo. Поэтому VirtualBox 5.1.14 определенно не предоставляет vboxvideo * .so, который совместим с Xorg 1.19.

Я также нашел https://bugs.archlinux.org/task/52704, в котором говорится о том, что fbdev должен быть запасным вариантом, но недавно был сломан патчами 3 и 4.

Может кто-нибудь с последней версией VBox проверить свой скрипт vboxadd-x11, пожалуйста?

DMW
источник