X não inicia com placa gráfica Intel nVIDIA

2

Eu corro o Kubuntu 16.04 (acabei de instalar do ISO). Meu computador tem gráficos Intel chip, que é o que eu uso para o monitor. Eu também tenho um cartão GTX 650 Ti Boost que eu não quero usar para exibição (apenas para o trabalho CUDA).

  • Quando o driver nVIDIA 361.62 ou 367.35 (o mais recente) está instalado, o Xorg carrega para uma tela preta (mas quando executo binários que usam o CUDA, execute bem).
  • Quando o driver da nVIDIA não está instalado, o Xorg carrega bem; ele carrega os módulos nouveau (mesmo que supostamente eu não precise deles) - mas os aplicativos CUDA não rodam.

O erro do Xorg com o driver nVIDIA instalado é:

(EE) NOUVEAU(G0): [XvMC] Failed to initialize extension.
...
(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

Se eu desinstalar o driver nVIDIA, o X funcionará corretamente novamente (citarei algumas mensagens de log aqui em breve).

Como posso fazer o X funcionar e o CUDA instalado (por exemplo, drivers instalados e funcionando)?

Due disclosure: Eu tinha perguntado sobre a mesma questão sobre o Debian Stretch no unix.SX, mas o deletei desde que eu mudei para o Kubuntu.

Atualização:

Então eu desinstalei o Nouveau completamente para explorar isso ainda mais. Quando eu gero um xorg.conf, eu recebo (recortado linhas e seções relacionadas a dispositivos de entrada e arquivos):

Section "ServerLayout"
       Identifier     "X.org Configured"
       Screen      0  "Screen0" 0 0
       Screen      1  "Screen1" RightOf "Screen0"
EndSection

Section "Module"
       Load  "glx"
EndSection

section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Monitor"
       Identifier   "Monitor1"
       VendorName   "Monitor Vendor"
       ModelName    "Monitor Model"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "fbdev"
        BusID       "PCI:0:2:0"
EndSection

Section "Device"
       Identifier  "Card1"
       Driver      "fbdev"
       BusID       "PCI:2:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

Section "Screen"
       Identifier "Screen1"
       Device     "Card1"
       Monitor    "Monitor1"
       SubSection "Display"
               Viewport   0 0
               Depth     24
       EndSubSection
EndSection

(note que PCI 2: 0: 0 é a placa nVIDIA e 0: 2: 0 é a placa gráfica on-chip.)

Agora,

  • Se eu usar essa configuração com os drivers nVDIAI - tela em branco.
  • Se eu comentar as seções referentes à placa nVIDIA (cartão 1, monitor 1) e alterar a seção ServerLayout - tela em branco.
  • Se eu desabilitar o carregamento do (s) módulo (s) GLX, que produzem erros na tela de log em branco (e não está claro se o carregamento do módulo é o problema)
  • Eu até mesmo entrei no /usr/lib/xorg/modules , removendo o libglx.so da nvidia e / ou restaurando a tela em branco que não é nvidia libglx.so.

No entanto, recebo mensagens de erro diferentes. Com o subconjunto mais extenso do acima, tenho:

[  1952.022] (==) Log file: "/var/log/Xorg.0.log", Time: Wed Aug 10 10:07:20 2016
[  1952.022] (==) Using config file: "/etc/X11/xorg.conf"
[  1952.022] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[  1952.022] (==) ServerLayout "X.org Configured"
[  1952.022] (**) |-->Screen "Screen0" (0)
[  1952.022] (**) |   |-->Monitor "Monitor0"
[  1952.022] (**) |   |-->Device "Card0"
[  1952.022] (**) |-->Input Device "Mouse0"
[  1952.022] (**) |-->Input Device "Keyboard0"
[  1952.022] (==) Automatically adding devices
[  1952.022] (==) Automatically enabling devices
[  1952.022] (==) Automatically adding GPU devices
...
  1952.024] (II) xfree86: Adding drm device (/dev/dri/card1)
[  1952.024] (II) xfree86: Adding drm device (/dev/dri/card0)
[  1952.026] (--) PCI:*(0:0:2:0) 8086:0162:1565:110f rev 9, Mem @ 0xf7400000/4194304, 0xd0000000/268435456, I/O @ 0x0000f000/64
[  1952.026] (--) PCI: (0:2:0:0) 10de:11c2:19da:1281 rev 161, Mem @ 0xf6000000/16777216, 0xe0000000/134217728, 0xe8000000/33554432, I/O @ 0x0000e000/128, BIOS @ 0x????????/524288
[  1952.026] (II) LoadModule: "glx"
[  1952.026] (II) Loading /usr/lib/xorg/modules/extensions-nvidia-leave-me-alone/libglx.so
[  1952.026] (II) Module glx: vendor="X.Org Foundation"
[  1952.026]    compiled for 1.18.3, module version = 1.0.0
[  1952.026]    ABI class: X.Org Server Extension, version 9.0
[  1952.026] (==) AIGLX enabled
[  1952.026] (II) LoadModule: "fbdev"
[  1952.027] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[  1952.027] (II) Module fbdev: vendor="X.Org Foundation"
[  1952.027]    compiled for 1.18.1, module version = 0.4.4
[  1952.027]    Module class: X.Org Video Driver
[  1952.027]    ABI class: X.Org Video Driver, version 20.0
[  1952.027] (II) FBDEV: driver for framebuffer: fbdev
[  1952.033] (II) Loading sub module "fbdevhw"
[  1952.033] (II) LoadModule: "fbdevhw"
[  1952.033] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[  1952.033] (II) Module fbdevhw: vendor="X.Org Foundation"
[  1952.033]    compiled for 1.18.3, module version = 0.0.2
[  1952.033]    ABI class: X.Org Video Driver, version 20.0
[  1952.033] (**) FBDEV(0): claimed PCI slot 0@0:2:0
[  1952.033] (II) FBDEV(0): using default device
[  1952.033] (==) FBDEV(0): Depth 24, (==) framebuffer bpp 32
[  1952.033] (==) FBDEV(0): RGB weight 888
[  1952.033] (==) FBDEV(0): Default visual is TrueColor
[  1952.033] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[  1952.033] (II) FBDEV(0): hardware: inteldrmfb (video memory: 8100kB)
[  1952.033] (II) FBDEV(0): checking modes against framebuffer device...
[  1952.033] (II) FBDEV(0): checking modes against monitor...
[  1952.033] (--) FBDEV(0): Virtual size is 1920x1080 (pitch 1920)
[  1952.033] (**) FBDEV(0):  Built-in mode "current"
[  1952.033] (==) FBDEV(0): DPI set to (96, 96)
[  1952.033] (II) Loading sub module "fb"
[  1952.033] (II) LoadModule: "fb"
[  1952.033] (II) Loading /usr/lib/xorg/modules/libfb.so
[  1952.034] (II) Module fb: vendor="X.Org Foundation"
[  1952.034]    compiled for 1.18.3, module version = 1.0.0
[  1952.034]    ABI class: X.Org ANSI C Emulation, version 0.4
[  1952.034] (**) FBDEV(0): using shadow framebuffer
[  1952.034] (II) Loading sub module "shadow"
[  1952.034] (II) LoadModule: "shadow"
[  1952.034] (II) Loading /usr/lib/xorg/modules/libshadow.so
[  1952.034] (II) Module shadow: vendor="X.Org Foundation"
[  1952.034]    compiled for 1.18.3, module version = 1.1.0
[  1952.034]    ABI class: X.Org ANSI C Emulation, version 0.4
[  1952.034] (==) Depth 24 pixmap format is 32 bpp
[  1952.079] (==) FBDEV(0): Backing store enabled
[  1952.080] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
... repeated many times
[  1952.082] (==) FBDEV(0): DPMS enabled
[  1952.082] (==) RandR enabled
[  1952.087] (II) SELinux: Disabled on system
[  1952.087] (II) AIGLX: Screen 0 is not DRI2 capable
[  1952.087] (EE) AIGLX: reverting to software rendering
[  1952.101] (EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: _glapi_tls_Dispatch)
[  1952.101] (EE) GLX: could not load software renderer
[  1952.101] (II) GLX: no usable GL providers found for screen 0
...
[  2201.199] (II) config/udev: removing GPU device /sys/devices/pci0000:00/0000:00:01.1/0000:02:00.0/drm/card1 /dev/dri/card1
[  2201.199] xf86: remove device 0 /sys/devices/pci0000:00/0000:00:01.1/0000:02:00.0/drm/card1
  • Eu também tentei forçar o uso do driver "intel". Isso funciona quando os drivers da nVIDIA não estão instalados, mas é a mesma tela em branco quando estão.
por einpoklum 09.08.2016 / 11:12

2 respostas

0

Curiosamente, este problema não é solucionável, já que não é realmente o problema: na verdade, X não é uma triagem em branco; é o gerenciador de exibição do X que o Kubuntu usa como padrão - sddm .

Se você substituir sddm por, digamos, lxdm , verá a tela de login (pelo menos - usando o driver intel e o xorg.conf editado; provavelmente mesmo sem ele), e você estará capaz de fazer o login.

Este não é o fim de seus problemas, no entanto. Se você iniciar uma sessão do KDE, o Plasma irá falhar sem a menor cerimônia. A sessão continuará "funcionando" no sentido de que os aplicativos restaurados aparecerão e funcionarão adequadamente, e o Alt + F2 para lançamento também funcionará.

Se, no entanto, você instalar outro ambiente de área de trabalho (por exemplo, o LXDE) e começar isso, ele deverá funcionar.

Irritante.

    
por einpoklum 10.08.2016 / 12:10
0

Acabei de instalar o CUDA no Ubuntu 16.04 com sucesso e usando apenas o intel skylake gpu para exibição. A instalação oficial documento é melhor agora, muito útil. Você deve dar uma olhada na configuração avançada e no Faq. Isso resolve o meu problema. Eu escolhi a instalação do Runfile. (Seção 4.2) As sequências são minhas dicas:

  1. Remova o driver noveou primeiro; verifique com lsmod |grep noveou
  2. pare X, execute cuda-xx.run --no-opengl-libs
  3. copie a "verificação do nó do dispositivo" script e torne-o um script de inicialização (copio em /etc/rc*.d/ , cuidado com a regra de nomenclatura)
  4. fonte do script anterior, verifique com ls /dev/nvidia* . Se tudo estiver bem, a cuda deve funcionar.
  5. agora edite xorg.conf , removendo a placa de vídeo nVIDIA.

se vir [drm] não conseguir abrir o dispositivo drm para null, verifique e corrija com o passo 4.

Desde que eu uso o skylake da Intel, eu instale o firmware drm, guc do 01.org. (verifique com lsmod | grep intel ) ou lspci -k | grep -A 2 VGA Em xorg.conf ,

Section "Device"
        Identifier  "Card0"
        Driver      "intel"
        BusID       "PCI:0:2:0"
EndSection
    
por 程柏硯 18.10.2016 / 18:02