arch Linuxの新規インストールでは、グラフィックスドライバーに問題がありました。その過程で、何とかしてディスプレイを機能させるために、多くの異なるドライバーをインストールしました。
ここで、Xが使用しているドライバーを特定する必要があります。どうやってするか?
インストールされるパッケージには、xf86-video-intel
、xf86-video-nouveau
、nvidia
、xorg-drivers
が含まれます。グラフィカルデスクトップマネージャーを起動するという奇妙な問題を解決するには、nividia-libgl
をmesa-libgl
に置き換える必要がありました。
グラフィック:Intel HD Graphics 4000/Nvidia GT 750M
Xorg.0.log
の内容は次のとおりです http://Pastebin.com/YwiMZmG6
前もって感謝します :)
Xorgの起動ログファイルを確認できます。通常は/var/log/Xorg.0.log
とロードしているモジュールを確認します。デフォルトでは、Xorgは自動検出を試みることができますが、Device
スタンザをXorg confファイルに置くことにより、ドライバーを手動で強制できます。 nvidiaカードとnvidia独自のドライバーのXorg起動ログは次のようになります。
[ 3702.470] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 3702.472] (--) PCI:*(0:3:0:0) 10de:1184:3842:3774 rev 161, Mem @ 0xfa000000/16777216, 0xd8000000/134217728, 0xd6000000/33554432, I/O @ 0x0000cc00/128, BIOS @ 0x????????/524288
[ 3702.472] (II) LoadModule: "glx"
[ 3702.473] (II) Loading /usr/lib64/opengl/nvidia/extensions/libglx.so
[ 3702.476] (II) Module glx: vendor="NVIDIA Corporation"
[ 3702.476] compiled for 4.0.2, module version = 1.0.0
[ 3702.476] Module class: X.Org Server Extension
[ 3702.476] (II) NVIDIA GLX Module 355.11 Wed Aug 26 16:02:11 PDT 2015
[ 3702.476] (II) LoadModule: "nvidia"
[ 3702.476] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[ 3702.476] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 3702.476] compiled for 4.0.2, module version = 1.0.0
[ 3702.476] Module class: X.Org Video Driver
[ 3702.476] (II) NVIDIA dlloader X Driver 355.11 Wed Aug 26 15:38:55 PDT 2015
[ 3702.476] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 3702.476] (++) using VT number 7
ログの分析を自動化する試みは次のとおりです。
#!/bin/bash
if [ -z "$1" ]; then
logfile=/var/log/Xorg.0.log
else
logfile="$1"
fi
sed -n 's@.* Loading .*/\(.*\)_drv.so@\1@p' "$logfile" |
while read driver; do
if ! grep -q "Unloading $driver" "$logfile"; then
echo $driver
break
fi
done
シンプルにする方法は大歓迎です。ログを解析するのではなく、Xorgへのクエリによって直接解決したいのが理想です。
私が見つけた1つの解決策は、Xの実行中に実際に読み込まれているドライバーを確認することです。私のシステムでは、ドライバは以下にインストールされています
/usr/lib/xorg/modules/drivers/
/usr/lib/x86_64-linux-gnu/nvidia/xorg/
現在ロードされているものを確認できます
Sudo lsof +D /usr/lib/xorg/modules/drivers/ +D /usr/lib/x86_64-linux-gnu/nvidia/xorg/
今私は得る
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Xorg 4473 root mem REG 253,0 90360 536108 /usr/lib/xorg/modules/drivers/modesetting_drv.so
だから私はmodesetting
ドライバーを使っていると思います。