web-dev-qa-db-ja.com

XはIntelオンボードグラフィックス+ nVIDIAカードでは起動しません

Kubuntu 16.04を実行します(ISOからインストールしたばかりです)。私のコンピューターにはIntelのグラフィックスが内蔵されており、これがディスプレイに使用されています。また、GTX 650 Ti Boostカードもありますが、これは表示に使用したくない(CUDAの作業にのみ使用)。

  • NVIDIAドライバー361.62または367.35(最新)がインストールされると、Xorgは黒い画面にロードされます(ただし、CUDAを使用するバイナリーを実行すると正常に実行されます)。
  • NVIDIAドライバーがインストールされていない場合、Xorgは正常にロードされます。 nouveauモジュールをロードします(おそらく私には必要ありませんが)-しかし、CUDAアプリは実行されません。

NVIDIAドライバーがインストールされているXorgエラーは次のとおりです。

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

NVIDIAドライバーをアンインストールすると、Xは再び正常に動作します(ここでいくつかのログメッセージを引用します)。

Xの動作とCUDAの両方をインストールする方法(つまり、ドライバーがインストールされ機能している)

正当な開示:unix.SXでのDebian Stretchに関する同じ質問について質問しましたが、Kubuntuに切り替えたばかりなので削除しました。


更新:

そこで、これをさらに調査するために、Nouveauを完全にアンインストールしました。 xorg.confを生成すると、次のようになります(入力デバイス関連およびファイルの行とセクションのクリップ):

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

(PCI 2:0:0はnVIDIAカードであり、0:2:0はオンチップグラフィックスであることに注意してください。)

さて、

  • この構成をnVDIAIドライバーで使用する場合-空白の画面。
  • NVIDIAカード(カード1、モニター1)に関するセクションをコメントアウトし、ServerLayoutセクションを変更した場合-空白の画面。
  • GLXモジュールのロードを無効にすると、ログにエラーが表示されます-空白の画面(モジュールのロードが問題であることが明らかではありません)
  • /usr/lib/xorg/modulesに行って、nvidiaのlibglx.soを削除したり、nvidia以外のlibglx.soを復元したりしました-まだ、空白の画面です。

ただし、エラーメッセージは異なります。上記の最も広範なサブセットを使用すると、次のことができます。

[  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
  • また、「Intel」ドライバーの使用を強制しようとしました。これは、nVIDIAドライバーがインストールされていない場合でも機能しますが、インストールされているときと同じ古い空白の画面です。
2
einpoklum

興味深いことに、この問題は実際には問題ではないため、解決できません。実際、Xは空白スクリーニングではありません。 XディスプレイマネージャーKubuntuのデフォルトは-sddmです。

sddmを、たとえばlxdmに置き換えると、ログイン画面が表示されます(少なくとも-インテルドライバーと編集されたxorg.confを使用します;おそらくそれなしでも)。 'ログインできるようになります。

ただし、これで問題は終わりではありません。 KDEセッションを開始すると、Plasmaは突然クラッシュします。セッションは、復元されたアプリが起動して適切に機能するという意味で「機能」し、起動用のAlt + F2も機能します。

ただし、別のデスクトップ環境(LXDEなど)をインストールして起動すると、動作するはずです。

うるさい。

0
einpoklum

Ubuntu 16.04にCUDAを正常にインストールし、Intel Skylake GPUのみを表示に使用しました。公式インストール document が改善され、非常に役立ちました。高度なセットアップとよくある質問をご覧ください。それは私の問題を修正します。 Runfileインストールを選択しました。(セクション4.2)以下は私のヒントです。

  1. 最初にnoveouドライバーを削除します。 lsmod |grep noveouで確認
  2. xを停止し、cuda-xx.run --no-opengl-libsを実行します
  3. 「デバイスノードの検証」をコピーします script 起動スクリプトにします(/etc/rc*.d/にコピーします。命名規則に注意してください)
  4. 前のスクリプトを入手し、ls /dev/nvidia*で確認します。すべてがうまくいけば、cudaは動作するはずです。
  5. xorg.confを編集して、nVIDIAビデオカードを削除します。

[drm]がnullのdrmデバイスを開けなかった場合は、手順4で確認して修正してください。

Intel Skylakeを使用しているので、01.orgからdrm、guc firmware をインストールします。 (lsmod | grep intelで確認)またはlspci -k | grep -A 2 VGAxorg.confで、

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