Skip to content

Steam Deck installer uses outdated opengamepadui.raw and rejects newer SteamOS versions #529

Description

@Igilq

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:

opengamepadui-x86_64.raw

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:

  1. Use a Steam Deck running SteamOS 3.8.16.
  2. Download and run the official opengamepadui_deck_installer.desktop installer from the v0.46.0 release.
  3. Select the default/release installation option.
  4. Wait for the installer to download the OpenGamepadUI extension.
  5. The installer attempts to download opengamepadui.raw.
  6. The requested asset returns HTTP 404.
  7. The installer saves the 404 response as opengamepadui.raw.
  8. The resulting file is only 9 bytes.
  9. The installer attempts to process it with unsquashfs.
  10. 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:

  1. Detect the correct architecture and download opengamepadui-x86_64.raw on x86_64 Steam Decks.
  2. Verify that the download succeeded before attempting to install it.
  3. Provide an OpenGamepadUI extension compatible with the current supported SteamOS version.
  4. Install OpenGamepadUI without requiring manual modification of the SquashFS image.
  5. 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:

VERSION_ID=3.6.3

to:

VERSION_ID=3.8.16

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:

/usr/bin/opengamepadui

and reports:

4.7.1.stable.official.a13da4feb

This suggests there are two separate issues with the current Steam Deck installation path:

  1. The installer references the outdated/non-existent opengamepadui.raw asset instead of the architecture-specific opengamepadui-x86_64.raw.
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions