it-swarm.com.de

X startet nicht mit Intel On-Board-Grafikkarte + nVIDIA-Karte

Ich starte Kubuntu 16.04 (habe es gerade von der ISO installiert). Mein Computer verfügt über integrierte Intel-Grafik, die ich für das Display verwende. Ich habe auch eine GTX 650 Ti Boost-Karte, die ich NICHT für das Display verwenden möchte (nur für CUDA-Arbeiten).

  • Wenn der nVIDIA-Treiber 361.62 oder 367.35 (die neueste Version) installiert ist, wird Xorg auf einen schwarzen Bildschirm geladen (aber wenn ich Binärdateien verwende, die CUDA verwenden, funktioniert dies einwandfrei).
  • Wenn der nVIDIA-Treiber nicht installiert ist, wird Xorg problemlos geladen. es lädt die Nouveau-Module (obwohl ich sie angeblich nicht brauche) - aber CUDA-Apps laufen nicht.

Der Xorg-Fehler mit dem installierten nVIDIA-Treiber ist:

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

Wenn ich den nVIDIA-Treiber deinstalliere, funktioniert X wieder ordnungsgemäß (in Kürze werden hier einige Protokollmeldungen angegeben).

Wie kann ich sowohl X als auch CUDA zum Laufen bringen (d. H. Treiber installiert und funktionsfähig)?

Hinweis: Ich hatte dieselbe Frage zu Debian Stretch auf unix.SX gestellt, sie jedoch gelöscht, da ich gerade zu Kubuntu gewechselt bin.


pdate:

Also habe ich Nouveau komplett deinstalliert, um dies weiter zu untersuchen. Wenn ich eine xorg.conf generiere, erhalte ich (in Bezug auf das Eingabegerät abgeschnittene Zeilen und Abschnitte sowie Dateien):

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

(Beachten Sie, dass PCI 2: 0: 0 die nVIDIA-Karte und 0: 2: 0 die On-Chip-Grafik ist.)

Jetzt,

  • Wenn ich diese Konfiguration mit den nVDIAI-Treibern verwende - leerer Bildschirm.
  • Wenn ich die Abschnitte bezüglich der nVIDIA-Karte (Karte 1, Monitor 1) auskommentiere und den Abschnitt ServerLayout ändere - leerer Bildschirm.
  • Wenn ich das Laden der GLX-Module deaktiviere, was zu Fehlern im Protokoll führt - leerer Bildschirm (und es ist nicht klar, dass das Laden der Module das Problem ist)
  • Ich ging sogar in den /usr/lib/xorg/modules, entfernte die Datei libglx.so von nvidia und/oder stellte die Nicht-NVIDIA-Datei libglx.so wieder her - immer noch ein leerer Bildschirm.

Ich erhalte jedoch unterschiedliche Fehlermeldungen. Mit der umfangreichsten Teilmenge der oben genannten habe ich:

[  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 [email protected]: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
  • Ich habe auch versucht, die Verwendung des Treibers "Intel" zu erzwingen. Dies funktioniert, wenn die nVIDIA-Treiber nicht installiert sind, es ist jedoch derselbe alte leere Bildschirm, in dem sie installiert sind.
2
einpoklum

Interessanterweise ist dieses Problem nicht lösbar, da es nicht wirklich das Problem ist: Tatsächlich ist X kein Blindversuch; Es ist der X-Display-Manager. Kubuntu verwendet standardmäßig - sddm.

Wenn Sie sddm durch lxdm ersetzen, wird der Anmeldebildschirm angezeigt (zumindest - mit dem Intel-Treiber und dem bearbeiteten xorg.conf; wahrscheinlich sogar ohne), und Sie kann mich einloggen.

Dies ist jedoch nicht das Ende Ihrer Probleme. Wenn Sie eine KDE-Sitzung starten, stürzt Plasma kurzerhand ab. Die Sitzung wird weiterhin in dem Sinne "funktionieren", dass wiederhergestellte Apps gestartet werden und ordnungsgemäß funktionieren, und Alt + F2 zum Starten wird ebenfalls funktionieren.

Wenn Sie jedoch eine andere Desktop-Umgebung (z. B. LXDE) installieren und diese starten, sollte dies funktionieren.

Nervig.

0
einpoklum

Ich habe CUDA gerade erfolgreich auf Ubuntu 16.04 installiert und verwende nur Intel Skylake GPU für die Anzeige. Die offizielle Installation document ist jetzt besser, sehr hilfreich. Sie sollten sich das erweiterte Setup und die häufig gestellten Fragen ansehen. Das behebt mein Problem. Ich habe mich für die Installation von Runfile entschieden. (Abschnitt 4.2) Hier sind meine Tipps:

  1. Entfernen Sie zuerst den neuen Treiber. überprüfe mit lsmod |grep noveou
  2. stoppe X, führe cuda-xx.run --no-opengl-libs aus
  3. kopieren Sie die "Geräteknotenüberprüfung" Skript und machen Sie es zu einem Startskript (ich kopiere es in /etc/rc*.d/, Beachtung der Namensregel)
  4. quelle das vorherige Skript, überprüfen Sie mit ls /dev/nvidia*. Wenn alles in Ordnung ist, sollte Cuda funktionieren.
  5. bearbeiten Sie nun xorg.conf und entfernen Sie die nVIDIA-Grafikkarte.

wenn Sie sehen, dass [drm] das drm-Gerät nicht für null öffnen konnte, überprüfen und korrigieren Sie dies mit Schritt 4.

Da ich Intel Skylake verwende, installiere ich drm, guc firmware von 01.org. (überprüfen Sie mit lsmod | grep intel) oder lspci -k | grep -A 2 VGA In xorg.conf,

Section "Device"
        Identifier  "Card0"
        Driver      "intel"
        BusID       "PCI:0:2:0"
EndSection
0
程柏硯