I just tried a Nintendo Switch Pro controller, and it has the same effect with gyro, where "Gyro to Joystick" works, but "Gyro to Mouse" and "As Mouse" does not.
Update: I was having problems in Wayland (GNOME specifically), where it previously worked prior to the update. I tried out Xorg, and Gyro to Mouse works there — still with the Steam Flatpak from Flathub.
However, as everything is moving to Wayland and dropping X, this could only be considered a temporary workaround.
But this means something recently changed in the way Steam Input converts gyro to mouse inputs which is affecting Wayland.
Summary:
But it's working now! Thanks for your time.
Debugging details:
I noticed that something in the testing branch of Fedora Silverblue makes things work as expected again. After running the command to rebase (much like switching branches in git, but at the operating system level), I see that there are several packages which have been updated between versions. I've switched branches between release and testing a couple times to make sure it is indeed something broken in Fedora 39 release versus something that's staged to be an update (in testing).
The most likely culprits would be:
Of the above shorter list, "libei" is for handling virtual input devices in Wayland. The update states "Handle OEFFIS_DEVICE_ALL_DEVICES correctly". It looks like it wasn't passing all devices in to Wayland input devices (I think, but I could be wrong) and there's a patch in the new version that adjusts it. My guess is that this is the culprit.
As for the others; kernel changes can affect things, and the Xwayland changes might also affect things too.
FWIW: I had previously thought it might be xdg-desktop-portal and xdg-desktop-portal-gnome due to conincidental timing, but those are no longer in the list between stable (which doesn't work here) and testing (which does).
garrett@heatwave ~> sudo rpm-ostree rebase fedora:fedora/39/x86_64/testing/silverblue
[sudo] password for garrett:
2 metadata, 0 content objects fetched; 788 B transferred in 1 seconds; 0 bytes content written
Checking out tree 2667e28... done
Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora rpmfusion-nonfree-steam updates-archive
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2023-03-14T10:57:01Z solvables: 4
rpm-md repo 'updates' (cached); generated: 2023-12-17T01:27:24Z solvables: 16193
rpm-md repo 'fedora' (cached); generated: 2023-11-01T00:12:39Z solvables: 70825
rpm-md repo 'rpmfusion-nonfree-steam' (cached); generated: 2023-08-10T16:27:35Z solvables: 2
rpm-md repo 'updates-archive' (cached); generated: 2023-12-17T01:47:39Z solvables: 17267
Resolving dependencies... done
Relabeling... done
Applying 2 overrides and 317 overlays
Processing packages... done
Running pre scripts... done
Running post scripts... done
Running posttrans scripts... done
Writing rpmdb... done
Writing OSTree commit... done
Staging deployment... done
Freed: 8.9 MB (pkgcache branches: 0)
Upgraded:
bluez 5.70-5.fc39 -> 5.71-1.fc39
bluez-cups 5.70-5.fc39 -> 5.71-1.fc39
bluez-libs 5.70-5.fc39 -> 5.71-1.fc39
bluez-obexd 5.70-5.fc39 -> 5.71-1.fc39
cldr-emoji-annotation 1:44-1.fc39 -> 1:44.1-1.fc39
cldr-emoji-annotation-dtd 1:44-1.fc39 -> 1:44.1-1.fc39
cups 1:2.4.7-4.fc39 -> 1:2.4.7-5.fc39
cups-client 1:2.4.7-4.fc39 -> 1:2.4.7-5.fc39
cups-filesystem 1:2.4.7-4.fc39 -> 1:2.4.7-5.fc39
cups-ipptool 1:2.4.7-4.fc39 -> 1:2.4.7-5.fc39
cups-libs 1:2.4.7-4.fc39 -> 1:2.4.7-5.fc39
dbus-broker 33-2.fc39 -> 34-1.fc39
ibus 1.5.29~rc2-4.fc39 -> 1.5.29~rc2-5.fc39
ibus-gtk3 1.5.29~rc2-4.fc39 -> 1.5.29~rc2-5.fc39
ibus-gtk4 1.5.29~rc2-4.fc39 -> 1.5.29~rc2-5.fc39
ibus-libpinyin 1.15.5-1.fc39 -> 1.15.6-1.fc39
ibus-libs 1.5.29~rc2-4.fc39 -> 1.5.29~rc2-5.fc39
ibus-setup 1.5.29~rc2-4.fc39 -> 1.5.29~rc2-5.fc39
kernel 6.6.6-200.fc39 -> 6.6.7-200.fc39
kernel-core 6.6.6-200.fc39 -> 6.6.7-200.fc39
kernel-modules 6.6.6-200.fc39 -> 6.6.7-200.fc39
kernel-modules-core 6.6.6-200.fc39 -> 6.6.7-200.fc39
kernel-modules-extra 6.6.6-200.fc39 -> 6.6.7-200.fc39
libcap 2.48-8.fc39 -> 2.48-9.fc39
libei 1.2.0-1.fc39 -> 1.2.0-2.fc39
libeis 1.2.0-1.fc39 -> 1.2.0-2.fc39
libhandy 1.8.2-2.fc39 -> 1.8.2-5.fc39
libnl3 3.8.0-2.fc39 -> 3.9.0-1.fc39
liboeffis 1.2.0-1.fc39 -> 1.2.0-2.fc39
librsvg2 2.57.0-1.fc39 -> 2.57.1-1.fc39
opensc 0.23.0-5.fc39 -> 0.24.0-1.fc39
osinfo-db 20231027-1.fc39 -> 20231215-1.fc39
passt 0^20231119.g4f1709d-1.fc39 -> 0^20231204.gb86afe3-1.fc39
passt-selinux 0^20231119.g4f1709d-1.fc39 -> 0^20231204.gb86afe3-1.fc39
podman 5:4.8.1-1.fc39 -> 5:4.8.2-1.fc39
python-unversioned-command 3.12.0-1.fc39 -> 3.12.1-1.fc39
python3 3.12.0-1.fc39 -> 3.12.1-1.fc39
python3-libs 3.12.0-1.fc39 -> 3.12.1-1.fc39
python3-rpm 4.19.0-1.fc39 -> 4.19.1-1.fc39
qadwaitadecorations-qt5 0.1.3-2.fc39 -> 0.1.3-4.fc39
qemu-guest-agent 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-aarch64 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-alpha 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-arm 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-cris 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-hexagon 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-hppa 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-loongarch64 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-m68k 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-microblaze 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-mips 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-nios2 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-or1k 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-ppc 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-riscv 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-s390x 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-sh4 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-sparc 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-x86 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
qemu-user-static-xtensa 2:8.1.1-1.fc39 -> 2:8.1.3-1.fc39
rpm 4.19.0-1.fc39 -> 4.19.1-1.fc39
rpm-build-libs 4.19.0-1.fc39 -> 4.19.1-1.fc39
rpm-libs 4.19.0-1.fc39 -> 4.19.1-1.fc39
rpm-plugin-selinux 4.19.0-1.fc39 -> 4.19.1-1.fc39
rpm-sign-libs 4.19.0-1.fc39 -> 4.19.1-1.fc39
rsvg-pixbuf-loader 2.57.0-1.fc39 -> 2.57.1-1.fc39
selinux-policy 39.2-1.fc39 -> 39.3-1.fc39
selinux-policy-targeted 39.2-1.fc39 -> 39.3-1.fc39
toolbox 0.0.99.4-5.fc39 -> 0.0.99.4-8.fc39
xorg-x11-server-Xwayland 23.2.2-1.fc39 -> 23.2.3-1.fc39
Changes queued for next boot. Run "systemctl reboot" to start a reboot
Another update: Confirmed that libei was the culprit.
I rebased to the stable branch of Fedora Linux 39 Silverblue, then ran rpm-ostree override replace https://bodhi.fedoraproject.org/updates/FEDORA-2023-793e0e06ae (to layer the pending change on top of stable) and rebooted. With the updated libei, gyro to mouse with Steam Input in Steam from Flatpak on Wayland works again.
Nothing extracted yet.
Your system information
steam-runtime_0.20231024.64411Please describe your issue in as much detail as possible:
I had been using Gyro to Mouse ever since it's been available. Prior to that, I've been using As Mouse. They both stopped working suddenly, as of the latest update.
Gyro to Joystick still works, and I see the gyro active in the gyro calibration under settings, so this is some kind of Steam Input mapping between gyro and mouse no longer working.
Steps for reproducing this issue:
Other information
I saw two points in the release notes related to Linux, Steam Input, and PS controllers; it's possible there was an unintended bug introduced due to one of these:
I've tried changing all sorts of settings in the Controller section of the Steam Settings window; nothing seemed to work.