The XRandRScreens detects whether a screen is internal and supports
transformations and thus can enable the automatic screen rotation which
is done through an XRandR request.
Details
- Reviewers
sebas davidedmundson - Group Reviewers
KWin Plasma
Diff Detail
- Repository
- R108 KWin
- Branch
- libinput-calibrate-touchscreen
- Lint
No Linters Available - Unit
No Unit Test Coverage
I said on the previous patch that there's a *fundamental* design flaw in the previous patch, which will be even worse on X.
The last patch was pushed regardless..and now there's a patch on X without addressing the problems at all.
Sorry, but I didn't see anything which you considered a fundamental design flaw. What should be improved in your opinion?
Please see D8738 - I hope this addresses your concerns and can us allow to unblock this change.
I hope this addresses your concerns and can us allow to unblock this change.
It could work, so I won't block it.
But I still don't understand the design rationale.
We have a component that is in charge of handling all screen management. It has all the backends already, it does the config tracking, it's got the communication all hooked up already with a simple single path in DRM.
Yet we're putting this sensor stuff in kwin instead, then having to come up with extra interfaces to fix the problems we're creating.
Yet we're putting this sensor stuff in kwin instead, then having to come up with extra interfaces to fix the problems we're creating.
The main reason is that I wanted to support the phone case (hwcomposer) where we don't have the OutputConfigurationInterface hooked up and where it doesn't make sense to hook it up. The second reason is that KWin needs to support the full story including input adjustments. KScreen cannot do that, KWin must do it. Given that I would consider it weird to do everything related to the rotation just except detecting the orientation change. Also I think that KWin should be able to handle the most basic screen functionality (and yes I count rotation to that nowadays) on Wayland without the help of other processes. This makes it easier to deploy KWin outside of Plasma. E.g. for things we discussed like having KWin running in SDDM as the greeter compositor it means that KWin can provide automatic rotation without having to start half of our session in the login process.
Of course that's all debatable and you might have noticed that the OrientationSensor class I added to KWin does not include anything else from KWin. It's a standalone component which can be split out and moved to KScreen.