-
Notifications
You must be signed in to change notification settings - Fork 343
DRM connector tiling #1580
Comments
Any word on this? |
I think we'll want to expose this information to compositors, and let them decide how to handle these monitors. In the future when |
We'll also want to advertise a single logical |
I now have two of these displays now, so if someone needs a guinea pig |
It seems this is currently an obstacle for getting my LG 5k display to work with full resolution in sway. Happy to support in any way getting this to work. Any pointers? Is my understanding correct that we first need to make wlroots conscious of such a specific display type? In a second part this would be exposed to sway and then handled accordingly? |
Yes. The first step is to parse the TILE property in the DRM backend. The second step is to introduce something like Alternatively we could add transparent support for tiled outputs in wlroots, but in the past we've tried doing magic under the hood and it turned out to be a bad idea. There are tricky details such as repaint timings to take into account. Also compositors may want to have their own custom logic for tiled displays instead of wlroots'. |
Can we somehow scan out parts of the buffers on each output? Or the compositor will have to really render the two parts separately? |
No, we can use a single buffer, and scan out part of the buffer on each physical output. |
Would it not be preferable to indeed just do this under the hood in wlroots?
From my point of view it would also be easier to implement this since only wlroots needs to change and handling of tiling screens could be fully private to wlroots... |
Because many output properties are still, well, per-tile. Modesets, timings, hardware planes and so on are per-tile.
If you're referring to data exposed to Wayland clients, it's easy for the compositor to avoid this: just don't add these to the
A
As I said before, we've done some magical under-the-hood stuff like this in wlroots before and it always turned out to be a bad solution. I much prefer the solution of exposing an helper to make it easy for compositors to deal with tiled outputs. |
OK, it just seems easier for me to work on such a more simple solution since it would require basically tracing the flow from display registering to output rendering and understanding what needs to change in order to support tiling displays. Adding another virtual |
FWIW, I don't think the "under-the-hood" solution would necessarily be simpler, since the DRM backend doesn't really expect to drive two connectors and CRTCs with a single Feel free to ping me in #sway-devel on Libera Chat if you want directions. |
That probably makes sense. Will definitely take you up on the offer to provide some guidance on this. Have already started to dig into the DRM backend code... I expect parsing the TILE property and writing it into some struct is the easy part, adding another |
Yeah, I think we can split this work into smaller pieces:
|
Some monitors might have multiple connectors with tiled screens.
DRM connectors will have a TILE property that can be used to retrieve tile information. See for example how GNOME Shell handles this: https://gitlab.gnome.org/GNOME/mutter/blob/fb8dc918932d0cf246227468f742d89fe4d80d57/src/backends/native/meta-output-kms.c#L170
wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1580
The text was updated successfully, but these errors were encountered: