저는 매우 편안한 기본 해상도(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에 연결하면 1280x720이라는 하나의 해상도만 사용할 수 있습니다. 이 해상도는 화면 비율을 고려하지 않으므로 모든 것이 늘어나고 번집니다.
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를 두 번 설정했습니다).
이제 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 파일("1920x860" 110,680 1920 1968 2000 2106 860 863 868 876 +hsync +vsync)에 지정된 모델라인을 수동으로 추가하려고 했습니다. 작동하지 않습니다.
Arc 830을 사용하면 Vesa 표준 해상도(1280x720)만 설정할 수 있고 edid 파일에 표시된 기본 해상도(1920x860)는 설정할 수 없는 것 같습니다. 정말 짜증나네요.
누군가가 나에게 도움을 주거나 추가 지침을 줄 수 있기를 바라며, 이 정보가 나와 같은 상황에 있는 다른 사람들에게 지침이 될 수 있기를 바랍니다. 이 문제에 대한 버그 보고서를 제출하고 싶지만 어디에/누구인지 모르겠습니다.
요약:
- 내 모니터의 해상도가 표준이 아닙니다.
- Intel Iris Pro II는 이를 올바르게 감지하지만 Intel Arc 380은 감지하지 못합니다(화면에 대해 1개의 잘못된 표준 해상도만 설정할 수 있음).
- 부팅 시 커널 모드 설정을 통해 edid 파일을 로드하고 모든 것이 올바르게 로드되면 많은 i915가 만족스럽지만 Arc 380에서는 상황이 바뀌지 않습니다.
- 이는 Wayland와 X11 모두에서 발생합니다.
xrandr
X11에서 edid 파일에 제공된 모드 설정을 사용하여(또는 계산을 통해) 수동으로 해상도를 추가하는 경우cvt
상황은 바뀌지 않습니다. Intel Arc 380과 모니터에서는 표준 해상도가 1개만 표시됩니다.- 좌절.
누군가가 이 문제를 해결하는 데 도움을 줄 수 있기를 바랍니다.