SUMMARY For some reason there is no way to enable auto-rotate without also enabling a large UI "touch mode". Auto-rotate is not a touchscreen feature, it is a form factor feature. Tablets and 2-in-1s can be rotated easily into portrait mode no matter the input method. EXPECTED RESULT Auto-rotate as either a separate setting in System Settings, or, preferably, an option from a system tray widget. It could be its own system tray button, or it could be under Display Configuration or Brightness and Color – which incidentally seem like they could be merged into a single system tray widget for display settings. SOFTWARE/OS VERSIONS NixOS 24.11 (unstable channel) KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.2.0 Qt Version: 6.7.1
Just uncheck the "only when in tablet mode" checkbox that appears under the radio button marked "Automatic".
(In reply to Nate Graham from comment #1) > Just uncheck the "only when in tablet mode" checkbox that appears under the > radio button marked "Automatic". For clarity, are you referring to "Touch Mode"? The options I see are: • Automatically enable as needed • Always enabled (I assume this is the option you are referring to) • Never enabled "Always enabled" forces autorotate on, but it also makes the certain parts of the UI large and touch friendly, which is the issue I am bringing up – there is no way to access autorotate without also making certain elements of the UI large. Linking these two features (large UI and autorotate) seems arbitrary and causes problems. It is also more difficult than it should be to manually disable autorotate if you want to temporarily prevent it from switching orientations accidentally while using it handheld. This requires navigating through System Settings to disable Touch Mode, and then you lose your larger UI. A dedicated easily accessible autorotate toggle is ubiquitous on tablets, and pretty standard for desktop OSes that may be run on tablets and 2-in-1s – both Windows and Gnome have this feature (and I'm sure others), with Windows putting it in the "Action Center" in the taskbar; I suggested putting it in the system tray somewhere, a pretty similar solution. Maybe I should have submitted this as a feature request rather than a bug?
The checkbox in question lives in System Settings > Display & Monitor, with the other screen rotation settings. You can find it there.
Created attachment 170416 [details] Display & Monitor Settings no auto-rotate
(In reply to m1vri31c from comment #4) > Created attachment 170416 [details] > Display & Monitor Settings no auto-rotate I do not have that option
(In reply to m1vri31c from comment #5) > (In reply to m1vri31c from comment #4) > > Created attachment 170416 [details] > > Display & Monitor Settings no auto-rotate > > I do not have that option sorry , my comment seems to have been deleted. I am on NixOS 24.11 Unstable Channel, Microsoft Surface Pro 7. This device uses a custom kernel and the IPTS driver.
Well that's unusual. You are using the Wayland session, right? Do you have the iio-sensor-proxy package (or whatever it's named in your distro) installed?
(In reply to Nate Graham from comment #7) > Well that's unusual. You are using the Wayland session, right? Do you have > the iio-sensor-proxy package (or whatever it's named in your distro) > installed? Yep, Wayland. I have triple checked iio-sensor-proxy is installed – it was installed automatically with the Surface hardware module in NixOS, and I have also tried manually enabling the option AND installed the package in case that had problems. It was installed in all variations, checked using "$ nixos-option environment.systemPackages". Restarted after each change. Display and Monitor settings remain the same. And I checked again that auto-rotate works when "touch mode" is enabled – it does. Auto-rotate works and is enabled exclusively when "Touch Mode" is enabled.
Ok, bear with me for a second... Can you do this? 1. Open System Settings 2. Click "Display & Monitor" in the sidebar 3. Click "Accessibility" in the sidebar" 4. Click "Display & Monitor" in the sidebar again Do the auto-rotate controls appear now?
(In reply to Nate Graham from comment #9) > Ok, bear with me for a second... Can you do this? > > 1. Open System Settings > 2. Click "Display & Monitor" in the sidebar > 3. Click "Accessibility" in the sidebar" > 4. Click "Display & Monitor" in the sidebar again > > Do the auto-rotate controls appear now? They do not
I also submitted bug 488148. Could these be related?
There is definitely *something* going on with these controls. What I'm seeing is that the auto-rotate controls aren't visible when I open the page, but when I enter tablet mode by flipping my laptop's lid back, the controls appear. Clearly the visibility condition of those controls is buggy, and I suspect the issue you're seeing is related to this.
Looked at the code. Your issue is caused by Bug 488148; when we detect there's no tablet mode available, we disable the UI to control whether auto-rotation happens only in tablet mode. The detection is not working as expected for you; but the code in the KCM is doing the right thing with the data it's getting.
For the issue I've seen, I've opened a new bug report: Bug 488764. *** This bug has been marked as a duplicate of bug 488148 ***
I see. And presumably the Microsoft Surface Pro 7 I'm using doesn't have a "tablet mode", so there are no conditions under which I can access those settings. Thank you Nate
Not a duplicate of bug 488148. That was caused by a keyd virtual pointer. Auto-rotate controls still do not appear in Display & Monitor even with keyd completely uninstalled, and a pointer should not hide them regardless. Libinput definitely sees my touchscreen and registers its touch capability. It also sees a stylus input even without a stylus connected – could that be what is disabling my auto-rotate controls? Libinput list-devices does not register an accelerometer, but from what I can tell, that is not a sensor it is meant to register?
libinput Bug Report: https://gitlab.freedesktop.org/libinput/libinput/-/issues/1037