-
Notifications
You must be signed in to change notification settings - Fork 5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
drm/edid: Add option to report basic audio support with a generic edid #5604
Conversation
Looks fine in principle. A couple of checkpatch complaints. IMHO It'd be nicer if it took |
Hardware that fails to read the edid is quite common. The kernel provides a mechanism to use one a of a few pre-built generic edid files for getting a basic video mode. However there is no easy was to add basic audio support, which requires a CTA extension block to report capabilities. Add an module option to request this. Signed-off-by: Dom Cobley <[email protected]>
b2adc2a
to
f53fe8a
Compare
Updated. I've gone for I could switch if it's preferred (I do slightly prefer the |
I think the cleanest way would be to have a new version of match_string that does
so that it matches against the start of
One to bounce off Maxime to get his views. |
@mripard I'd be interested in your opinion. |
The separator used in parameters is usually the comma, so having something like edid_firmware=path,audio would be more consistent. That being said, my recollection was that last time we discussed it, we settled down on providing EDID firmware files with audio support which wouldn't require anything in the kernel? It feels a bit weird to me to tell the kernel to load the EDIDs from somewhere, but then also tell it that actually they should be modified because it's not really what we want. |
are you saying that discussion was with us? I don't recall that as the outcome. How would the firmware files be distributed (on ours and other distributions)? Using a physical file makes things a lot more complicated. e.g. on LibreELEC (where this would be a common request), the rootfs is readonly/squashfs, so using a custom edid requires an initramfs. A command line solution is much more usable. I could understand the argument for a new embedded file, so the edids are not modified, but there is a pre-made 256 byte pseudo file that supports audio. But that would slightly increase RAM required if you support multiple resolutions. Although I feel only 1080p (and perhaps 720p) will cover almost all use cases (displays that support audio are much more likely to support the more standard modes). |
We've already got comma separating connector specific edid files, eg
This is "loading" the internal built in EDIDs, not loading a file from anywhere. |
Hardware that fails to read the edid is quite common. The kernel provides a mechanism to use one a of a few pre-built generic edid files for getting a basic video mode. However there is no easy was to add basic audio support, which requires a CTA extension block to report capabilities. Add an module option to request this. Signed-off-by: Dom Cobley <[email protected]>
Sorry to bump as I'm interested in the feature outcome... |
@popcornmix any plan to move this cool feature forward? |
It sounds like this scheme is unlikely to be supported upstream so I don't think this PR will move forward. I wouldn't mind creating a tool to create custom edid files based on a set of user choices but it is low priority on the todo list. |
All the builtin EDIDs are gone in 6.9, so definitely a dead end I seem to recall seeing a library for creating basic EDIDs. I'll try and find it again. |
https://codeberg.org/ral/pasedid was a library I'd been pointed to at one point. Maxime also has https://github.com/mripard/redid which he uses from the CI test framework in https://github.com/mripard/dradis. It looks like https://github.com/mripard/dradis/blob/main/src/helpers.rs#L158-L256 could be persuaded to be vaguely useful. |
Thanks @popcornmix and @6by9 for the quick note and references. |
I also have a tool to generate an EDID from a YAML file. It's not in a great shape right now, but I'll work on cleaning it up. |
Hardware that fails to read the edid is quite common. The kernel provides a mechanism to use one a of a few pre-built generic edid files for getting a basic video mode.
However there is no easy was to add basic audio support, which requires a CTA extension block to report capabilities.
Add an module option to request this.