mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-11-12 03:21:08 +00:00
109 lines
6.4 KiB
Markdown
109 lines
6.4 KiB
Markdown
# DroidDeck 0.1.6 (pre-release)
|
||
|
||
**SteamDeck is now DroidDeck. A clean install now sets itself up on the first sign-in: the Linux
|
||
runtime on the loading screen, then Proton Experimental (ARM64) offered straight after you sign in,
|
||
with the client restarting itself once it lands. Plus full-page driver selection with downloads,
|
||
controller navigation throughout, session pause modes, Deck mode, a second-screen mode and Android
|
||
home-app integration.**
|
||
|
||
> ⚠️ **A new app, not an update.** DroidDeck has a new app ID (`com.droiddeck.launcher`), so it
|
||
> installs **beside** SteamDeck 0.1.5 rather than over it: the Linux runtime is downloaded again,
|
||
> you sign in to Steam again and settings start fresh. Logs are now in `Download/DroidDeck/` and
|
||
> the switch files are `droiddeck-env`, `droiddeck-osc` and so on - the old `steamdeck-*` names
|
||
> are no longer read. Remove SteamDeck when you are done with it.
|
||
|
||
---
|
||
|
||
## The name
|
||
|
||
The app, its ID, its code and everything it writes are **DroidDeck**; the repository is
|
||
`The412Banner/DroidDeck`. Valve's own *Steam Deck* names stay as they are (the client's
|
||
`-steamdeck` flag, the `steamdeck_publicbeta` branch, "Steam Deck mode"). Installed and signed
|
||
in on an AYN Pocket FIT: logs, session report and package all say DroidDeck.
|
||
|
||
## First run sets itself up
|
||
|
||
- **Play and Desktop work on a fresh install.** The loading screen downloads, checks and unpacks
|
||
the Linux runtime (then the desktop package, for Desktop) and starts the session; a failure ends
|
||
on the loading screen with the reason.
|
||
- **Proton Experimental (ARM64) right after the first sign-in.** A signed-out client used to drop
|
||
the install request, so the dialog only appeared after a manual restart. The session now watches
|
||
for the sign-in, asks again, and once the depot has landed restarts the client once by itself,
|
||
so the compatibility-tool list and defaults are current before you install a game (ported from
|
||
Bannerlator). Clean install on the FIT: signed in → dialog → 474 MB installed → client
|
||
restarted on its own within seconds.
|
||
- The loading screen no longer claims Steam keeps running in the background (see below).
|
||
|
||
## Drivers, as full pages
|
||
|
||
**Steam session › Runtime driver / Display driver** open a full page instead of a drop-down:
|
||
installed drivers (tap to use, tagged bundled / downloaded / imported), **downloads** from the
|
||
latest releases of **Banners-Turnip** and **WinNative** (Android and Linux builds, each variant from
|
||
the newest release that carries it), a **refresh** button that is the only thing that goes online,
|
||
and a **trash can on every driver** - bundled ones too, with *Restore built-in drivers*. Deleting
|
||
the driver in use falls back to Auto / Runtime default. Downloads, selection and delete used on
|
||
the FIT.
|
||
|
||
## Controller navigation
|
||
|
||
Every settings control shows a focus outline; the driver pages open on the driver in use, up
|
||
reaches refresh, right reaches a driver's trash can, and Back returns one level to where you left.
|
||
The session settings open with their first control focused. The **in-session drawer** now opens on
|
||
its STEAM button and takes the controller while it is open (d-pad and stick move, A selects, B
|
||
closes) instead of the game receiving it. Play and *credits* are outlined too. On the FIT.
|
||
|
||
## Sessions in the background (Kurt)
|
||
|
||
**Background behaviour: Auto / Manual / Never.** Auto pauses the session when the app leaves the
|
||
screen and resumes it when you come back; Manual pauses and waits for Resume; Never keeps it
|
||
running. Audio recovers across a pause. A session Android killed no longer leaves the next start on
|
||
the update spinner or a blank Gamepad UI (its leftovers are cleared at start). The cleanup on the
|
||
FIT.
|
||
|
||
## Steam Deck mode
|
||
|
||
`-steamdeck` with SteamOS helper stubs (no restart loop, no "Update Error", no dock-firmware row),
|
||
the `steamdeck_publicbeta` channel by default, the battery in the Quick Access Menu, **NIS** in the
|
||
QAM's scaling filters, and the QAM's **performance overlay** drawn by mangoapp (MangoHud),
|
||
bundled in the app. The QAM and battery on the FIT; ⚠️ NIS and the overlay not yet tried.
|
||
|
||
## More
|
||
|
||
- **Your own games** from any number of folders appear in the client's library as non-Steam games
|
||
under the ARM64 Proton, with store art looked up by name.
|
||
- **Audio:** the client is back on 0.1.5's classic sink by default (DirectAudio is a choice); games
|
||
keep DirectAudio; the microphone is on. *Setup › Session logs › Share latest logs.*
|
||
- **Display:** *Exactly this panel* shape for 4:3 and 3:2 handhelds, and a custom resolution per
|
||
mode.
|
||
- **Second screen (Kurt):** keyboard + trackpad controls or a Linux terminal on a secondary display.
|
||
- **Android home app (Kurt):** DroidDeck can be picked as the Home app; Home returns to the running
|
||
session and installed Android apps can be launched from the front end and the drawer.
|
||
- **Steam and QAM touch buttons (Kurt)** for the on-screen controls, and in the drawer header.
|
||
- **Launcher panels (Kurt):** Steam, Desktop and Setup are consistent tabs; desktop apps install and
|
||
uninstall from their own pages; compatibility tools are managed in place.
|
||
- The app's own gamescope build (ARM64 client fixes, realtime queues, a gamepad cursor) and its own
|
||
audio sinks ship inside the APK; the hosted runtime is unchanged.
|
||
|
||
---
|
||
|
||
## Carried over - still open
|
||
|
||
- On some Android 16 phones Firefox's tabs crash (shared-memory seals; `MOZ_SHM_NO_SEALS=1` in
|
||
`Download/droiddeck-env` is the workaround being tried) and the RPCS3 AppImage cannot unpack.
|
||
- NIS and the Deck-mode performance overlay are untested. VAC-protected games report insecure;
|
||
Linux-only Steam games will not start.
|
||
|
||
## Credits
|
||
|
||
- **Kurt Himebauch (xXJSONDeruloXx)** - background modes and audio recovery, second-screen
|
||
controls, Android home app, launcher panels, Steam/QAM touch buttons, the copy clean-ups.
|
||
- **maxjivi05 (Max)** - the gamescope runtime this is built on, from WinNative.
|
||
- **The412Banner** - the app, the compositor, the runtime plumbing and the Steam session.
|
||
- **Banners-Turnip** and **WinNative** driver builds (downloaded on request from their releases).
|
||
- **MangoHud (flightlessmango, MIT)** - the mangoapp the overlay uses, Valve's aarch64 build, bundled
|
||
with fmt, spdlog, glfw and libtracefs/libtraceevent.
|
||
|
||
GPL-3.0. **Not affiliated with Valve** - Steam, Proton and Steam Deck are Valve's. The Steam client
|
||
and Proton are fetched from Valve's own servers on your device and are not redistributed here; the
|
||
bundled mangoapp is MangoHud (MIT) as Valve builds it for aarch64.
|