Describe the bug
The Steam Deck installer for OpenGamepadUI v0.46.0 attempts to download opengamepadui.raw, but this asset does not exist in the v0.46.0 release.
The installer uses:
https://github.com/ShadowBlip/OpenGamepadUI/releases/latest/download/opengamepadui.raw
This redirects to the v0.46.0 release, where opengamepadui.raw returns HTTP 404.
The actual x86_64 asset in the release is:
Because the installer does not check the HTTP response status, it saves the 404 response as opengamepadui.raw. The resulting file is only 9 bytes and is not a valid SquashFS image.
The installer then fails with:
FATAL ERROR: Can't find a valid SQUASHFS superblock on opengamepadui.raw
There is also a second issue: after manually downloading the correct opengamepadui-x86_64.raw asset, systemd-sysext rejects it because the extension metadata specifies SteamOS 3.6.3, while the Steam Deck is running SteamOS 3.8.16:
Extension 'opengamepadui' is for OS '3.6.3', but deployed on top of '3.8.16'.
No suitable extensions found (1 ignored due to incompatible image(s)).
To Reproduce
Steps to reproduce the behavior:
- Use a Steam Deck running SteamOS 3.8.16.
- Download and run the official
opengamepadui_deck_installer.desktop installer from the v0.46.0 release.
- Select the default/release installation option.
- Wait for the installer to download the OpenGamepadUI extension.
- The installer attempts to download
opengamepadui.raw.
- The requested asset returns HTTP 404.
- The installer saves the 404 response as
opengamepadui.raw.
- The resulting file is only 9 bytes.
- The installer attempts to process it with
unsquashfs.
- The following error occurs:
Read on filesystem failed because EOF
FATAL ERROR: Can't find a valid SQUASHFS superblock on opengamepadui.raw
If the correct opengamepadui-x86_64.raw asset is downloaded manually, systemd-sysext refresh instead reports:
Extension 'opengamepadui' is for OS '3.6.3', but deployed on top of '3.8.16'.
No suitable extensions found (1 ignored due to incompatible image(s)).
Expected behavior
The Steam Deck installer should:
- Detect the correct architecture and download
opengamepadui-x86_64.raw on x86_64 Steam Decks.
- Verify that the download succeeded before attempting to install it.
- Provide an OpenGamepadUI extension compatible with the current supported SteamOS version.
- Install OpenGamepadUI without requiring manual modification of the SquashFS image.
- Consider using a minimum supported SteamOS version in the extension compatibility metadata rather than requiring an exact
VERSION_ID match.
For example, an extension built for SteamOS 3.6.x could potentially declare that it requires SteamOS >= 3.6.x, allowing it to remain usable on newer compatible SteamOS releases such as 3.8.x, instead of being rejected solely because the host has a newer version.
This would also make older OpenGamepadUI releases potentially usable on newer SteamOS versions when there are no known compatibility-breaking changes.
Ideally, the installer could either:
- use a minimum supported SteamOS version in the extension metadata, or
- explicitly check the host SteamOS version and allow installation when the host is newer than the minimum supported version, while still rejecting older/incompatible systems.
Screenshots:
Not applicable. The issue can be reproduced from the terminal and the relevant error messages are included above.
Hardware Information:
- Hardware Model: Steam Deck
- Processor: AMD APU
- Graphics: AMD Radeon Graphics
Software Information:
- OpenGamepadUI Version: v0.46.0
- OS Name: SteamOS 3.8.16
- OS Architecture: x86_64
- Desktop Environment: KDE Plasma / Gamescope Session
- Kernel Version: Linux 6.16.12-valve24.5-1-neptune-616-gb2f7cfe85e45
Additional context
The correct opengamepadui-x86_64.raw asset can be downloaded successfully from the v0.46.0 release.
The downloaded file is a valid SquashFS 4.0 filesystem:
Squashfs filesystem, little endian, version 4.0, zlib compressed
Its SHA256 checksum also matches the published checksum:
1ae3a4c2d2d827422e69688139961b4de2382b2007cd0974a0040f10d9f6bbb7
The extension metadata inside the image contains:
ID=steamos
VERSION_ID=3.6.3
while the host system is SteamOS 3.8.16.
As a temporary local workaround, I extracted the SquashFS image, changed the extension metadata from:
to:
and rebuilt the image.
After doing this, systemd-sysext status successfully reports:
HIERARCHY EXTENSIONS SINCE
/opt none -
/usr opengamepadui Tue 2026-08-11 20:21:52 CEST
OpenGamepadUI is then available at:
and reports:
4.7.1.stable.official.a13da4feb
This suggests there are two separate issues with the current Steam Deck installation path:
- The installer references the outdated/non-existent
opengamepadui.raw asset instead of the architecture-specific opengamepadui-x86_64.raw.
- The published x86_64 extension has SteamOS 3.6.3 compatibility metadata and is rejected by
systemd-sysext on SteamOS 3.8.16.
A further improvement would be to make the SteamOS compatibility check use a minimum supported version rather than exact version equality. This could allow an older OpenGamepadUI release to continue working on newer SteamOS releases where the underlying interface remains compatible.
It would also be useful for the installer to verify the HTTP status and/or SHA256 checksum before attempting to mount or extract the downloaded image, so a 404 response cannot be treated as a valid extension.
Describe the bug
The Steam Deck installer for OpenGamepadUI v0.46.0 attempts to download
opengamepadui.raw, but this asset does not exist in the v0.46.0 release.The installer uses:
This redirects to the v0.46.0 release, where
opengamepadui.rawreturns HTTP 404.The actual x86_64 asset in the release is:
Because the installer does not check the HTTP response status, it saves the 404 response as
opengamepadui.raw. The resulting file is only 9 bytes and is not a valid SquashFS image.The installer then fails with:
There is also a second issue: after manually downloading the correct
opengamepadui-x86_64.rawasset,systemd-sysextrejects it because the extension metadata specifies SteamOS 3.6.3, while the Steam Deck is running SteamOS 3.8.16:To Reproduce
Steps to reproduce the behavior:
opengamepadui_deck_installer.desktopinstaller from the v0.46.0 release.opengamepadui.raw.opengamepadui.raw.unsquashfs.If the correct
opengamepadui-x86_64.rawasset is downloaded manually,systemd-sysext refreshinstead reports:Expected behavior
The Steam Deck installer should:
opengamepadui-x86_64.rawon x86_64 Steam Decks.VERSION_IDmatch.For example, an extension built for SteamOS 3.6.x could potentially declare that it requires SteamOS >= 3.6.x, allowing it to remain usable on newer compatible SteamOS releases such as 3.8.x, instead of being rejected solely because the host has a newer version.
This would also make older OpenGamepadUI releases potentially usable on newer SteamOS versions when there are no known compatibility-breaking changes.
Ideally, the installer could either:
Screenshots:
Not applicable. The issue can be reproduced from the terminal and the relevant error messages are included above.
Hardware Information:
Software Information:
Additional context
The correct
opengamepadui-x86_64.rawasset can be downloaded successfully from the v0.46.0 release.The downloaded file is a valid SquashFS 4.0 filesystem:
Its SHA256 checksum also matches the published checksum:
The extension metadata inside the image contains:
while the host system is SteamOS 3.8.16.
As a temporary local workaround, I extracted the SquashFS image, changed the extension metadata from:
to:
and rebuilt the image.
After doing this,
systemd-sysext statussuccessfully reports:OpenGamepadUI is then available at:
and reports:
This suggests there are two separate issues with the current Steam Deck installation path:
opengamepadui.rawasset instead of the architecture-specificopengamepadui-x86_64.raw.systemd-sysexton SteamOS 3.8.16.A further improvement would be to make the SteamOS compatibility check use a minimum supported version rather than exact version equality. This could allow an older OpenGamepadUI release to continue working on newer SteamOS releases where the underlying interface remains compatible.
It would also be useful for the installer to verify the HTTP status and/or SHA256 checksum before attempting to mount or extract the downloaded image, so a 404 response cannot be treated as a valid extension.