私は非常に快適な基本解像度(1920x860)を備えたモニタを持っており、Artix(6.8.2-artix1-1)とKde Plasma 6(plasmashell 6.0.2)を使用しています。
iGPU(Intel Iris Pro II)とGPU(Intel Arc 380)があります。
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Iris Pro Graphics 6200 (rev 0a)
03:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A380] (rev 05)
$ glxinfo | grep "OpenGL version"
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.0.3-arch1.2
モニターをiGPUに接続すると、モニターが正常に動作します。 GPUに接続すると、1280×720という1つの解像度しか使用できません。この解像度はアスペクト比を考慮していないため、すべてが拡大して広がります。
get-edid | parse-edidを介してLinux上のedidファイルを確認しましたが、Linuxにはほとんど情報がありませんでした。これにより、EnTech Monitor Asset Managerを使用してWindows 10でEDIDファイルをドリルダウンできます。
edidファイルの全内容を読みましたが、ここで興味深いニュースが出ました。私のモニターのedid.binファイルには、次のようなものがあります。
Native/preferred timing... 1920x860p at 60Hz
Modeline............... "1920x860" 110,680 1920 1968 2000 2106 860 863 868 876 +hsync +vsync
Standard timings supported
1280 x 720p at 60Hz - VESA STD
だから私はedid.binファイルを使ってみました。
- edidファイルを/usr/lib/firmware/edid/に入れました。
- 私はこれを/etc/mkinitcpio.confに設定しました
MODULES=(i915)
。FILES="/usr/lib/firmware/edid/edid.bin"
それから逃げた。# mkinitcpio -P
drm.edid_firmware=HDMI-1:edid/edid.bin drm.edid_firmware=HDMI-A-1:edid/edid.bin
/etc/default/grubのGRUB_CMDLINE_LINUX_DEFAULTにKMSを配置しました。次に明示的に実行しますgrub-mkconfig -o /boot/grub/grub.cfg
(HDMI-1はX11が私のモニターを認識する方法であり、HDMI-A-1はWaylandがそれを認識する方法であるため、カスタムEDIDを2回設定しました)。
dmesgで確認するとエラーはなく、edidファイルはi915モジュールと同様に問題なく正しくロードされます。
Xorgログも問題なく完全にきれいです。 i915ドライバが正しくロードされました。唯一の欠落している機能(私のマザーボードのため)は、サイズ変更可能なBARでした。これはこの問題を解決するために重要ではありません。
ただし、WaylandとX11で設定できる唯一の解像度は1280x720(常に拡張)です。 X11とxrandrを使用すると、モデルライン1920x1080を追加して使用できますが(おそらく標準であるため)、アスペクト比に従わないため、すべてが引き続き増加します。
だから/etc/X11/xorg.conf.d/20-intel.confファイルで設定を試しました。
Section "Device"
Identifier "IntelGraphics"
Driver "modesetting"
# Driver "intel"
Option "AccelMethod" "sna"
Option "DRI" "iris"
# Option "DRI" "2"
Option "CustomEDID" "HDMI-1:/usr/lib/firmware/edid/edid.bin"
Option "CustomEDID" "HDMI-A-1:/usr/lib/firmware/edid/edid.bin"
Option "IgnoreEDID" "false"
Option "UseEDID" "true"
EndSection
しかし、それでもX11とWaylandで設定できる唯一の解像度は1280x720です。
この方法を試してみると、ドライバ「modesetting」にedidオプションがないため、Xorgログにいくつかの警告が表示されます。
[ 5.973] (WW) modeset(0): Option "DRI" is not used
[ 5.973] (WW) modeset(0): Option "CustomEDID" is not used
[ 5.973] (WW) modeset(0): Option "IgnoreEDID" is not used
[ 5.973] (WW) modeset(0): Option "UseEDID" is not used
[ 5.973] (WW) modeset(0): Option "DisplaySize" is not used
[ 5.993] (WW) modeset(G0): Option "DisplaySize" is not used
xf86-video-intelも試してみたのでドライバを "intel"に設定しましたが(これが私が20-intel.confに#コメントを残した方法です)、xf86-video-Intelが機能せず使用できないため動作しませんでした。 GPU
X11 で xrandr を使用して edid ファイルに指定されたモデルラインを手動で追加しようとしました。動作しません。
Arc 830では、Vesaの標準解像度(1280×720)のみを設定でき、edidファイルに表示されるデフォルトの解像度(1920×860)は設定できないようです。本当に迷惑ですね。
誰かが私に助けを与えるか、追加の指示を与えることを願っています。この問題のバグレポートを送信したいのですが、どこ/誰がわかりません。
要約:
- 私のモニターの解像度は標準ではありません。
- Intel Iris Pro IIはこれを正しく検出しますが、Intel Arc 380は検出しません(画面には1つの誤った標準解像度しか設定できません)。
- 起動時にカーネルモード設定を介してedidファイルをロードし、すべてが正しくロードされると、多くのi915が満足できますが、Arc 380では状況が変わりません。
- これはウェイランドとX11の両方で発生します。
xrandr
X11で編集ファイルに提供されているモード設定を使用して(または計算によって)手動で解像度を追加すると、cvt
状況は変わりません。 Intel Arc 380とモニターには標準解像度が1つしか表示されません。- 欲求不満。
誰かがこの問題を解決するのに役立つことを願っています。