Bug 1833801 - Screen rotation works very intermittently for Lenovo ThinkPad X390 Yoga
Summary: Screen rotation works very intermittently for Lenovo ThinkPad X390 Yoga
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: iio-sensor-proxy
Version: 32
Hardware: x86_64
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Igor Raits
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-05-10 17:50 UTC by Greg Harvey
Modified: 2020-05-11 07:36 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: ---
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug


Attachments (Terms of Use)

Description Greg Harvey 2020-05-10 17:50:56 UTC
Description of problem:

I have a brand new Lenovo ThinkPad X390 Yoga. I installed Fedora 32 and it all seemed fine until I first tried tablet mode. The screen rotation is basically broken. Note, yes, I did check rotation wasn't locked in GNOME!

There's some more info here:
https://forums.fedoraforum.org/showthread.php?323834-Accelerometer-not-working-software-problem-or-broken-hardware

There's very little output, even when using 'monitor-sensor' in a terminal to see what's going on. It's like the rotation events are simply not detected at all most of the time. Then suddenly it picks up an event, rotates and the screen is stuck like that. You have to keep tilting and eventually it notices and rotates back the way it's supposed to be, but all the while you're doing this there's no output from monitor-sensor, until the actual rotate event - then everything appears normal.

I had bought the machine because it is Ubuntu certified for 18.04 LTS, so I decided to try a live USB of the latest Ubuntu (20.04 TLS) and, curiously, it has the exact same problem as Fedora 32. I then tried a live USB of Ubuntu 18.04 LTS aaaaand... the laptop functions perfectly! Screen rotation in tablet mode or otherwise is snappy and perfect.

So it seems *something* broke, either between kernel versions 4.x and 5.x or in the iio-sensor-proxy package itself?

I'm happy to provide more info for debugging, but I have no idea where to start so I'd need some guidance from the maintainers as to what logs/output is useful.

In any case, this is definitely a recent issue as older versions of Ubuntu work, and I haven't tried but I suspect it might be fine with Fedora 29 (kernel 4.18) as well?


Version-Release number of selected component (if applicable):

Installed Packages
Name         : iio-sensor-proxy
Version      : 3.0
Release      : 1.fc32
Architecture : x86_64
Size         : 135 k
Source       : iio-sensor-proxy-3.0-1.fc32.src.rpm
Repository   : @System
From repo    : fedora
Summary      : IIO accelerometer sensor to input device proxy
URL          : https://github.com/hadess/iio-sensor-proxy
License      : GPLv3+
Description  : IIO accelerometer sensor to input device proxy.



How reproducible:

It happens every time with the right hardware and Fedora 32.


Steps to Reproduce:
1. Buy or borrow a ThinkPad X390 Yoga
2. Install standard 64 bit Fedora 32 Desktop on it
3. Try to tilt the computer and note the screen doesn't rotate!

Actual results:

Rotation mostly doesn't happen, but does sometimes randomly work for one or two rotations, then it stops working again.


Expected results:

Screen rotates smoothly and rapidly, just as it does with Ubuntu 18.04 LTS.


Additional info:

Upstream repo seems to be here - I'll raise an issue there too:
https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/issues

Comment 1 Greg Harvey 2020-05-10 23:11:01 UTC
The system works with a Fedora 31 live USB:

Installed Packages
Name         : iio-sensor-proxy
Version      : 2.8
Release      : 1.fc31
Architecture : x86_64
Size         : 131 k
Source       : iio-sensor-proxy-2.8-1.fc31.src.rpm
Repository   : @System
From repo    : anaconda
Summary      : IIO accelerometer sensor to input device proxy
URL          : https://github.com/hadess/iio-sensor-proxy
License      : GPLv3+
Description  : IIO accelerometer sensor to input device proxy.

Will double check with a Fedora 32 live USB tomorrow to make sure it definitely doesn't work with a "clean" install. Assuming that's the case, I'll reinstall the system with Fedora 31 and see what happens when I upgrade iio-sensor-proxy, as I see there is a 3.0 release in the Fedora 31 updates repo. If 2.8 -> 3.0 breaks things in Fedora 31, we're pretty close to a smoking gun. I'll let you know.

Comment 2 Greg Harvey 2020-05-11 07:36:42 UTC
Alright, so this is really weird. Tried a live USB of Fedora 32 and it was fine, checked the package info and there's been no update, rebooted the machine using the installed Fedora 32 on the disk and it now works fine! So whatever it is, it seems to manifest after the machine has been on for a while. I'll have to do more testing to reproduce consistently. :-(


Note You need to log in before you can comment on or make changes to this bug.