Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,10 @@ export default defineConfig({
},
link: 'installation/desktop_environments',
},
{
label: 'Handheld Compatibility',
link: 'installation/handheld_compatibility',
},
{
label: 'Guides',
translations: {
Expand Down
173 changes: 173 additions & 0 deletions src/content/docs/installation/handheld_compatibility.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
---
title: Handheld Device Compatibility
description: Compatibility of the Handheld CachyOS edition
---

CachyOS Handheld Edition provides support for various handheld gaming devices with a SteamOS-like experience. This page documents the compatibility status of supported devices and the tools used for hardware control.

## Supported Devices

| Device | Status |
|--------|--------|
| Steam Deck (LCD) | ✅ Fully Supported |
| Steam Deck (OLED) | ✅ Fully Supported |
| ASUS ROG Ally | ✅ Fully Supported |
| ASUS ROG Ally X | ✅ Fully Supported |
| ASUS Xbox ROG Ally | ✅ Fully Supported |
| ASUS Xbox ROG Ally X | ✅ Fully Supported |
| Lenovo Legion Go | ✅ Fully Supported |
| Lenovo Legion Go S | ✅ Fully Supported |
| Lenovo Legion Go 2 | ✅ Fully Supported |
| MSI Claw (1st Gen) | ⚠️ Partial Support |
| MSI Claw 7/8 AI+ | ⚠️ Partial Support |
| MSI Claw A8 | ⚠️ Partial Support |

## Tool Compatibility Matrix

The following matrix shows which tools are used for each device category:

### Input Controls

| Tool | Steam Deck | ROG Ally / Ally X | Xbox ROG Ally | Legion Go (1, 2, S) | MSI Claw |
|------|------------|-------------------|---------------|---------------------|----------|
| **HHD** | ❌ Not Used | ❌ Not Used | ❌ Not Used | ✅ Full Support | ⚠️ Partial (no gyro on newer models) |
| **InputPlumber** | ❌ Not Used | ✅ Full Support | ⚠️ Partial (vibration intensity too strong, not adjustable) | ❌ Not Used | ❌ Not Used |
| **SteamOS-Manager** | ✅ Native | ❌ Not Used | ❌ Not Used | ⚠️ Optional | ❌ Not Used |

### TDP Controls

| Tool | Steam Deck | ROG Ally / Ally X | Xbox ROG Ally | Legion Go (1, 2, S) | MSI Claw |
|------|------------|-------------------|---------------|---------------------|----------|
| **HHD** | ❌ Not Used | ❌ Not Used | ❌ Not Used | ✅ Full Support | ⚠️ Partial (minor issues on A8) |
| **InputPlumber** | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A |
| **SteamOS-Manager** | ✅ Full Support | ⚠️ Partial (no custom platform profile; requires Performance profile, then reopen QAM) | ⚠️ Partial (no custom platform profile; requires Performance profile, then reopen QAM) | ⚠️ Optional | ❌ Not Used |
| **rog-control-center** | ❌ N/A | ✅ Full Support | ✅ Full Support | ❌ N/A | ❌ N/A |

### RGB Controls

| Tool | Steam Deck | ROG Ally / Ally X | Xbox ROG Ally | Legion Go (1, 2, S) | MSI Claw |
|------|------------|-------------------|---------------|---------------------|----------|
| **HHD** | ❌ N/A | ❌ Not Used | ❌ Not Used | ✅ Full Support | ✅ Full Support |
| **InputPlumber** | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A |
| **SteamOS-Manager** | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A |
| **rog-control-center** | ❌ N/A | ⚠️ Partial (not manageable directly in Steam) | ⚠️ Partial (not manageable directly in Steam) | ❌ N/A | ❌ N/A |

### Fan Controls

| Tool | Steam Deck | ROG Ally / Ally X | Xbox ROG Ally | Legion Go (1, 2, S) | MSI Claw |
|------|------------|-------------------|---------------|---------------------|----------|
| **HHD** | ❌ Not Used | ❌ Not Used | ❌ Not Used | ✅ Full Support | ✅ Full Support |
| **InputPlumber** | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A |
| **SteamOS-Manager** | ❌ Not Used | ❌ Not Used | ❌ Not Used | ❌ Not Used | ❌ Not Used |
| **rog-control-center** | ❌ N/A | ✅ Full Support | ✅ Full Support | ❌ N/A | ❌ N/A |
| **jupiter-fan-control** | ✅ Full Support | ❌ N/A | ❌ N/A | ❌ N/A | ❌ N/A |

## Device-Specific Notes

### Steam Deck (LCD/OLED)

- Uses native SteamOS components
- **steamos-manager**: GPU clock and TDP management, BIOS/dock updates, storage maintenance, battery charge limit
- **jupiter-fan-control**: Fan curve management
- **jupiter-hw-support**: Hardware support package
- Steam Deck OLED additionally uses **galileo-mura** for display calibration

### ASUS ROG Ally / Ally X / Xbox ROG Ally

- **InputPlumber** is used instead of HHD due to kernel driver compatibility
- **rog-control-center** provides TDP, RGB, and fan controls
- Uses ASUS kernel patches by Luke Jones for proper hardware support
- RGB controls via rog-control-center cannot be managed directly in Steam currently
- TDP controls via steamos-manager are janky due to lack of a custom platform profile — you need to switch to the Performance platform profile first, then reopen the Quick Access Menu (QAM) for TDP controls to appear
- **Xbox ROG Ally** has an issue where vibration intensity is too strong and currently cannot be adjusted

> **Note:** HHD is not supported on ROG Ally devices in CachyOS due to conflicts with the kernel driver implementation.

### Lenovo Legion Go (1, 2, S)

- **HHD (Handheld Daemon)** provides full hardware control
- Features include:
- Controller emulation (DualSense Edge)
- Gyroscope support (may not work reliably on some models)
- TDP management
- RGB lighting control
- Fan curve management
- **steamos-manager** can optionally be used for TDP control (requires Lenovo kernel driver)

### MSI Claw

- **HHD** provides partial support with the following limitations:
- **1st Gen**: May require older BIOS; WiFi issues after sleep reported
- **7/8 AI+**: No gyroscope support
- **A8**: Minor TDP issues; no gyroscope support

## Tool Overview

### HHD (Handheld Daemon)

Handheld Daemon provides hardware enablement for Windows handhelds running Linux. It acts as a vendor interface replacement (similar to Armoury Crate) with:
- Fan curves
- TDP controls
- Controller emulation (including gyro, back buttons, SteamOS shortcuts)
- RGB remapping

Access via the gamescope overlay by double-tapping the side menu button.

**Repository:** [github.com/hhd-dev/hhd](https://github.com/hhd-dev/hhd)

### InputPlumber

InputPlumber is an open-source input routing and control daemon for Linux. It can combine multiple input devices and translate their input to various virtual device formats.

Features:
- Combine multiple input devices
- Emulate mouse, keyboard, and gamepad inputs
- Intercept and route input over DBus for overlay interface control
- Input mapping profiles

**Repository:** [github.com/ShadowBlip/InputPlumber](https://github.com/ShadowBlip/InputPlumber)

### SteamOS-Manager

SteamOS Manager is a system daemon that abstracts Steam's interactions with the operating system. It provides a standardized DBus interface for SteamOS-specific features.

Features:
- GPU clock management
- TDP management
- BIOS/Dock updates
- Storage device maintenance
- External storage formatting
- Battery charge limit (Steam Deck)

**Repository:** [gitlab.steamos.cloud/holo/steamos-manager](https://gitlab.steamos.cloud/holo/steamos-manager)

### rog-control-center

ROG Control Center provides hardware control for ASUS ROG devices on Linux, including:
- TDP/Power profile management
- RGB lighting control
- Fan curve configuration

## Troubleshooting

### ROG Ally: HHD Not Working

HHD is intentionally disabled on ROG Ally devices in CachyOS. Use **InputPlumber** for input controls and **rog-control-center** for TDP, RGB, and fan controls.

### Legion Go: TDP Controls Not Working

Ensure the Lenovo kernel driver is installed. TDP control can be done via:
- HHD (recommended)
- steamos-manager (requires kernel driver)
- SimpleDeckyTDP (Decky plugin)

### MSI Claw: WiFi Issues After Sleep

This is a known issue on 1st Gen MSI Claw devices. A BIOS update may help resolve this issue.

## See Also

- [Handheld Edition Installation](/installation/installation_handheld/)
- [Gaming with CachyOS](/configuration/gaming/)
- [CachyOS Hardware Detection (chwd)](/features/chwd/chwd/)