https://bugs.kde.org/show_bug.cgi?id=521433
Bug ID: 521433
Summary: The steam deck never shows proper orientation when
gyroscope is on due to kernel panel quirk
Classification: Plasma
Product: plasma-mobile
Version First unspecified
Reported In:
Platform: openSUSE
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Shell
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
Created attachment 193132
--> https://bugs.kde.org/attachment.cgi?id=193132&action=edit
As long as automatic is enabled
***
If you're not sure this is actually a bug or valid feature request, instead
post about it at https://discuss.kde.org
If you're reporting a crash, attach a backtrace with debug symbols; see
https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
Please remove this comment after reading and before submitting - thanks!
***
DESCRIPTION
The steam deck is a 800x1280 LCD screen source. In order to change to
orientation from portrait to landscape, Valve added a panel quirk to the Linux
kernel. However, this quirk interact with the gyro and cause the screen to
never rotate properly.
In order to test the screen rotation in KDE, you will need a patched
iio-sensor-proxy due to an upstream bug. On default, steam deck will start in
lizard mode. You will have to disable it by sending 'N' to the
/sys/module/hid_steam/parameters/lizard_mode
https://gitlab.freedesktop.org/hadess/iio-sensor-proxy/-/work_items/416
STEPS TO REPRODUCE
1. Exit steam
2. Disable Lizard mode
- echo N | sudo tee /sys/module/hid_steam/parameters/lizard_mode
3. Set Automatic to enabled in display settings in systemsettings
4. Run patch iio-sensor-proxy
1. Pull the repo
- git pull https://gitlab.freedesktop.org/hadess/iio-sensor-proxy
2. Patch the input acceleration
diff --git a/src/drv-input-accel.c b/src/drv-input-accel.c
index a6eab9f..113ca44 100644
--- a/src/drv-input-accel.c
+++ b/src/drv-input-accel.c
@@ -106,7 +106,8 @@ input_accel_discover (GUdevDevice *device)
parent = g_udev_device_get_parent (device);
if (parent && is_part_of_joypad (parent))
- return FALSE;
+ if (!g_udev_device_get_property_as_boolean (device,
"ID_INPUT_ACCELEROMETER"))
+ return FALSE;
g_debug ("Found input accel at %s", g_udev_device_get_sysfs_path
(device));
return TRUE;
lines 1-14/14 (END)
3. Run Meson
- meson setup build
4. Run ninja
- ninja -C build/
5. Run iio-sensor-proxy
- ./build/src/iio-sensor-proxy -r -v
OBSERVED RESULT
The orientation is off by 90 degrees due to the kernel quirk
EXPECTED RESULT
I expect the screen to be in the same orientation as any other tablet.
SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20260610
KDE Plasma Version: 6.6.5
KDE Frameworks Version: 6.26.0
Qt Version: 6.11.1
Kernel Version: 7.0.11-1-default (64-bit)
Graphics Platform: Wayland
Processors: 8 × AMD Custom APU 0405
Memory: 16 GiB of RAM (14.5 GiB usable)
Graphics Processor: AMD Custom GPU 0405
Manufacturer: Valve
Product Name: Jupiter
System Version: 1
ADDITIONAL INFORMATION
Gyro working
sudo evtest /dev/input/event17
vent: time 1781375327.657250, -------------- SYN_REPORT ------------
Event: time 1781375327.661250, type 4 (EV_MSC), code 5 (MSC_TIMESTAMP), value
-1453129888
Event: time 1781375327.661250, type 3 (EV_ABS), code 0 (ABS_X), value -215
Event: time 1781375327.661250, type 3 (EV_ABS), code 2 (ABS_Z), value -15514
Event: time 1781375327.661250, type 3 (EV_ABS), code 1 (ABS_Y), value 5412
Event: time 1781375327.661250, type 3 (EV_ABS), code 3 (ABS_RX), value 3
Not working
sudo evtest /dev/input/event17
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x28de product 0x1205 version 0x111
Input device name: "Steam Deck Motion Sensors"
Supported events:
Event type 0 (EV_SYN)
Event type 3 (EV_ABS)
Event code 0 (ABS_X)
Value -211
Min -32768
Max 32768
Fuzz 32
Resolution 16384
Event code 1 (ABS_Y)
Value 5286
Min -32768
Max 32768
Fuzz 32
Resolution 16384
Event code 2 (ABS_Z)
Value -15688
Min -32768
Max 32768
Fuzz 32
Resolution 16384
Event code 3 (ABS_RX)
Value 3
Min -32768
Max 32768
Fuzz 1
Resolution 16
Event code 4 (ABS_RY)
Value 0
Min -32768
Max 32768
Fuzz 1
Resolution 16
Event code 5 (ABS_RZ)
Value 3
Min -32768
Max 32768
Fuzz 1
Resolution 16
Event type 4 (EV_MSC)
Event code 5 (MSC_TIMESTAMP)
Links
https://github.com/torvalds/linux/blob/2b07ea76fd28989bde5993532d7a943a6f90e246/drivers/gpu/drm/drm_panel_orientation_quirks.c#L507
--
You are receiving this mail because:
You are watching all bug changes.