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. :-/
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEXqhvaVh2ERicA8Ceseqq9sKVZxkFAmaIIGEACgkQseqq9sKV Zxkq5A//T2G9bKFdX2Qm7CU9BvgAuzHzwAs+wuK6MgGfJ03o62bOcuM72JDwYANB OkYCMQ0EEjyd56UVp8qPLrAV04cLDpNjCdYJKPf+0+P4CvXlOf0rMqa/h/YyRm6+ uoP78t6dDFJRb0GThB3ytRirXIa3hQsLEh3v1SakSJXfVciUBfXKVndAXtUqAkes ANoKQvxBziOQ9biuW8r6jL0vFkIUqpR8db2tyn06RynXYa4xkbVQo1fKj3rUBnML 8Fo8/h1Ar7VwRsBqmWr9nqHgTsd5hab4XsL65NJYtGVwWOUUjTnkCFZUFG0qB8vL +wUCi2IH7mvWduOYYCaFwCVEcAoT0bmLloHEs4e8KwlS34uPdTJjr5JTlSacqWIJ bpoFX9tSjSWB6bqSxdr6SdQdSZHTfHIx+l7cRt6IJBV5MuBXBr+bih1VgO2RWgEX aErl1XLijv3GPBNQvs+tvb61wQDREpg90VCJ+GMXIOSTQF3BNgi8AjAUeUg/eKSl wmD8Y+pRZeFBsAHo7XztNxOr3VmILOhrTSKTkKVo8pq1qUAzxnzNVUCfmCkvJjIf 5iFUCcjIjAJmvd3JsZ/J4HEhfvT+Gd+yqGs5q/yx0nmUnpX/TNtmyTYZlBzUqnef sgQRLOrXe3tQT8uDFG5tco9pbhYl6s/g4OyfQ9+fn4tgWz+qwV0=
=soJp
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)