Steam Deck - ArchWiki

Jump to content

# Steam Deck

1 language

- 日本語

From ArchWiki
Warning: This article discusses use of the Steam Deck with plain Arch Linux, not SteamOS. While the latter is an Arch-based distribution, it has several packages that differ from the official repositories, and is not supported by the Arch Linux community.

This article or section needs expansion.

Reason: Mention opensd-gitAUR (Discuss in Talk:Steam Deck)

Hardware | PCI/USB ID | Working?
--- | --- | ---
microSD card reader | `1217:8621` | Yes
WiFi (LCD/Jupiter) | `10ec:c822` | Yes
WiFi (OLED/Galileo) | `17cb:1103` | No
GPU (LCD/Jupiter) | `1002:163f` | Yes
GPU (OLED/Galileo) | `1002:1435`
Audio | `1022:15e2` | Yes
Bluetooth (LCD/Jupiter) | `13d3:3553` | Yes
Bluetooth (OLED/Galileo) | `17cb:1103` | No
Touchscreen | `2808:1015` | Yes
Steam Deck controls | `28de:1205` | Yes

The Steam Deck is a gaming-focused handheld PC from Valve. Since it is completely unlocked and by design has full Linux driver compatibility, it can easily be used as an all-purpose handheld PC with Arch Linux.

## Accessibility

The firmware has white text on black background, which should be fine with OCR. Blind users may still want to request the help of a sighted person to change firmware settings or selecting a boot device.

Navigation can be done with a keyboard and mouse, or the physical buttons (`DPad` and `A`,`B`,`X`,`Y`) and tactile screen of the device.

There is a single LED at the top of the device, but it does not provide diagnostic codes.

## Installation

You can install Arch Linux from the SteamOS "Desktop Mode", although this way of installing is more involved than using a USB flash installation medium through the microSD card slot or the USB-C port.

If you choose to use an Arch Linux installation medium, hold down `Volume Down` and press the `Power` buttons to boot on it when starting up the deck.

## Firmware

fwupd does not support any devices in the Steam Deck. Updates for the firmware are provided through SteamOS.

For the LCD models, firmware F7A0131 is the first to enable support for the `amd_pstate` CPU frequency scaling driver.

### Shortcuts

- Hold down `Volume Up` and press the `Power` button to access the UEFI settings,
- Hold down `Volume Down` and press the `Power` button to access the UEFI boot menu (called "Boot Manager" in Valve's documentation),
- Hold down `⋯` ("Three Dots" button under the right touchpad) and press the `Power` button to access Valve's bootloader menu,
- Hold down `Volume Down+Power+⋯` ("Three Dots" button under the right touchpad) to reset the UEFI settings to their defaults (keep the two buttons other than `Power` held after the first blink of the LED: the LED will blink during the operation and stop once done, then release the buttons).

## Wireless

Since mainline kernel version 6.6.2, Wi-Fi and Bluetooth only work on the LCD models.

They can be made to work on the OLED models by using the neptune kernel from Valve's jupiter repository.

## Audio

Since mainline kernel version 6.6.2, the built-in speakers, microphone, and headphone jack only work on the LCD models.

On OLED models, they can be made to work with the neptune kernel from the jupiter repository, but this additionally requires manually installing the relevant firmware and ALSA configuration files from the steamdeck-dsp and alsa-ucm-conf packages from jupiter.

Tip: Audio defaults are very low in ALSA. For speakers, under the acp5x card, you will want to raise the following items.

- Analog PCM
- Digital
- Digital PCM
- Left Analog PCM
- Left Digital PCM
- Right Analog PCM
- Right Digital PCM

## Display

### Orientation

On Wayland with GDM, the display and touchscreen work correctly in all orientations, without any tweaks. Depending on the model, the orientation may default to portrait but can be changed as normal in a desktop environment's settings.

On Xorg, a manual orientation fix may be needed depending on the display manager used. If the screen defaults to portrait, it can be rotated using xrandr.

    $ xrandr -o right

The touchscreen can then be mapped to the proper orientation using xinput.

    $ xinput --map-to-output 'pointer:FTS3528:00 2808:1015' eDP

To have this persist on reboots, put this in a shell script and add it to your window manager startup script.

### Refresh rates

This article or section needs expansion.

Reason: Check which rates are auto-detected on the BOE OLED, experiment with forced KMS on both Samsung and BOE OLEDs, experiment with EDID editing. (Discuss in Talk:Steam Deck)

The Steam Deck's display supports a wide range of refresh rates, but display managers will not auto-detect most of them.

On LCD models, only 60Hz is auto-detected, but 50Hz works well when force-enabled via KMS:

    video=eDP-1:800x1280M@50

On OLED models with the Samsung display, 90Hz and 60Hz are auto-detected.

### Gamut

The OLED models are billed as HDR-capable and have a much wider gamut than sRGB, but this causes sRGB-targeting content, including most games, to appear greatly oversaturated. There is no way to reconfigure the display itself to better handle sRGB content (even on SteamOS, the "vibrancy" adjustment is only handled by gamescope). Fortunately, the display's EDID exposes fairly accurate color information and as such GNOME and KDE will auto-generate an ICC profile that can be used to good effect absent per-device calibration. This profile can even be converted to a LUT via displaycal and injected into games through vkbasaltAUR.

## Fan controls

The Steam Deck's fan control can be enhanced by a daemon provided in Valve's jupiter repository, but are fully functional without it.

If you are using a mainline kernel, you need patches from Valve's kernel to expose the corresponding ACPI functionality, for example by installing the user-adapted steamdeck-dkmsAUR ACPI platform driver in DKMS form.

## Function keys

Key | Visible?1 | Marked?2 | Effect
--- | --- | --- | ---
`Volume Down` | Yes | Yes | `VolumnDown`
`Volume Up` | Yes | Yes | `VolumnUp`
`Power` | Yes3 | Yes | `XF86PowerOff`
`Select` | Yes | Yes | `Tab`
`DPad Up` | Yes | Yes | `Up`
`DPad Left` | Yes | Yes | `Left`
`DPad Right` | Yes | Yes | `Right`
`DPad Down` | Yes | Yes | `Down`
`Start` | Yes | Yes | `Escape`
`A` | Yes | Yes | `Enter`
`B` | Yes | Yes | `Escape`
`X` | No | Yes |
`Y` | No | Yes |
`Steam` | No | Yes |
`⋯` "Three dots" | No | Yes |
`L1` | No | Yes |
`L2` | Yes | Yes | `Right click`
`R1` | No | Yes |
`R2` | Yes | Yes | `Left click`
`R4` | No | Yes |
`R5` | No | Yes |
`L4` | No | Yes |
`L5` | No | Yes |

1. The key is visible to `xev` and similar tools.
2. The physical key has a symbol on it, which describes its function.
3. systemd-logind handles this by default.

## Mimic SteamOS behavior

Note: A good amount of performance related features, such as "Framerate Limit" or "Thermal Power (TDP) Limit" will be missing compared to a stock SteamOS install. Valve did not put all that development work into SteamOS for nothing!

### Auto-login

To set your system to automatically login without password, you can use any display manager and configure it to do so, for example LightDM.

### Big Picture Networking

To enable Steam Big Picture networking support, you must use NetworkManager.

### Steam client integration

You can launch steam with the `-steamos` launch option to enable fullscreen UI elements such as login and client updates.

### On-screen keyboard

See KDE#Plasma Mobile, GNOME on-screen keyboard or List of applications/Utilities#On-screen keyboards for information on how to set up an on-screen keyboard.

### Alternative Steam Deck controller driver

You can use sc-controllerAUR, which adds support for the Steam Deck, as an alternative to the Steam client controller driver.

This is useful if you wish to use complex profiles without using Steam, or for non-Steam games as the native driver controller profiles don't always change properly on launch and often send double inputs as a result.

If you want to go back to the Steam driver, you need to first disable sc-controller from the UI using the green button on the top left, then start/restart Steam.

## See also

- Steam Deck Recovery Instructions
- LCD model Linux Hardware Database probe
- OLED model Linux Hardware Database probe

Category:

- Ultra-mobile PC

Hidden category:

- Pages or sections flagged with Template:Expansion