2018年4月1日日曜日

core i5 8400オンボードグラフィックスとディスプレイ

HDMIでは音がでずアナログ接続、サスペンド復帰でOSはウェイクアップも、ディスプレイは真っ黒...OSは起きてるので、キーボードを頼りに、真っ黒なままtty1でシャットダウンしていた。

環境
・intel core i5 8400 オンボードグラフィックス : Intel UHD Graphics 630
(https://ark.intel.com/products/126687/Intel-Core-i5-8400-Processor-9M-Cache-up-to-4_00-GHz より)
・マザーボード : asus TUF Z370-PLUS GAMING (super IO z370)
・HDMIでディスプレイ(スピーカー付き)と接続
・Debian/GNU Linux の KDE Plasma5ディスクトップ

概要
新しいカーネルにして、ビデオグラフィックスモジュールを古典的手法で読み込ませる。
(カーネルやドライバのバージョンが変われば、状況も対応策も変わることでしょう)

作業
1) リポジトリに stretch-backportsを追加。新しいカーネルにする。
 (現状、Linux debian 4.14.0-0.bpo.3-amd64。stableの4.9.0-6-amd64では、同じ手法が通じませんでした。)

2) i915.koというグラフィックスモジュールを読み込ませる。
 $ man intel に...Intel(R) HD Graphics...とは書いてある。
 (4K Ultra HD対応のUHDとは書いてないけど、4Kは当方には関係ない。)
・firmwareやintelの名前がつく関係ありそうなパッケージを更新。
・i915.koの確認
  $ ls /lib/modules/4.14.0-0.bpo.3-amd64/kernel/drivers/gpu/drm/i915
  i915.ko
i915 とだけ書いた /etc/modules-load.d/i915.conf を作成
/etc/default/grubi915.alpha_support=1 を追記して、# update-grub2を実行。
例 GRUB_CMDLINE_LINUX_DEFAULT="splash acpi_enforce_resources=lax" → GRUB_CMDLINE_LINUX_DEFAULT="splash i915.alpha_support=1 acpi_enforce_resources=lax"

3) 再起動

結果
 (フルパワーのゲームは別として)
・"Pulseaudio音量調整"の再設定で、HDMI接続のディスプレイスピーカーが鳴る。
・KDEシステム設定→ディスプレイとモニタでディスプレイ型番が認識された。
・サスペンド(スリープ)から復帰でディスプレイが映った。
・3D系?、ディスクトップのぼかし効果が効いてない。
・$ sudo dmesg | grep -i intel
 ...
 WARN_ON(!((dev_priv)->info.platform == INTEL_SKYLAKE) && !((dev_priv)->info.platform == INTEL_KABYLAKE))
 ...
「SKYLAKEかKABYLAKE、どっちやねん」が出てるけど、stretch-backports使用ということで、デバッグ用だろ?気にしないことにした。
・$ lspci | grep -i VGA
 00:02.0 VGA compatible controller: Intel Corporation Device 3e92
 相変わらず "Intel UHD Graphics 630"とは出ないけど、しゃーない。
・dmesg | grep -i error
 ACPIや Namespace lookup failureのエラーは変わらず。
・wayland は、まだ止したほうがいい。何かが起きて、何かの設定が消えたりした。

phoronix-test-suite などで Graphics testをすると、恐ろしく遅い。

/usr/share/X11/xorg.conf.d/20-intel.confというファイルを作って、
 Section "Device"
 Identifier  "Intel Graphics"
 Driver      "intel"
 EndSection
としてやると、

$ glxinfo | grep direct
pci id for fd 4: 8086:3e92, driver (null)
i965_dri.so does not support the 0x3e92 PCI ID.
libGL error: failed to create dri screen
libGL error: failed to load driver: i965
direct rendering: Yes
    GL_ARB_direct_state_access, GL_ARB_draw_buffers,
    GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
    GL_ARB_multi_draw_indirect, GL_ARB_occlusion_query2,
$ inxi -G
Graphics:  Card: Intel Device 3e92
           Display Server: X.Org 1.19.2 driver: intel
           Resolution: 1920x1080@60.00hz
           GLX Renderer: Gallium 0.4 on llvmpipe (LLVM 3.9, 256 bits)
           GLX Version: 3.0 Mesa 13.0.6

結局、Gallium 0.4 on llvmpipe (LLVM 3.9, 256 bits)で描写。これで遅いのか?
正規なドライバーが出ないと駄目かも。

その他
・"archlinux Intel Graphics" https://wiki.archlinux.jp/index.php/Intel_Graphics#Skylake_.E3.82.B5.E3.83.9D.E3.83.BC.E3.83.88 も試したけど、何故か変化なし。i915が読み込まれなかった(試したのがstable バージョンだったかも)。
 上記 archlinux の /etc/X11/xorg.conf.d/20-intel.confは、Debianで /usr/share/X11/xorg.conf.d/20-intel.conf としてみた。堅実性優先のDebianでは、フォルダも違うし各ソフトのバージョンも古め。
・便利なコマンド # dmesg, lspci, lsmod, # modinfo -p i915 (パッケージ python-kmodpy), systool -m i915 -av (パッケージ sysfsutils), hwinfo, lshw -c video
 , inxi (パッケージ inxi), # dmidecode, hardinfo(古い), ...

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。