Faça com que os drivers de mesa se tornem independentes da instalação anterior da nvidia

0

Eu tinha o driver nvidia instalado no meu Ubuntu Server 16.04 . Eu preciso executar algum aplicativo que precisa de OpenGL, mas desde que a máquina é "sem cabeça" uma tela virtual deve ser criada.

Eu tentei fazer isso com Xvfb , mas o aplicativo falha com o erro ... não é possível ... GLX ... . Internet em ~ 50 lugares diz que é totalmente impossível conseguir uma tela virtual com drivers nvidia instalados.

Então eu desinstalei drivers com apt remove --purge nvidia * Ele não resolveu o problema, então eu removi os arquivos .so da nvidia presentes em ldd / usr / bin / glxinfo para de alguma forma forçar Xvfb usa drivers mesa , então agora eu tenho:

# ldd /usr/bin/glxinfo
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f37f7f50000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f37f7c16000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f37f784b000)
    libnvidia-tls.so.340.102 => not found
    libnvidia-glcore.so.340.102 => not found
    libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f37f7638000)

agora xvfb e glxinfo falham com o erro ao carregar bibliotecas compartilhadas: libnvidia-tls.so.340.102: não é possível abrir o arquivo de objeto compartilhado: Nenhum arquivo ou diretório erro: (

ldconfig não ajuda tão bem quanto apt install --reinstall libgl1-mesa-dri xvfb mesa-utils

Existe uma maneira de se livrar dos remanescentes dos drivers da nvidia? ou fazer xvfb funcionar junto com a presença de drivers OpenCL da nvidia?

    
por Slav 01.07.2017 / 22:12

1 resposta

0

sudo nvidia-uninstall era a melhor maneira de desinstalar o driver do que o apt remove --purge nvidia * . (o driver foi instalado com o sudo ./NVIDIA-Linux-x86_64-340.102.run)

Depois disso, nenhuma das glxinfo , Xvfb etc. não funcionava devido a:

ldd /usr/lib/Xvfb
    ...
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd51461c000)
    libGL.so.1 => not found
    libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fd514374000)
    ...

Estava tentando consertá-lo com diferentes tentativas de instalação do libgl1-mesa-dri ... , mas parece que o ldconfig corrigiu isso automaticamente.

Agora posso executar qualquer aplicativo OpenGL com apenas Xvfb-run -s "-screen 0 640 x 480 x 24" appname sem problemas ... no GLX extension ... ! :)

Espero que seja útil para alguém que esteja tentando executar o aplicativo OpenGL em headless servidor Ubuntu com drivers nvidia instalados anteriormente.

    
por Slav 02.07.2017 / 10:05