Por que o X não pode encontrar meu driver vboxvideo?

7

Estou executando o Fedora 25 como convidado no VirtualBox 5.1.14 em um host do Windows 10. Eu instalei o xorg-x11-server-Xorg e as adições de guest do VBox (usando o ISO fornecido pelo próprio VirtualBox). As adições de convidado foram instaladas corretamente, depois de forçar as versões corretas do cabeçalho do kernel com dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r) . Não há erros no log de instalação do VBGA. dmesg mostra que vboxvideo foi carregado, systemctl mostra que vboxadd-service está rodando, vboxadd-x11 ativo / finalizado. A aceleração 3D está ativada nas configurações da VM.

No entanto, quando tento iniciar o X, recebo (EE) Failed to load module "vboxvideo" (module does not exist, 0) . Eu reiniciei várias vezes, eu reinstalei VBGA e X várias vezes, ele apenas se recusa a trabalhar. Muitas, muitas, muitas pesquisas descobriram muitas instâncias deste problema, mas a maioria parece girar em torno de a) instalar VBGA a partir de um pacote em vez do ISO incluído (mas eu usei o ISO), b) VBGA não instalar corretamente ( mas ele foi instalado corretamente quando eu tinha os cabeçalhos certos, e parece estar rodando), ou c) um /etc/X11/xorg.conf ruim (que eles recomendam deletar, mas eu não tenho um para começar). O resto são para versões muito mais antigas do VBox do que eu estou usando e foram corrigidos com uma simples atualização do VBox.

Por que o X não pode encontrar o driver vboxvideo e como resolvê-lo?

    
por Adrian 09.02.2017 / 17:26

2 respostas

2

Se você está no servidor Xorg 1.19. *, então as adições de convidado do VBox 5.1.14 não suportam Xorg 1.19, ou ele acha que não é necessário o vboxvideo * .so com o Xorg 1.19. *. Aqui está o que eu encontrei ...

O ISO 5.1.14 criou /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions contendo muitos arquivos vboxvideo_drv _ *. so (onde '*' é um número de 2 ou 3 dígitos). Além disso, há links simbólicos apontando para este diretório de / lib / VBoxGuestAdditions, / lib64 / VBoxGuestAdditions, / usr / lib / VBoxGuestAdditions e / usr / lib64 / VBoxGuestAdditions. Existe um script /opt/VBoxGuestAdditions-5.1.14/lib/VBoxGuestAdditions/vobxadd-x11, que só vai até a versão 1.18. * Do Xorg, e o arquivo vboxvideo_drv com o maior número é vboxvideo_drv_118.so.

FYI, eu tenho o servidor Xorg 1.19.3, e ele falha da mesma forma que o sistema do OP.

22JUL2017: Eu testei usando vboxvideo_drv_118.so com o servidor Xorg 1.19.3. Ele relatou o carregamento de vboxvideo, depois falhou com "(EE) vboxvideo: o módulo ABI versão principal (20) não corresponde à versão do servidor (23)" e vboxvideo descarregado. Portanto, o VirtualBox 5.1.14 definitivamente não fornece um vboxvideo * .so que seja compatível com o Xorg 1.19.

Eu também achei link que fala sobre fbdev sendo supostamente um substituto, mas recentemente foi quebrado por patches 3 & ; 4.

Alguém com o VBox mais recente pode verificar o script vboxadd-x11, por favor?

    
por 18.07.2017 / 09:02
2

Eu criei uma conta só porque estava com os mesmos problemas e descobri algumas coisas que podem ajudar outras pessoas.

Então, para começar, estou executando uma VM do CentOS 7 no VirtualBox 4.xx e o driver de vídeo é reconhecido com minhas adições de convidado trabalhando quase completamente (auto-redimensionar ainda está quebrado, mas eu posso viver com isso por enquanto).

Obtendo capacidades de vídeo em uma VM do CentOS 7 (pode ser modificada para se aplicar a outras distribuições Linux também):

1. Faça o download e instale uma versão compatível de adições ao convidado do VirtualBox

Faça o download de uma versão mais recente ou feita para o programa host do VirtualBox atualmente instalado

Pesquise no repositório de downloads do VirtualBox: link

Depois de selecionar uma pasta, procure o arquivo "VBoxGuestAdditions x.xx.iso" e baixe-o

B. Instalar dependências de adições de convidado

Inicie a VM e monte o arquivo .iso baixado como um dispositivo de CD / DVD no painel Dispositivos da VM.

Existem alguns pré-requisitos para instalar as adições de comentários que estão disponíveis através do programa de repositório de software nativo do sistema operacional.

Para o Linux baseado em RHEL, use o seguinte com "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

Certifique-se de digitar "yes" para os comandos de instalação ou use o sinalizador de opção "-y"

C. Instalar adições de convidado

Abra um terminal e use o comando "cd" para navegar até a raiz da pasta de CD / DVD.

Execute o seguinte comando para iniciar o instalador:

sudo sh VBoxLinuxAdditions.run

Se a criação do módulo principal do kernel Guest Additions falhar, verifique se todos os pré-requisitos foram instalados corretamente. Caso contrário, reinstale-os e tente executar o instalador novamente.

2. Obtendo, compilando e instalando o driver "vboxvideo"

Fazendo o download dos arquivos de origem para compilação

O arquivo no link abaixo é um tarball compactado dos arquivos de origem do driver "vboxvideo":

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

B. Compilando e instalando o driver "vboxvideo"

Descomprima os arquivos baixados e navegue pelo terminal na pasta "xf86-video-vbox -..."

Execute o seguinte no terminal:

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

Estes comandos instalarão dois arquivos "vboxvideo_drv.so" e "vboxvideo_drv.la" no diretório do seu módulo Xorg. Nota: O módulo do kernel "vboxvideo.ko" é instalado com o Guest Additions e não precisa ser ajustado para isso.

3. Configurando a Configuração do Servidor X

Criando / baixando o arquivo Xorg.conf

O VirtualBox Guest Additions é configurado para gerar seu próprio arquivo Xorg.conf no final da instalação. Este processo é buggy em algumas versões. Um link para um arquivo Xorg.conf em funcionamento é fornecido abaixo.

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

B. Inserindo o arquivo " Xorg.conf " para uso

Uma vez baixado ou copiado, copie o arquivo para a pasta X11.

sudo cp xorg.conf/etc/X11/

C. Procedimentos de Fechamento

Reinicie a VM dentro do sistema operacional convidado e permita que ela seja totalmente inicializada. Agora deve haver vídeo e outros recursos de convidado.

Para verificar isso, faça o login no sistema operacional e abra o menu "Configurações" na seção "Displays".

O rótulo do monitor deve ler "VBX" e clicar no rótulo permitirá o ajuste da resolução da tela.

Notas adicionais:

eu. "Tela preta / congelada na inicialização"

Se o procedimento de inicialização parar após a conclusão da guia, alterne para uma janela de terminal diferente pressionando simultaneamente as teclas "Alt" e "Fx", em que x é um número de 2 a 6 (isto é, "Alt-F2"). / p>

Isso abrirá um login de usuário por meio de uma interface CLI.

Faça o login no terminal e use o seguinte comando para verificar o log " Xorg ":

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

Procure por entradas relacionadas ao dispositivo " vboxvideo ".

- Para qualquer problema "Não encontrado":

Verifique se o arquivo "vboxvideo_drv.so" compilado na Etapa 2b está na pasta correta.

- Para qualquer problema de "Versão incompatível":

Verifique se o arquivo "vboxvideo_drv.so" correto foi compilado na Etapa 2b, pois isso é compatível com a versão mais recente do servidor X disponível no CentOS 7. (1.19.3 - Ver (23))

A versão atual do X Server é encontrada usando o comando:

X -version

- Para qualquer problema relacionado a sintaxe incorreta no " Xorg.conf ":

Verifique se o arquivo " Xorg.conf " na Etapa 3A corresponde ao da pasta " / etc / X11 / " no sistema operacional convidado.

II. "Justificativa por trás do processo"

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.

Esses arquivos de driver estavam disponíveis em um repositório da OpenIndiana para uma versão de código aberto do seu próprio SO baseado em Solaris, que ainda era utilizável no Linux baseado em RHEL. Incluem-se alguns links de referência e suporte adicional.

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/
    
por 09.03.2018 / 01:28