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/grub に
i915.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(古い), ...