Files
erik 6e0f1c27db Initial commit: rtw89-steam-frame DKMS wrapper
DKMS package that fetches the in-tree rtw89 source for the target kernel,
applies the steam-frame patches, and builds/installs the patched RTL8852CU
modules for the Valve Steam Frame wireless adapter.

- dkms.conf: module list + install locations
- build.sh: fetch (gregkh/linux) + patch + build + verify
- register.sh: clone upstream patches, stage into /usr/src, dkms add/build/install

GPL-2.0-only.
2026-10-09 17:43:34 +02:00

2.3 KiB

rtw89-steam-frame dkms

DKMS wrapper for the patched Realtek rtw89 driver used by the Valve Steam Frame wireless adapter (28de:2432, RTL8852CU).

It builds the in-tree rtw89 source for whatever kernel you run (fetched from gregkh/linux), applies the steam-frame patches (pulled at register time via git from Davenport-Physics/rtw89-steam-frame), and auto-rebuilds on every kernel upgrade through the Arch DKMS pacman hooks.

Why

The Frame advertises a 6 GHz VLP power class and the stock driver honors it, capping the dongle at 7/4 dBm (1TX/2TX) — roughly 10 dB below what the Windows driver uses. That deficit caused MAC-layer retry storms and bursty micro-stutters in VR streaming (see SteamVR-for-Linux#965).

reg6_pwr_override=1 switches the adapter to the LPI table (12/11 dBm at 160 MHz), which on this system removed the missed-frame stalls even at ~1.8x the previous load. disable_2ghz=Y additionally disables the useless 2.4 GHz band (and the scan-offload USB resets associated with it).

Install / re-register

./register.sh         # As root

This clones upstream, stages /usr/src/rtw89-steam-frame-0.1, and runs dkms add/build/install for the current kernel. After that, the Arch pacman hooks (/usr/share/libalpm/hooks/70-dkms-*) rebuild it automatically on every kernel update.

Optional env overrides: RTW89_UPSTREAM, RTW89_UPSTREAM_REF, RTW89_KVER.

Preconditions

  • linux-headers installed and kept in sync with linux.
  • Network access at (re)build time — the kernel's rtw89 source and the patches are both fetched over HTTPS.

Files

file purpose
dkms.conf DKMS metadata (module list, install location)
build.sh DKMS build step: fetch rtw89 for $kernelver, patch, build, verify
register.sh pull upstream patches via git, stage, dkms add/build/install

Module parameters

Add this to modprobe.d, e.g. /etc/modprobe.d/rtw89-steam-frame.conf:

`options rtw89_core reg6_pwr_override=1 disable_2ghz=Y`

You might also want to disable advanced power management if not done so already (also supported by in-kernel driver):

`options rtw89_core disable_ps_mode=Y`