Rock Bullseye HDMI EDID file

Hi group, I have to use an edid.dat file for my tv.
On RPI4 bullseye I copy it to /lib/firmware and drm.edid_firmware=edid.dat -> cmdline.txt, haven’t worked yet on Rock4C+
I have correct modeline and Prefered Mode in Xorg.conf and when X starts at least the TV X Screen switches on/off in correct resolution and picture, seems like something having no edid is fighting against something just using the modeline.

We’re working with the Rock 4SE, so your mileage may vary. Also I am far from expert but may be able to provide some hints.

  1. Verify the kernel has CONFIG_DRM_LOAD_EDID_FIRMWARE=y
    grep CONFIG_DRM_LOAD_EDID /boot/config-5.10.110-1-rockchip
    CONFIG_DRM_LOAD_EDID_FIRMWARE=y
  2. Copy the edid bin file to firmware
    sudo cp edid.bin /lib/firmware/edid/
  3. Create initramfs edid hook
    sudo tee<<__EOF /etc/initramfs-tools/hooks/edid >/dev/null
    #!/bin/sh
    PREREQ=""
    prereqs()
    {
    echo “$PREREQ”
    }
    case $1 in

    get pre-requisites

    prereqs)
    prereqs
    exit 0
    ;;
    esac
    . /usr/share/initramfs-tools/hook-functions
    copy_exec /lib/firmware/edid/*.bin
    __EOF
    sudo chmod +x /etc/initramfs-tools/hooks/edid
  4. Update ramdisk
    sudo update-initramfs –u
  5. Update linux command line for boot. In our case it’s done like this
    edit /etc/kernel/cmdline to add the extra arguments. Again for us it looks like (yours would clearly be different)
    drm.edid_firmware=HDMI-A-1:edid/edid.bin video=HDMI-A-1:480x1280@60
    sudo u-boot-update
  6. Reboot and verify command line
    cat /proc/cmdline

Clearly you’ll want to have a copy of your sd card in case this bricks your device. And again, these instructions were passed on to us from someone who understands the process, but that’s not me. I can offer no further insight but only wish you good luck!

1 Like