Commit Graph
1342 Commits
Author SHA1 Message Date
XxJSONDeruloxX 6cc289f7d3 test: avoid GPU pin scheduling races 2026-10-23 15:06:27 -04:00
XxJSONDeruloxX 9c66a1ac0a fix: select NOP packets for older Adreno cores 2026-10-23 15:04:50 -04:00
XxJSONDeruloxX 4d86839910 fix: preserve GPU stats while pinning clocks 2026-10-23 15:00:11 -04:00
XxJSONDeruloxX a4447039b9 ci: install native Vulkan and ARM64 C headers for tests 2026-10-23 13:48:55 -04:00
XxJSONDeruloxX 8355c1495b ci: bound apt phases and retry the official Ubuntu mirror 2026-10-23 13:48:55 -04:00
XxJSONDeruloxX fcf4c09c50 test: verify dependency installation fails closed 2026-10-23 13:48:55 -04:00
XxJSONDeruloxX 74d5daaa5d ci: parallelize regression checks and isolate component caches 2026-10-23 13:48:55 -04:00
0x1Nawaf 7c51e6e904 fix: draw the gamescope cursor only when that option is on
The extra plane costs frames on a phone, so compositing stays off unless Performance asks for it.
2026-10-23 13:30:42 -04:00
Kurt Himebauch b76f13f7ac fix: keep the shader pre-caching choice until a session confirms it, and read it from its own VDF section 2026-10-23 13:05:04 -04:00
Kurt Himebauch f88227ed74 feat: toggle Steam shader pre-caching from DroidDeck's Steam settings 2026-10-23 13:05:04 -04:00
Kurt Himebauch f683ca1dea fix: show the paused card already settled, skip it on auto resume, and cancel manual pauses on a quick return 2026-10-23 12:28:01 -04:00
Kurt Himebauch 6b6d7d2ac7 feat: lift paused frame into a grey card with a glass resume button 2026-10-23 12:28:01 -04:00
ovurrsl 70eec3cc32 fix: a half-built steamrt shim is removed, and its launcher accepts --directory DIR 2026-10-23 12:03:41 -04:00
ovurrsl 2eb18f5540 fix: document which Steam client builds Valve's arm64 manifests carry 2026-10-23 12:03:41 -04:00
ovurrsl 7aeb7779bb fix: fall back to Valve's stable Steam client when the beta one keeps failing
The native arm64 client follows steamdeck_publicbeta, so a Valve beta
regression reaches every user at once. If the repaired beta client is still
started twice without being shown, or the beta manifest carries no arm64
client, droiddeck-steam-install now installs steamdeck_stable, keeps it, and
logs why (listing the manifest's blocks in the second case). The session asks
the installer for the channel, so -clientbeta and package/beta stay in sync.
BL_STEAM_CHANNEL or ~/.config/droiddeck/steam-channel (beta|stable) pins it.

Valve's 2026-10-15 beta moved the x86 client into a Steam Runtime container.
In case the arm64 client follows, its session now exports
STEAM_STEAMRT_RECURSION_GUARD=1 and, only if steamrtarm64 carries pv-runtime
or a steam-runtime-check-requirements probe, starts it through the same
steamrt shim the x86-64 client uses (now droiddeck-steamrt-shim) and logs it.
2026-10-23 12:03:41 -04:00
FX192 b88eebe09b Inner Gamer: let Compose apply the animator scale once 2026-10-23 11:20:34 -04:00
FX192 5f341dda16 Inner Gamer: a new speed takes over at once, continuing from the current colour 2026-10-23 11:20:34 -04:00
FX192 5a1819a713 Themes.current also reloads the saved Inner Gamer speed 2026-10-23 11:20:34 -04:00
FX192 6b010baa9e Inner Gamer: read the animated hue while composing so the colors keep cycling 2026-10-23 11:20:34 -04:00
FX192 c7961bdacf Fix the build: rename moveRgbHue to avoid clashing with the rgbHue setter; Hindi verb agreement 2026-10-23 11:20:34 -04:00
FX192 f7acb7fcd7 Inner Gamer RGB theme with a speed slider; keep the colour picker's hex box in view above the keyboard
The hex box sat at the bottom of the picker, so with the keyboard up the dialog
was cut off and the field could not be seen. While the box has focus the dialog
now scrolls to its end, and again whenever the visible height changes, so the
hex box and OK / Cancel stay above the keyboard.

Inner Gamer is a new theme just above Gradient. Its accent walks round the
colour wheel on a Compose infinite transition, so Android's animation clock
drives it and it holds still when animations are off. The hue moves in 3 degree
steps so the app restyles only when the colour visibly changes. Setup shows a
Speed slider (1 to 10) while it is selected. The palette comes from
ThemeColors.palette, so button text stays readable at every hue.
2026-10-23 11:20:34 -04:00
Kurt Himebauch bf4aa58c68 Add File Manager Return and Exit navigation (#1301) 2026-10-23 11:04:35 -04:00
Kurt Himebauch 747c6eca87 feat: show dot-prefixed folders in game picker (#1363) 2026-10-23 10:59:38 -04:00
Kurt Himebauch 8ebba02688 fix: stop the authorship check from flagging people whose names contain an assistant's name (#1391) 2026-10-23 09:14:25 -04:00
Kurt Himebauch 4cbda4e51b fix: release the microphone before freezing a session so the SoC can sleep (#1389) 2026-10-23 08:52:10 -04:00
Kurt Himebauch b7bf189166 fix: stop the authorship check from flagging people whose names contain an assistant's name 2026-10-23 08:32:52 -04:00
Kurt Himebauch f3b5cadb7b fix: release the microphone before freezing a session so the SoC can sleep 2026-10-23 07:57:34 -04:00
MaxsTechReview ac0909eaa3 perf: let Wine read process memory counters from /proc directly (#1374) 2026-10-23 07:18:56 -04:00
SuziJay 789209ec37 Merge branch 'main' into feat/show-hidden-game-folders 2026-10-23 14:14:14 +08:00
MaxsTechReview ffa40a15d5 perf: run Wine's arm64 SIGUSR2 context switch without a kernel signal (#1371) 2026-10-23 02:12:49 -04:00
SuziJay 0127fa24aa feat: show dot-prefixed folders in game picker 2026-10-23 09:36:54 +08:00
MaxsTechReview 22eac0831d fix: keep the default launcher entry named MainActivity so RedMagic Game Space keeps DroidDeck (#1345) 0.6.0 2026-10-22 20:54:12 +00:00
MaxsTechReview 7b7c978edd docs: DroidDeck 0.6.0 release notes (#1343)
* docs: DroidDeck 0.6.0 release notes

* docs: put the 0.6.0 feature GIFs above their features

* docs: say which way is better on every 0.6.0 chart
2026-10-22 16:18:18 -04:00
MaxsTechReview de505d79a1 chore: bump version to 0.6.0 (15) (#1344) 2026-10-22 16:07:07 -04:00
The412Banner 32c85dfba1 fix(xbox): put the helper's sign-in failure code in the shared log (#1342)
A user's log (#1300) showed "the Xbox helper stopped with exit code 1", but
not why. Before it asks for the Microsoft page the helper can only fail while
opening the credential store or registering the device, and it prints a code
for that (NEXUS_CREDENTIAL_ERROR_V1 keyring-unavailable, device-
authentication, ...). Sign-in runs in its own process, where
StoresState.logLine writes no file, so that line only reached logcat. The
sign-in window now writes the helper's known diagnostics to the stores log
itself, and the credential bridge writes why it refused the helper there too.
Lines are stamped by a shared StoreLogFiles.stamped.
2026-10-22 15:56:09 -04:00
MaxsTechReview f27d0b006f perf: Wine's write watches stop costing a signal per page on arm64 (#1333)
Wine asks for userfaultfd with the i386 syscall number on arm64, so it
never gets one and falls back to mprotect and a SIGSEGV per first write,
which under proot is a ptrace stop each time. libblsession hands it the
real userfaultfd and, where Android refuses the PAGEMAP_SCAN ioctl, answers
it from /proc/self/pagemap and UFFDIO_WRITEPROTECT.
2026-10-22 19:53:12 +00:00
MaxsTechReview 9a4a611d38 fix: Steam starts again on phones where PipeWire took every client for a sandboxed app (#1338)
PipeWire's access module checks each client's /proc/<pid>/root for a
Flatpak marker. Where that lookup fails under proot (seen on a nubia
NX809J), PipeWire treats the client as sandboxed and holds it until the
session manager grants permissions, and WirePlumber, itself held, never
does. gamescope then waits forever for its capture stream and never
starts Steam: a black screen until the session is closed.

The session's PipeWire now gives both of its sockets unrestricted access
and WirePlumber keeps those clients at full permissions, so nothing
depends on that lookup.
2026-10-22 19:30:35 +00:00
MaxsTechReviewandKurt Himebauch 006db14561 perf: SD card library files resolve through the fast path instead of proot (#1331)
perf: files in an SD card library resolve through the fast path instead of proot

A library bound at several guest names (droiddeck-sd, bannerlator-sd and
case variants) made every symlink and /proc/self/fd readlink under it fall
back to proot. The fast path now orders its binds the way proot does and
gives each host path the name proot would, and lstat("link/.") follows
the link as the kernel does.

Co-authored-by: Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com>
2026-10-22 19:11:29 +00:00
MaxsTechReview d9c03369a2 Merge branch 'main' into Test 2026-10-22 14:52:13 -04:00
Kurt Himebauch f61525162d feat: games show their logo, and store games get one from the store (#999) 2026-10-22 14:48:23 -04:00
The412BannerandxXJsonDeruloXx 58f0f27f39 fix(xbox): show why Microsoft sign-in fails, and the gamertag instead of the email (#1322)
Sign-in sat on a black "Preparing Microsoft sign-in…" screen while the Xbox
components downloaded and the helper started, then only said "did not
complete" (#1300). The window now names each step (with download progress),
and a failure says which step failed and why. Our own messages are shown as
written; anything else is named by its exception type only. The line also goes
to the stores log, which the shared log zip carries.

The Stores page showed the account's sign-in email. It now shows the Xbox
gamertag, read with `xodus-cli profile` after the library sync on its own
thread (75 s limit: the command allows itself 45 s, plus PRoot start-up), once
per signed-in account. Until it is known the email is shown masked, and only
the store label while credentials are temporarily unreadable. The account key
used for caches and launches is unchanged.

Co-authored-by: xXJsonDeruloXx <danielhimebauch@gmail.com>
2026-10-22 14:30:38 -04:00
Kurt Himebauch 633f66fd49 Fix main APK 7zip dependency download (#1334) 2026-10-22 14:13:05 -04:00
Kurt Himebauch 5461886a82 Pin CI 7zip download to verified package mirror 2026-10-22 13:54:22 -04:00
Kurt Himebauch 498a33170f fix: the performance overlay shows the GPU load on Adreno phones whose kgsl busy percentage is unreadable (#1326) 2026-10-22 13:31:38 -04:00
xXJSONDeruloXx 13249402ad Merge main and share GPU busy reads 2026-10-22 13:31:17 -04:00
Kurt Himebauch a50f7333ea fix: latch kgsl GPU busy windows so MangoHud's GPU load stops reading 0% (#1327) 2026-10-22 13:28:24 -04:00
Kurt Himebauch a4eee5c2a4 feat: page the session out to zram before suspending it, and zram is always on where supported (#1317) 2026-10-22 13:28:20 -04:00
Kurt Himebauch 65aeeabfb5 Merge current main into PR #1326 2026-10-22 13:11:10 -04:00
Kurt Himebauch 90efeacb41 Merge current main into PR #1327 2026-10-22 13:11:10 -04:00
Kurt Himebauch 39b5b3cdcd Merge current main into PR #1301 2026-10-22 13:11:09 -04:00