On Friday, 5 July 2024 15:52:27 BST Jack wrote:
> On 7/5/24 10:20 AM, Peter Humphrey wrote:
> > Hello list,
> > 
> > The monitor on this box is connected via a KVM switch, which may not be
> > set to this machine at boot time. Then I get a default VT screen size
> > which is too tall - it can't show the last three lines or so.
> > 
> > The kernel documents show that an EDID data file can be read from
> > /lib/firmware, and I've run get-edid to create it, but now what is it
> > supposed to be called? The kernel menuconfig points to a Documentation
> > file, but that doesn't help either.
> > 
> > I could try guessing, but who knows how long that might take? Actually, I
> > did try naming it /lib/firmware/edid.bin, but of course that didn't work.
> I did this years ago, and of course can't remember any of the details. 
> However, I do think you can name it anything you want - you just need to
> refer to it by name in the right config file, and I don't remember if
> that is done the same place as the kernel firmware is specified, or
> perhaps as a parameter for the kernel video driver module.  I was also
> going to suggest an X config option, but that's probably too late in the
> process.  I know this isn't all that helpful - but you might try modinfo
> on your video kernel module to see if it's listed.

With the monitor connected and working, list all edid files in your pci bus:

find /sys |grep -i edid

Check each file's content with xxd.  Assuming you have no other monitors 
connected, one of them will have an edid binary blob in it.

You can copy this file to /lib/firmware/edid/, naming it appropriately, e.g.:

/lib/firmware/edid/asus_VS239_edid.bin

Enable your kernel's CONFIG_DRM_LOAD_EDID_FIRMWARE and add the above firmware 
path:

edid/asus_VS239_edid.bin

in your CONFIG_EXTRA_FIRMWARE field.

If you have built your graphics as a module you can add this on the kernel 
commandline:

drm.edid_firmware=edid/asus_VS239_edid.bin

If the video card port is not detecting the monitor being connected, you may 
need to be somewhat more explicit with the port it is connected to, e.g.:

drm.edid_firmware=HDMI-1:edid/asus_VS239_edid.bin


Any such firmware and graphics driver would need to be added to your 
initramfs, if you're using such a thing, to make sure you don't have to wait 
until the kernel is loaded before your monitor shows anything useful.

The above should hopefully work, although I've never had a KVM switch to know 
how it could mess things up.  :-/

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to