-
-
Notifications
You must be signed in to change notification settings - Fork 123
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
Handle matching monitor model + make + serial #734
Comments
Isn't connector name is the most robust thing here from the compositor internal stuff point of view, so your internal caches should be generally based on the connector_id(could be name)? You just have to map them to whatever you want used by user configuration when dealing with the requests from the user/reading out the config. |
I decided to change the workspace original output to model + make + serial so that it also works as expected when e.g. unplugging and replugging a display into a thunderbolt dock that bumps the connector name every time a monitor is replugged. It also makes |
I think it doesn't really matter since it's just a hash, so whatever the value is is irrelevant, it's just uniquely identifies it. To compare you still would go through the EDID+serial+make+whatever. I'm not saying to rely on connector_id, I'm saying to use it for internal operations where it doesn't matter and what matters is uniqueness of the value. For all the settings stuff you'd still use the |
In this case it does conflict though:
So in case where there are multiple monitors with exactly matching EDID + make + model + serial, these matching monitors should switch to connector names, as a workaround. |
I'm not sure what you're talking about in a thunderbolt dock case, the name of the connector is irrelevant and user configuration is based on the edid/etc where you reverse map it to connector_id. Like the issue with dock creating a new name doesn't matter, since you use u64 from id, since it's a unique value for the given monitor, for user config you have e.g. The only issue would be that you apply the same configuration twice if monitors exactly match, but probably could have more random data pulled. |
Added a workaround debug flag until there's a proper fix:
|
They can match, in fact the entire EDID can match between multiple monitors. Currently this can cause crashes related to workspaces moving to their original output, and probably other weirdness.
I've heard that KDE handles this by resorting to connector names when there are matching EDIDs. We need something similar I guess.
The text was updated successfully, but these errors were encountered: