Intel VAAPI howto with Leia v18 nightly based on Ubuntu 18.04 server
(2015-11-01, 18:35)fritsch Wrote: Kernel 4.4+ is required or audio EDID information won't be copied
As I needed edid overwriting myself today here is a short howto on how to boot completely without TV / AVR but having correct EDID information. This will work for intel and radeon:

# Find out the connected port
Code:
fritsch@bsw:~$ cat /sys/class/drm/card0-HDMI-A-1/status
connected
Could be HDMI-A-2 on your setup and so on. On my system it is HDMI-A-1 - you need to remove the card0- when working with this strange later on. If yours differs you need to alter all HDMI-A-1 in the following steps to your matching ones.

In my case it's HDMI-A-1 continue to change /etc/default/grub to look like:
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=HDMI-A-1:1920x1080@50D drm_kms_helper.edid_firmware=HDMI-A-1:edid/edid.bin"

This will do two things a) it sets my default resolution to 1920x1080@50 and activate the digital output with D - which is not a typo, but written correctly directly behind the @50 which is my target refreshrate as I use LiveTV most of the time. Second is for loading a firmware to overwrite the edid that we will capture now

Before doing this make sure that you booted the whole system with AVR / TV on correctly and everything is working as you want it as we need to copy the edid in a working environment
Code:
sudo mkdir -p /lib/firmware/edid
sudo cp /sys/class/drm/card0-HDMI-A-1/edid /lib/firmware/edid/edid.bin

Now we need to make a little hack and also convince ubuntu to load this edid.bin in initramfs. Create /etc/initramfs-tools/hooks/include-edid-data file and write into it:
Code:
#!/bin/sh

PREREQ="udev"
prereqs()
{
   echo "$PREREQ"
}

case $1 in
prereqs)
   prereqs
   exit 0
   ;;
esac

. /usr/share/initramfs-tools/hook-functions
# Begin real processing below this line

if [ ! -e "${DESTDIR}/lib/firmware/edid" ]; then
    mkdir -p "${DESTDIR}/lib/firmware/edid"
fi

if [ -r "/lib/firmware/edid/edid.bin" ]; then
   cp "/lib/firmware/edid/edid.bin" "${DESTDIR}/lib/firmware/edid/"
fi

manual_add_modules i915 radeon
exit 0

Now make it executable:
Code:
sudo chmod +x /etc/initramfs-tools/hooks/include-edid-data

We are nearly done, finish with
Code:
sudo update-initramfs -u
sudo update-grub
sudo reboot

Now enjoy.

For OpenELEC you need to follow: http://wiki.openelec.tv/index.php/Config...#tab=Intel instead


hmm upgraded to 16.04.1 from 14.04 and my kern.log is reporting the EDID helper firmware fails to load, other logs look ok, is this a red herring?

Code:
[drm:drm_load_edid_firmware [drm_kms_helper]] *ERROR* Requesting EDID firmware "edid/edid.bin" failed (err=-2)

kern.log
dmesg
Xorg.0.log
kodi.log

After another reboot the error is gone. disregard.
Reply


Messages In This Thread
RE: Intel VAAPI howto with Krypton v17 based on Ubuntu 16.04 server - by redstorm - 2016-12-15, 08:35
Live TV broken again? - by schamane - 2016-02-29, 19:56
Random crashes - by hal2100 - 2016-03-08, 22:03
Strange Behaviour - by MicTie - 2016-12-07, 10:46
Working lirc with mce remote - by fr1day - 2019-08-10, 17:36
Logout Mark Read Team Forum Stats Members Help
Intel VAAPI howto with Leia v18 nightly based on Ubuntu 18.04 server18