You are not logged in.
I have an Arch box running kodi-gbm via a systemd service. The connected "smart" TV requires being turned on when booting the Arch box, or else is fails to properly detect the 4k mode Kodi is using.
I am trying to circumvent this by defining a custom edid via kernel parameter.
I did this:
# cp /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-HDMI-A-1/edid /usr/lib/firmware/tv.datIt looks valid:
# parse-edid </usr/lib/firmware/tv.bin
Checksum Correct
Section "Monitor"
Identifier "QBQ90"
ModelName "QBQ90"
VendorName "SAM"
# Monitor Manufactured week 1 of 2022
# EDID version 1.3
# Digital Display
DisplaySize 1420 800
Gamma 2.20
Option "DPMS" "false"
Horizsync 15-255
VertRefresh 24-120
# Maximum pixel clock is 1190MHz
#Not giving standard mode: 1152x864, 75Hz
#Not giving standard mode: 1280x720, 60Hz
#Not giving standard mode: 1280x800, 60Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1440x900, 60Hz
#Not giving standard mode: 1600x900, 60Hz
#Not giving standard mode: 1680x1050, 60Hz
#Not giving standard mode: 1920x1080, 60Hz
#Extension block found. Parsing...
#WARNING: I may have missed a mode (CEA mode 97)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 96)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 102)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 101)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 117)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 118)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 90)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 91)
#DOUBLE WARNING: It's your first mode, too, so this may actually be important.
#WARNING: I may have missed a mode (CEA mode 93)
#WARNING: I may have missed a mode (CEA mode 94)
#WARNING: I may have missed a mode (CEA mode 95)
#WARNING: I may have missed a mode (CEA mode 98)
#WARNING: I may have missed a mode (CEA mode 100)
#WARNING: I may have missed a mode (CEA mode 63)
#WARNING: I may have missed a mode (CEA mode 64)
Modeline "Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 0" +hsync +vsync
Modeline "Mode 1" +hsync -vsync
Modeline "Mode 3" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 4" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
Modeline "Mode 5" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
Modeline "Mode 6" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
Modeline "Mode 7" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
Modeline "Mode 8" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 9" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 10" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 11" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
Modeline "Mode 12" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
Modeline "Mode 13" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline "Mode 14" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
Modeline "Mode 15" +hsync -vsync
Option "PreferredMode" "Mode 2"
EndSectionI added this line to grub.cfg:
GRUB_CMDLINE_LINUX_DEFAULT="audit=0 loglevel=3 quiet drm.edid_firmware=tv.dat"But I am finding errors in the log.
# dmesg|grep tv.dat
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=0ebc5c57-d62c-411c-9ad4-2571a788ff95 rw audit=0 loglevel=3 quiet drm.edid_firmware=tv.dat
[ 0.027940] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=0ebc5c57-d62c-411c-9ad4-2571a788ff95 rw audit=0 loglevel=3 quiet drm.edid_firmware=tv.dat
[ 3.261365] amdgpu 0000:01:00.0: Direct firmware load for tv.dat failed with error -2
[ 3.261369] amdgpu 0000:01:00.0: [drm] *ERROR* [CONNECTOR:66:HDMI-A-1] Requesting EDID firmware "tv.dat" failed (err=-2)
[ 22.935021] amdgpu 0000:01:00.0: Direct firmware load for tv.dat failed with error -2
[ 22.935028] amdgpu 0000:01:00.0: [drm] *ERROR* [CONNECTOR:66:HDMI-A-1] Requesting EDID firmware "tv.dat" failed (err=-2)
[ 82.958092] amdgpu 0000:01:00.0: Direct firmware load for tv.dat failed with error -2
[ 82.958106] amdgpu 0000:01:00.0: [drm] *ERROR* [CONNECTOR:66:HDMI-A-1] Requesting EDID firmware "tv.dat" failed (err=-2)And booting into the system with the TV off however did not allow for the detection of 4k. Kodi started in 640x480 @ 60 Hz. What am I doing wrong?
Last edited by graysky (2023-09-01 14:47:51)
Offline
There's a discrepancy between tv.dat and tv.bin in your post and -2 is ENOENT
If you've amdgpu in the initramfs, you also want to add the EDID there, https://wiki.archlinux.org/title/Kernel … s_and_EDID
Offline
You are correct, my mistake:
1. I corrected all references to tv.bin
2. I added it to the FILES array in mkinitcpio.conf
Now I can successfully boot with the TV off and have the Kodi GUI be in the right mode! Thanks!
% grep 'GUI format' /tmp/kodi.log
2023-09-01 10:21:42.561 T:761 info <general>: GUI format 3840x2160, Display 3840x2160 @ 60.000000 HzOffline