Linux 커널을 사용하여 사용자 정의 EDID 파일을 로드하고 싶습니다. 그런 다음 grub.cfg 를 업데이트 하고 EDID 파일을 initrd에 추가하고 파일이 있는지 확인했습니다 drm_kms_helper.edid_firmware=edid/myedid.bin
.GRUB_CMDLINE_LINUX
/etc/defauls/grub
grub2-mkconfig > /boot/grub2/grub.cfg
dracut --force --include /usr/lib/firmware/edid /usr/lib/firmware/edid
lsinitrd
lsinitrd | grep edid
Arguments: --force --include '/usr/lib/firmware/edid' '/usr/lib/firmware/edid'
drwxrwx--- 2 root root 0 Oct 6 01:25 usr/lib/firmware/edid
그런 다음 컴퓨터를 다시 시작했고 xrandr은 EDID 파일에 정의한 정보 대신 이전 정보를 제공했습니다.
DP1 disconnected (normal left inverted right x axis y axis)
DP2 connected primary 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*
800x600 60.32 56.25
848x480 60.00
640x480 59.94
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
다음은 dmesg | grep drm이 출력하는 내용입니다(drm_kms_firmware를 drm으로 변경하려고 시도했지만 로그의 경고만 제거되었습니다. 커널 버전 3.10을 사용하고 있으므로 drm_kms_helper가 정확해야 합니다).
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.76.1.el7.x86_64 root=UUID=XXXXX ro drm_kms_helper.edid_firmware=edid/myedid.bin rhgb quiet mem=2G
[ 0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.76.1.el7.x86_64 root=UUID=2df6baad-7c38-488e-8acd-14a461e72a99 ro drm_kms_helper.edid_firmware=edid/myedid.bin rhgb quiet
[ 2.652804] [drm] drm_kms_firmware.edid_firmware is deprecated, please use drm.edid_firmware intead.
[ 3.115696] [drm] Replacing VGA console driver
[ 3.117295] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 3.117299] [drm] Driver supports precise vblank timestamp query.
[ 3.179723] [drm] Initialized i915 1.6.0 20181204 for 0000:00:02.0 on minor 0
[ 3.198830] fbcon: inteldrmfb (fb0) is primary device
[ 3.261252] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
이것은 /etc/X11/xorg.conf.d에 있는 내 intel.conf입니다.
# /etc/X11/xorg.conf.d/01-intel.conf
Section "Device"
Identifier "intel(0)"
Driver "intel"
Option "TearFree" "true"
Option "DRI" "2"
Option "ReprobeOutputs" "true"
Option "HotPlug" "false"
EndSection
그리고 내 Xorg 로그(grep drm)
[ 96.089] Kernel command line: BOOT_IMAGE=/vmlinuz-3.10.0-1160.76.1.el7.x86_64 root=UUID=XXXXX ro drm_kms_helper.edid_firmware=edid/myedid.bin rhgb quiet
[ 96.098] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 96.098] (II) Platform probe for /sys/devices/pci0000:00/0000:00:02.0/drm/card0
커널 버전: 3.10.0-1160.76.1.el7.x86_64
커널 구성에서 설정
CONFIG_DRM_LOAD_EDID_FIRMWARE=y