script: Lenovo Legion Go display configuration
Add support for the Lenovo Legion Go handheld, which features a rotated 1600x2560 panel that reports 60Hz and 144Hz modes in the EDID. VRR and HDR are not supported, and only one panel model is known to be in use.
Modes other than 60Hz and 144Hz have a small chance of causing a unresponsive touchscreen until another modeset is performed or have artifacts during modesetting, so extra modes are not included. The dynamic_modegen section is filled out in case users decide to add their own refresh rates in a local table.
This configuration has been tested with:
- SteamOS Main 20241025.1000 with kernel 6.8.12-valve3
- Arch Linux with kernel 6.12-rc5
Hi @matte-schwartz
Thank you for providing this! I am using it on SteamFork. Both modes works, but the frame limiter is bugged in the 60Hz mode. It's like there is an off-by-1 error in the divisor: 60fps -> 30fps 30fps -> 20fps 20fps -> 15fps
Do/did you experience this as well? (144Hz frame limiter behaves correctly) ps. I know that this logic is not from the script but from gamescope itself, just wanted to check if others also see the same problem.
I'll take a look a bit later today and get back to you
seems to work okay here:
are there any particular games it happens in? and does Steam Fork's kernel have https://github.com/matte-schwartz/linux/commit/aad59011c919413b73312571d7a91bc5f2eaf43d and https://github.com/matte-schwartz/linux/commit/a2bc993e28c7ccea992a1ffe4f877cf663af79db ?
Can you get 60Hz 60FPS? Because the screenshots only show 30 and 20 FPS.
Have it in all games I tested: Half Life 2, The Pathless, Tunic
I'm not seeing the two patches I linked in Steam Fork's kernel: https://github.com/SteamFork/distribution/tree/main/PKGBUILD/linux
the Neptune kernel uses those two patches and they're necessary for the config system to work as you'd expect, but they are not upstream. Ideally we'd get those in an upstreamable state rather than rely on out-of-tree patches, but for now they are required.
if you want to check if the config system works with those patches, I'd recommend asking your distro maintainers to include those for testing, or trying out a Neptune kernel with the patches like https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/linux-neptune-611-6.11.11.valve4-1-x86_64.pkg.tar.zst (and https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/linux-neptune-611-headers-6.11.11.valve4-1-x86_64.pkg.tar.zst if you want)
Thanks a bunch, I'll add those patches to the SteamFork kernel and try it :)
It works! thanks again