为什么X找不到我的vboxvideo驱动程序?


10

我在Windows 10主机上以VirtualBox 5.1.14的客人身份运行Fedora 25。我已经安装了xorg-x11-server-Xorg和VBox来宾添加项(使用VirtualBox本身提供的ISO)。在使用强制正确的内核头版本之后,来宾添加项安装良好dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r)。VBGA安装日志中没有错误。dmesg显示vboxvideo已加载,systemctl显示vboxadd-service正在运行,vboxadd-x11已激活/已退出。在VM设置中启用了3D加速。

但是,当我尝试启动X时,我得到了(EE) Failed to load module "vboxvideo" (module does not exist, 0)。我已经重新启动了多次,我已经重新安装了VBGA和X多次,它只是拒绝工作。许多很多搜索都出现了许多此问题的实例,但大多数似乎都围绕以下两种情况:a)从软件包而不是随附的ISO安装VBGA(但我使用了ISO),b)VBGA无法正确安装(但是一旦我有了正确的头文件,它就可以很好地安装,并且看起来正在运行),或者c)坏的/etc/X11/xorg.conf(他们建议删除该文件,但我没有一个开始)。其余的用于比我正在使用的VBox更旧的版本,并通过简单的VBox更新进行了修复。

为什么X找不到vboxvideo驱动程序,我如何理顺它?


我在5.0.18中的Arch guest虚拟机中遇到了同样的问题,在该virtualbox-guest-utils软件包中我已经安装了软件包,但是在启动X时遇到相同的错误(找不到vboxvideo)。我还注意到,文件存在时/usr/lib/xorg/modules/drivers/vboxvideo_drv.so似乎丢失了/usr/lib/xorg/modules/dri/vboxvideo_dri.so
杰克

Answers:


3

我创建一个帐户的原因只是我遇到了同样的问题,并且在此过程中发现了一些可能对其他人有帮助的事情。

因此,首先,我在VirtualBox 4.xx中运行CentOS 7 VM,并且我的来宾添加几乎可以完全正常地识别视频驱动程序(自动调整大小仍然无效,但是我现在可以使用它)。

在CentOS 7 VM中获得视频功能(也可以进行修改以应用于其他Linux发行版):

1.下载并安装VirtualBox Guest Additions的兼容版本

A.下载一个比当前安装的VirtualBox主机程序更新的版本

搜索VirtualBox下载存储库:https : //download.virtualbox.org/virtualbox/

选择文件夹后,查找“ VBoxGuestAdditions x.xx.iso”文件并下载

B.安装来宾添加项依赖项

启动虚拟机,然后在“虚拟机设备”窗格中将下载的.iso文件作为CD / DVD设备挂载。

必须通过操作系统的本机软件存储库程序安装Guest Additions,才能满足一些先决条件。

对于基于RHEL的Linux,将以下内容与“ 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”驱动程序

A.下载源文件进行编译

以下链接中的文件是“ vboxvideo”驱动程序源文件的压缩包:

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

B.编译并安装“ 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”与Guest Additions一起安装,不需要为此进行调整。

3.设置X服务器配置

A.创建/下载Xorg.conf文件

在安装结束时,将VirtualBox Guest Additions设置为生成自己的Xorg.conf文件。在某些版本中,此过程存在错误。下面提供了指向有效的Xorg.conf文件的链接。

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

B.插入“ Xorg.conf ”文件以供使用

下载或复制后,将文件复制到X11文件夹。

sudo cp xorg.conf/etc/X11/

C.关闭程序

从Guest OS内部重新启动VM,并使其完全启动。现在应该具有视频和其他来宾功能。

要验证这一点,请登录操作系统并在“显示”部分打开“设置”菜单。

监视器标签应显示为“ VBX”,单击标签将允许调整屏幕分辨率。

补充笔记:

I.“启动时黑屏/冻结屏幕”

如果完成指南后引导过程挂起,请同时按“ Alt”和“ Fx”键(其中x是2到6之间的数字,即“ Alt-F2”)切换到另一个终端窗口。

这将通过CLI界面打开用户登录名。

登录到终端并使用以下命令检查“ Xorg ”日志:

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

查找有关“ vboxvideo ”设备的所有条目。

-对于任何“未找到”问题:

验证在步骤2b中编译的“ vboxvideo_drv.so”文件在正确的文件夹中。

-对于任何“不兼容版本”问题:

验证在步骤2b中编译的正确的“ vboxvideo_drv.so”文件,因为该文件与CentOS 7上可用的X服务器的最新版本兼容。(1.19.3-Ver(23))

使用以下命令可以找到当前版本的X Server:

X -version

-有关“ Xorg.conf ”中语法错误的任何问题:

验证步骤3A中的“ Xorg.conf ”文件与来宾OS上“ / etc / X11 / ”文件夹中的文件匹配。

二。“流程背后的理论依据”

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的操作系统的开源版本,该版本仍可在基于RHEL的Linux中使用。其中包括一些参考链接和进一步的支持。

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

如果您使用的是Xorg服务器1.19。*,则VBox来宾添加5.1.14不支持Xorg 1.19,或者它认为Xorg 1.19。*应该不需要vboxvideo * .so。这是我发现的...

ISO创建的5.1.14 /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions包含许多vboxvideo_drv _ *。so文件(其中“ *”是2或3位数字)。另外,还有/ link / 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服务器1.19.3,它的失败方式与OP的系统相同。

2017年7月22日:我在xorg服务器1.19.3上使用vboxvideo_drv_118.so进行了测试。它报告了加载vboxvideo,然后失败,并显示“(EE)vboxvideo:模块ABI主版本(20)与服务器版本(23)不匹配”,并卸载了vboxvideo。因此,VirtualBox 5.1.14绝对不提供与Xorg 1.19兼容的vboxvideo * .so。

我还发现https://bugs.archlinux.org/task/52704,其中谈到fbdev应该是一个后备,但最近被补丁3和4破坏了。

拥有最新VBox的人可以检查他们的vboxadd-x11脚本吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.