From 061ae17cc23880c9838819f814bdbb1baff855bc Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Wed, 14 Oct 2026 17:06:11 +0300 Subject: [PATCH 01/38] Add MaliBridge as a submodule at external/MaliBridge MaliBridge (https://github.com/ASEbrahim/MaliBridge) is a Vulkan command bridge that lets the Linux side draw on a non-Adreno GPU (Mali) through the phone's own Vulkan driver. Pinned at v0.5.3.1. --- .gitmodules | 3 +++ external/MaliBridge | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 external/MaliBridge diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..299e3b068 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "external/MaliBridge"] + path = external/MaliBridge + url = https://github.com/ASEbrahim/MaliBridge.git diff --git a/external/MaliBridge b/external/MaliBridge new file mode 160000 index 000000000..669e668cf --- /dev/null +++ b/external/MaliBridge @@ -0,0 +1 @@ +Subproject commit 669e668cf4a380757dd532d991a35673307a70c3 From a69ce00b6a73678a37763a9f94c2b29e856ff596 Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Wed, 14 Oct 2026 17:06:11 +0300 Subject: [PATCH 02/38] Build and package the Mali bridge from external/MaliBridge The server is built with the NDK into libvkbridge_server.so (a program the app execs from its native library directory); the Linux ICD, its manifest and the self-test go into the runtime assets with the other glibc preloads, locally and in CI. --- app/build.gradle | 15 +++++++++++++++ tools/build_local.sh | 5 +++++ 2 files changed, 20 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 1c9b9bad8..08d3b958c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -325,6 +325,21 @@ def buildRustStores = tasks.register('buildRustStores', Exec) { if (!skipRust) android.sourceSets.main.jniLibs.srcDir(rustJniLibsDir) tasks.named('preBuild').configure { dependsOn(buildRustStores) } +def maliBridgeDir = rootProject.file('external/MaliBridge') +def vkbridgeJniLibsDir = layout.buildDirectory.dir('vkbridgeJniLibs') +def buildVkBridgeServer = tasks.register('buildVkBridgeServer', Exec) { + description = 'Builds the Vulkan bridge server (libvkbridge_server.so) with the NDK.' + inputs.dir(new File(maliBridgeDir, 'common')) + inputs.dir(new File(maliBridgeDir, 'server')) + inputs.dir(new File(maliBridgeDir, 'third_party')) + inputs.file(new File(maliBridgeDir, 'scripts/build-server-android.sh')) + outputs.dir(vkbridgeJniLibsDir) + commandLine 'bash', new File(maliBridgeDir, 'scripts/build-server-android.sh').absolutePath, + android.ndkDirectory.absolutePath, vkbridgeJniLibsDir.get().asFile.absolutePath +} +android.sourceSets.main.jniLibs.srcDir(vkbridgeJniLibsDir) +tasks.named('preBuild').configure { dependsOn(buildVkBridgeServer) } + dependencies { implementation "org.opencv:opencv:${trackingPack.OPENCV_VERSION}" implementation 'org.khronos.openxr:openxr_loader_for_android:1.1.49' diff --git a/tools/build_local.sh b/tools/build_local.sh index a980d70a6..4a58f7721 100755 --- a/tools/build_local.sh +++ b/tools/build_local.sh @@ -40,6 +40,10 @@ if [[ ! -x "${java_dir}/bin/java" ]]; then echo "Java 17 not found at ${java_dir}; set JAVA_HOME." >&2 exit 1 fi +if [[ ! -f "${repo_root}/external/MaliBridge/scripts/build-client-linux.sh" ]]; then + echo "external/MaliBridge is empty; run: git submodule update --init" >&2 + exit 1 +fi if ! command -v docker >/dev/null 2>&1; then echo "Docker is required to cross-compile the glibc ARM64 preload libraries." >&2 exit 1 @@ -137,6 +141,7 @@ docker run --rm --platform linux/amd64 \ -o "$d/libssbs.so" tools/linuxfs/ssbs/ssbs_adapter.c -ldl aarch64-linux-gnu-strip --strip-unneeded "$d/libssbs.so" mkdir -p "$d/usr/local/bin" + external/MaliBridge/scripts/build-client-linux.sh "$d" aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc -O2 -Wall -Wextra -o "$d/usr/local/bin/droiddeck-clipboard" tools/linuxfs/clipboard/clipboard.c -ldl aarch64-linux-gnu-strip --strip-unneeded "$d/usr/local/bin/droiddeck-clipboard" for script in tools/linuxfs/overlay/usr/local/bin/droiddeck-* tools/linuxfs/overlay/usr/local/bin/steam-compatibility; do From c883ce4439697ca7e1dc1d92b7d934287ffe7c1e Mon Sep 17 00:00:00 2001 From: maxjivi05 Date: Sun, 25 Oct 2026 19:47:41 -0400 Subject: [PATCH 03/38] CI builds the MaliBridge client as a component The components job checks out external/MaliBridge and builds the guest ICD, its manifest and the self-test as the vkbridge recipe; a submodule counts in a recipe's identity by its pinned commit. --- .github/workflows/build.yml | 15 +++++++++++++++ tools/components/prepare.py | 3 +++ tools/components/recipes.json | 15 +++++++++++++++ tools/components/recipes/vkbridge.sh | 4 ++++ tools/tests/test_component_prepare.py | 20 ++++++++++++++++++++ 5 files changed, 57 insertions(+) create mode 100644 tools/components/recipes/vkbridge.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1d39651c0..75a28f793 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -149,6 +149,8 @@ jobs: run: test "$(git rev-parse 'HEAD^{tree}')" = "$SOURCE_TREE" - name: Resolve the pinned Android NDK run: bash tools/ci/resolve-ndk.sh + - name: Check out MaliBridge + run: git submodule update --init external/MaliBridge - name: Plan component identities id: plan @@ -212,6 +214,7 @@ jobs: ${{ steps.preloads.outputs.cache-hit != 'true' && 'runtime' || '' }} ${{ steps.component-preloads.outputs.arm64 != 'true' && 'arm64-preloads' || '' }} ${{ steps.comet.outputs.cache-hit != 'true' && 'comet' || '' }} + vkbridge run: python3 tools/components/prepare.py tools - name: Build changed ARM64 preloads @@ -222,6 +225,9 @@ jobs: if: steps.preloads.outputs.cache-hit != 'true' run: python3 tools/components/prepare.py runtime + - name: Build the Mali bridge's Linux side + run: python3 tools/components/prepare.py vkbridge + - name: Fetch the Debian image the preloads build in if: steps.component-preloads.outputs.x86 != 'true' env: @@ -253,6 +259,12 @@ jobs: run: | set -euo pipefail bash tools/linuxfs/check-preloads.sh app/src/main/assets/linuxfs + D=app/src/main/assets/linuxfs + VKB="$D/usr/local/lib/vkbridge/libvulkan_droidbridge.so" + test -f "$VKB" && test -f "$D/usr/local/share/vkbridge/droidbridge_icd.json" && test -f "$D/usr/local/bin/droiddeck-vkbridge-smoke" + VKB_NEED=$(readelf -d "$VKB" | sed -n 's/.*NEEDED.*\[\(.*\)\]/\1/p' | grep -vx 'libc.so.6' | grep -vx 'ld-linux-aarch64.so.1' || true) + [ -z "$VKB_NEED" ] || { echo "::error::the bridge ICD needs $VKB_NEED"; exit 1; } + [ "$(readelf -Ws "$VKB" | awk '$4 == "FUNC" && $5 == "GLOBAL" && $7 != "UND" {sub(/@.*/, "", $8); print $8}' | grep -c '^vk_icd')" = 3 ] || { echo "::error::the bridge ICD does not export the loader interface"; exit 1; } - name: Build GOG Galaxy companion if: steps.comet.outputs.cache-hit != 'true' @@ -504,6 +516,9 @@ jobs: echo "::warning::built proot pack $sha does not match tools/packs/proot/release.env ($PROOT_PACK_SHA256). This build publishes the pack it just built. Source builds keep downloading the pinned pack until release.env is updated." fi + - name: Check out MaliBridge + run: git submodule update --init external/MaliBridge + - name: Build id: build env: diff --git a/tools/components/prepare.py b/tools/components/prepare.py index 064b452be..fbcd27394 100644 --- a/tools/components/prepare.py +++ b/tools/components/prepare.py @@ -35,6 +35,9 @@ def identity(name, root=ROOT): for name_ in sorted(set(paths)): if '__pycache__' in name_ or name_.endswith(('.pyc', '.md')): continue + if (root / name_).is_dir(): + values[name_] = subprocess.check_output(['git', 'ls-files', '--stage', '--', name_], cwd=root, text=True).split()[1] + continue content = (root / name_).read_bytes() if b'\0' not in content: content = content.replace(b'\r\n', b'\n') diff --git a/tools/components/recipes.json b/tools/components/recipes.json index 602fb379e..993fd787a 100644 --- a/tools/components/recipes.json +++ b/tools/components/recipes.json @@ -222,5 +222,20 @@ "cmake", "xz-utils" ] + }, + "vkbridge": { + "script": "tools/components/recipes/vkbridge.sh", + "inputs": [ + "external/MaliBridge", + "tools/components/recipes/vkbridge.sh" + ], + "outputs": [ + "app/src/main/assets/linuxfs/usr/local/lib/vkbridge/libvulkan_droidbridge.so", + "app/src/main/assets/linuxfs/usr/local/share/vkbridge/droidbridge_icd.json", + "app/src/main/assets/linuxfs/usr/local/bin/droiddeck-vkbridge-smoke" + ], + "packages": [ + "gcc-aarch64-linux-gnu" + ] } } diff --git a/tools/components/recipes/vkbridge.sh b/tools/components/recipes/vkbridge.sh new file mode 100644 index 000000000..10b4b521c --- /dev/null +++ b/tools/components/recipes/vkbridge.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -euo pipefail +test -f external/MaliBridge/scripts/build-client-linux.sh +bash external/MaliBridge/scripts/build-client-linux.sh app/src/main/assets/linuxfs aarch64-linux-gnu-gcc diff --git a/tools/tests/test_component_prepare.py b/tools/tests/test_component_prepare.py index b513c8fe7..d86fff9b3 100644 --- a/tools/tests/test_component_prepare.py +++ b/tools/tests/test_component_prepare.py @@ -57,6 +57,26 @@ class ComponentPrepareTest(unittest.TestCase): script.write_text(script.read_text() + '\nprintf changed\n') self.assertNotEqual(changed, components.identity('fake', self.root)) + def test_identity_follows_a_submodule_commit(self): + library = self.root / 'library' + subprocess.run(['git', 'init', '-q', str(library)], check=True) + def commit(text): + (library / 'source.c').write_text(text) + subprocess.run(['git', '-C', str(library), 'add', '.'], check=True) + subprocess.run(['git', '-C', str(library), '-c', 'user.name=Test Developer', '-c', 'user.email=test@example.test', + 'commit', '-qm', text], check=True) + return subprocess.check_output(['git', '-C', str(library), 'rev-parse', 'HEAD'], text=True).strip() + first = commit('int a;\n') + subprocess.run(['git', '-C', str(self.root), 'add', 'library'], check=True) + spec = dict(script='tools/components/recipes/fake.sh', inputs=['library'], outputs=[]) + (self.root / components.REGISTRY).write_text(json.dumps(dict(fake=spec))) + original = components.identity('fake', self.root) + commit('int b;\n') + self.assertEqual(original, components.identity('fake', self.root)) + subprocess.run(['git', '-C', str(self.root), 'add', 'library'], check=True) + self.assertNotEqual(original, components.identity('fake', self.root)) + self.assertNotEqual(first, subprocess.check_output(['git', '-C', str(library), 'rev-parse', 'HEAD'], text=True).strip()) + def test_tool_requirements_are_installed_in_one_union(self): definitions = dict(one=dict(packages=['gcc', 'cmake']), two=dict(packages=['gcc', 'qemu-user'])) with patch.object(components, 'registry', return_value=definitions), patch.object(components.subprocess, 'run') as run: From 3943794b0e78c593cc6e622d38efdba9cdd4a819 Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Wed, 14 Oct 2026 17:06:11 +0300 Subject: [PATCH 04/38] waylandcomp: import layer pool buffers as AHardwareBuffers off Adreno A non-QTI gralloc handle (Arm/MediaTek gralloc on Mali) has no layout the compositor can read, so the pool import guessed a linear dma-buf and failed. On drivers other than Qualcomm's the compositor device enables VK_ANDROID_external_memory_android_hardware_buffer and VK_EXT_queue_family_foreign and imports such buffers as AHardwareBuffers; the linear dma-buf stays as the last resort. Adreno/Turnip keeps the same device and the dma-buf path. --- app/src/main/cpp/waylandcomp/src/sc_layer.c | 91 +++++++++++---- app/src/main/cpp/waylandcomp/src/vk_present.c | 104 +++++++++++++++++- app/src/main/cpp/waylandcomp/src/vk_present.h | 4 + 3 files changed, 178 insertions(+), 21 deletions(-) diff --git a/app/src/main/cpp/waylandcomp/src/sc_layer.c b/app/src/main/cpp/waylandcomp/src/sc_layer.c index f9d203ba1..299d2d04c 100644 --- a/app/src/main/cpp/waylandcomp/src/sc_layer.c +++ b/app/src/main/cpp/waylandcomp/src/sc_layer.c @@ -381,6 +381,26 @@ static int sniff_modifier(const struct droiddeck_native_handle *h, uint64_t *mod return 1; } +#define SC_MOD_GRALLOC (~0ULL - 1) + +static const char *pool_kind(uint64_t mod) { + return mod == MOD_QCOM_COMPRESSED ? "UBWC" : mod == SC_MOD_GRALLOC ? "gralloc-laid-out" : "linear"; +} + +static void describe_handle(const struct droiddeck_native_handle *h, char *out, size_t n) { + size_t o = 0; + out[0] = 0; + if (!h) { snprintf(out, n, "no handle"); return; } + for (int i = 0; i < h->numFds && i < 4 && o < n; i++) { + off_t sz = lseek(h->data[i], 0, SEEK_END); + if (sz >= 0) lseek(h->data[i], 0, SEEK_SET); + o += (size_t)snprintf(out + o, n - o, "%sfd%d %lld bytes", i ? ", " : "", i, (long long)sz); + } + if (o < n) o += (size_t)snprintf(out + o, n - o, "; ints"); + for (int i = 0; i < h->numInts && i < 8 && o < n; i++) + o += (size_t)snprintf(out + o, n - o, " %#x", (unsigned)h->data[h->numFds + i]); +} + static int g_alloc_failed; enum { TIER_UBWC, TIER_PLAIN, TIER_LINEAR }; @@ -416,22 +436,54 @@ static int alloc_slot(struct layer *l, struct slot *s, int w, int h, uint32_t fm AHardwareBuffer_Desc got; AHardwareBuffer_describe(ahb, &got); const struct droiddeck_native_handle *nh = api.getNativeHandle(ahb); uint64_t mod = MOD_LINEAR; - if (!sniff_modifier(nh, &mod)) { - if (tier < TIER_LINEAR) { + struct vkp_image *img = NULL; + const char *path; + char info[160] = ""; + if (sniff_modifier(nh, &mod)) { + img = vkp_image_import_dmabuf(nh->data[0], fmt == AHB_RGB10A2 ? DRM_ABGR2101010 : DRM_ABGR8888, mod, w, h, + got.stride * 4, 0, 1); + path = "dma-buf (QTI handle)"; + } else { + if (tier == TIER_UBWC) { + char hd[256]; + describe_handle(nh, hd, sizeof(hd)); + droiddeck_log("layer", "%s: gralloc handle is not a QTI one (%d fds, %d ints: %s): no UBWC request; " + "pool buffers are imported %s", l->name, nh ? nh->numFds : -1, nh ? nh->numInts : -1, hd, + vkp_can_import_ahb() ? "as AHardwareBuffers (the driver takes gralloc's own layout)" + : "as linear dma-bufs (this driver has no AHardwareBuffer import)"); AHardwareBuffer_release(ahb); - l->alloc_tier = TIER_LINEAR; - droiddeck_log("layer", "%s: gralloc handle layout unknown (%d fds, %d ints): using linear pool buffers", - l->name, nh ? nh->numFds : -1, nh ? nh->numInts : -1); + l->alloc_tier = vkp_can_import_ahb() ? TIER_PLAIN : TIER_LINEAR; continue; } - mod = MOD_LINEAR; + mod = SC_MOD_GRALLOC; + path = "AHardwareBuffer"; + img = vkp_image_import_ahb(ahb, info, sizeof(info)); + if (!img && tier == TIER_LINEAR) { + const off_t need = (off_t)got.stride * 4 * h; + int fd = -1, which = -1; + for (int i = 0; nh && i < nh->numFds; i++) { + off_t sz = lseek(nh->data[i], 0, SEEK_END); + if (sz >= 0) lseek(nh->data[i], 0, SEEK_SET); + if (sz >= need) { fd = nh->data[i]; which = i; break; } + } + if (fd < 0 && nh && nh->numFds > 0) { fd = nh->data[0]; which = 0; } + mod = MOD_LINEAR; + path = "linear dma-buf"; + img = fd >= 0 ? vkp_image_import_dmabuf(fd, fmt == AHB_RGB10A2 ? DRM_ABGR2101010 : DRM_ABGR8888, mod, + w, h, got.stride * 4, 0, 1) : NULL; + snprintf(info, sizeof(info), "handle fd %d of %d", which, nh ? nh->numFds : 0); + if (vkp_can_import_ahb()) + droiddeck_log("layer", "%s: AHardwareBuffer import failed: the linear dma-buf in the handle's fd %d " + "(of %d) -> %s", l->name, which, nh ? nh->numFds : 0, img ? "imported" : "failed too"); + } } - int fd = (nh && nh->numFds > 0) ? nh->data[0] : -1; - struct vkp_image *img = fd >= 0 ? vkp_image_import_dmabuf(fd, fmt == AHB_RGB10A2 ? DRM_ABGR2101010 : DRM_ABGR8888, - mod, w, h, got.stride * 4, 0, 1) : NULL; if (!img) { - droiddeck_log("layer", "%s: import of a %s %dx%d pool buffer (stride %u px) into the compositor's Turnip failed", - l->name, mod == MOD_QCOM_COMPRESSED ? "UBWC" : "linear", w, h, got.stride); + char hd[256]; + describe_handle(nh, hd, sizeof(hd)); + droiddeck_log("layer", "%s: import of a %s %dx%d pool buffer (stride %u px, %s, usage %#llx) into the " + "compositor's Turnip failed via %s; gralloc handle %d fds / %d ints: %s", l->name, + pool_kind(mod), w, h, got.stride, tier_name(tier), (unsigned long long)got.usage, path, + nh ? nh->numFds : -1, nh ? nh->numInts : -1, hd); AHardwareBuffer_release(ahb); if (tier < TIER_LINEAR) { l->alloc_tier = tier + 1; continue; } g_alloc_failed = 1; @@ -442,10 +494,11 @@ static int alloc_slot(struct layer *l, struct slot *s, int w, int h, uint32_t fm if (l->logged_w != w || l->logged_h != h || l->logged_fmt != fmt || l->logged_mod != mod || l->logged_tier != tier) { l->logged_w = w; l->logged_h = h; l->logged_fmt = fmt; l->logged_mod = mod; l->logged_tier = tier; - droiddeck_log("layer", "%s: pool buffers %dx%d%s: %s (%s), stride %u px, up to %d buffers (gralloc handle %d fds / %d ints)", - l->name, w, h, fmt == AHB_RGB10A2 ? " 10-bit RGBA1010102" : "", - mod == MOD_QCOM_COMPRESSED ? "UBWC (QCOM_COMPRESSED)" : "linear", tier_name(tier), - got.stride, l->pool_n, nh ? nh->numFds : -1, nh ? nh->numInts : -1); + droiddeck_log("layer", "%s: pool buffers %dx%d%s: %s (%s), stride %u px, up to %d buffers (gralloc handle %d fds / " + "%d ints), imported as %s%s%s%s", l->name, w, h, fmt == AHB_RGB10A2 ? " 10-bit RGBA1010102" : "", + mod == MOD_QCOM_COMPRESSED ? "UBWC (QCOM_COMPRESSED)" : pool_kind(mod), tier_name(tier), + got.stride, l->pool_n, nh ? nh->numFds : -1, nh ? nh->numInts : -1, path, + info[0] ? " (" : "", info, info[0] ? ")" : ""); } return 0; } @@ -814,7 +867,7 @@ int sc_layer_present(struct vkp_image *src, int scene_w, int scene_h, const stru l->first_logged = 1; droiddeck_log("layer", "presenting %dx%d game frames on their own SurfaceControl layer (%s pool, %d buffers); " "HUD and pointer stay Android views above it", sw, sh, - l->pool_modifier == MOD_QCOM_COMPRESSED ? "UBWC" : "linear", l->pool_n); + pool_kind(l->pool_modifier), l->pool_n); } vkp_signal_first_frame(); return 0; @@ -836,7 +889,7 @@ int sc_layer_present_pass(const struct vkp_draw *draws, int n, int scene_w, int l->first_logged = 1; droiddeck_log("layer", "presenting %dx%d frames on their own SurfaceControl layer (%s pool, %d buffers); " "HUD and pointer stay Android views above it", rw, rh, - l->pool_modifier == MOD_QCOM_COMPRESSED ? "UBWC" : "linear", l->pool_n); + pool_kind(l->pool_modifier), l->pool_n); } vkp_signal_first_frame(); return 0; @@ -874,12 +927,12 @@ int sc_layer_present_hdr_scene(const struct vkp_draw *draws, int n, const struct if (tm) droiddeck_log("color", "tone-mapped picture on the game's display layer: %dx%d, %s 8-bit buffers, untagged " "(sRGB) - HDR output is switched off", rw, rh, - l->pool_modifier == MOD_QCOM_COMPRESSED ? "UBWC" : "linear"); + pool_kind(l->pool_modifier)); else { char cov[96]; coverage_text(l, cov, sizeof(cov)); droiddeck_log("color", "HDR picture on its own display layer: %dx%d, %s %s buffers, tagged %s%s%s", rw, rh, - l->pool_modifier == MOD_QCOM_COMPRESSED ? "UBWC" : "linear", + pool_kind(l->pool_modifier), g_hdr_pool_fmt == AHB_RGB10A2 ? "10-bit" : "8-bit", color && color->dataspace == DROIDDECK_ADATASPACE_BT2020_PQ ? "BT2020_PQ" : "HDR", cov[0] ? ", " : "", cov); diff --git a/app/src/main/cpp/waylandcomp/src/vk_present.c b/app/src/main/cpp/waylandcomp/src/vk_present.c index c917afbba..d76d84eda 100644 --- a/app/src/main/cpp/waylandcomp/src/vk_present.c +++ b/app/src/main/cpp/waylandcomp/src/vk_present.c @@ -94,6 +94,9 @@ static int g_black_state; static PFN_vkImportSemaphoreFdKHR g_import_sem_fd; static VkSemaphore g_wait_sem; +#define VKP_VENDOR_QUALCOMM 0x5143 +static uint32_t g_vendor_id; + static struct vkp_perf g_perf; static int64_t perf_now(void) { struct timespec ts; @@ -454,6 +457,7 @@ static int dev_init(void) { { VkPhysicalDeviceProperties props; g_vk.GetPhysicalDeviceProperties(g_pd, &props); + g_vendor_id = props.vendorID; snprintf(g_gpu_name, sizeof(g_gpu_name), "%s", props.deviceName); droiddeck_log("gpu", "compositor renders on %s with %s", props.deviceName, g_library_name ? g_library_name : "the system Vulkan driver"); @@ -984,8 +988,9 @@ struct vkp_image *vkp_image_import_dmabuf(int fd, uint32_t drm_format, uint64_t .allocationSize = req.size, .memoryTypeIndex = (uint32_t)idx}; VkResult mr = g_vk.AllocateMemory(g_dev, &mai, NULL, &img->mem); if (mr != VK_SUCCESS) { - LOGE("%s: importing the %s dma-buf (%dx%d, %llu bytes) -> %s", as_blit_dst ? "layer" : "dmabuf", - vkp_modifier_name(modifier), w, h, (unsigned long long)req.size, vk_result_name(mr)); + LOGE("%s: importing the %s dma-buf (%dx%d, pitch %u, offset %u, %llu bytes, memory type %d of image types " + "%#x & fd types %#x) -> %s", as_blit_dst ? "layer" : "dmabuf", vkp_modifier_name(modifier), w, h, + stride, offset, (unsigned long long)req.size, idx, req.memoryTypeBits, allowed, vk_result_name(mr)); g_vk.DestroyImage(g_dev, img->image, NULL); close(dupfd); free(img); return NULL; } VkResult br = g_vk.BindImageMemory(g_dev, img->image, img->mem, 0); @@ -1052,6 +1057,101 @@ struct vkp_image *vkp_image_from_ahb(AHardwareBuffer *ahb) { return img; } +int vkp_can_import_ahb(void) { + return dev_init() == 0 && g_vendor_id != VKP_VENDOR_QUALCOMM && g_ahb_import && + g_vk.GetAndroidHardwareBufferPropertiesANDROID; +} + +struct vkp_image *vkp_image_import_ahb(struct AHardwareBuffer *ahb, char *info, size_t info_n) { + if (info && info_n) info[0] = 0; + if (!ahb || !vkp_can_import_ahb()) return NULL; + AHardwareBuffer_Desc d; + AHardwareBuffer_describe(ahb, &d); + VkAndroidHardwareBufferFormatPropertiesANDROID fp = { + .sType = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID}; + VkAndroidHardwareBufferPropertiesANDROID hp = { + .sType = VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID, .pNext = &fp}; + VkResult pr = g_vk.GetAndroidHardwareBufferPropertiesANDROID(g_dev, ahb, &hp); + if (pr != VK_SUCCESS) { + LOGE("layer: vkGetAndroidHardwareBufferPropertiesANDROID(%ux%u, AHB format %#x, usage %#llx) -> %s", d.width, + d.height, d.format, (unsigned long long)d.usage, vk_result_name(pr)); + return NULL; + } + if (fp.format == VK_FORMAT_UNDEFINED) { + LOGE("layer: the driver reports the %ux%u AHB (format %#x) as external format %#llx only: no blit target", + d.width, d.height, d.format, (unsigned long long)fp.externalFormat); + return NULL; + } + const VkImageUsageFlags usage = VK_IMAGE_USAGE_TRANSFER_DST_BIT; + if (g_vk.GetPhysicalDeviceImageFormatProperties2) { + VkPhysicalDeviceExternalImageFormatInfo ext = { + .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO, + .handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID}; + VkPhysicalDeviceImageFormatInfo2 qi = { + .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, .pNext = &ext, .format = fp.format, + .type = VK_IMAGE_TYPE_2D, .tiling = VK_IMAGE_TILING_OPTIMAL, .usage = usage}; + VkExternalImageFormatProperties extp = {.sType = VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES}; + VkImageFormatProperties2 ip = {.sType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2, .pNext = &extp}; + VkResult qr = g_vk.GetPhysicalDeviceImageFormatProperties2(g_pd, &qi, &ip); + if (qr != VK_SUCCESS || + !(extp.externalMemoryProperties.externalMemoryFeatures & VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT)) { + LOGE("layer: VkFormat %d as an imported AHB blit target is not supported (%s, external features %#x)", + (int)fp.format, vk_result_name(qr), extp.externalMemoryProperties.externalMemoryFeatures); + return NULL; + } + } + + struct vkp_image *img = calloc(1, sizeof(*img)); + if (!img) return NULL; + img->w = (int)d.width; img->h = (int)d.height; + img->dmabuf = 1; img->blit_dst = 1; + img->fmt = fp.format; + VkExternalMemoryImageCreateInfo extImg = { + .sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, + .handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID}; + VkImageCreateInfo ici = { + .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, .pNext = &extImg, + .imageType = VK_IMAGE_TYPE_2D, .format = fp.format, .extent = {d.width, d.height, 1}, + .mipLevels = 1, .arrayLayers = 1, .samples = VK_SAMPLE_COUNT_1_BIT, + .tiling = VK_IMAGE_TILING_OPTIMAL, + .usage = usage, .sharingMode = VK_SHARING_MODE_EXCLUSIVE, .initialLayout = VK_IMAGE_LAYOUT_UNDEFINED}; + VkResult cr = g_vk.CreateImage(g_dev, &ici, NULL, &img->image); + if (cr != VK_SUCCESS) { + LOGE("layer: vkCreateImage(AHB %ux%u, VkFormat %d) -> %s", d.width, d.height, (int)fp.format, + vk_result_name(cr)); + free(img); return NULL; + } + int idx = -1; + for (int i = 0; i < 32; i++) if (hp.memoryTypeBits & (1u << i)) { idx = i; break; } + if (idx < 0) { + LOGE("layer: no memory type can import the %ux%u AHB (memoryTypeBits 0)", d.width, d.height); + g_vk.DestroyImage(g_dev, img->image, NULL); free(img); return NULL; + } + VkImportAndroidHardwareBufferInfoANDROID imp = { + .sType = VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID, .buffer = ahb}; + VkMemoryDedicatedAllocateInfo ded = {.sType = VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO, + .pNext = &imp, .image = img->image}; + VkMemoryAllocateInfo mai = {.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, .pNext = &ded, + .allocationSize = hp.allocationSize, .memoryTypeIndex = (uint32_t)idx}; + VkResult mr = g_vk.AllocateMemory(g_dev, &mai, NULL, &img->mem); + if (mr != VK_SUCCESS) { + LOGE("layer: importing the %ux%u AHB (VkFormat %d, %llu bytes, memory type %d of memoryTypeBits %#x) -> %s", + d.width, d.height, (int)fp.format, (unsigned long long)hp.allocationSize, idx, hp.memoryTypeBits, + vk_result_name(mr)); + g_vk.DestroyImage(g_dev, img->image, NULL); free(img); return NULL; + } + VkResult br = g_vk.BindImageMemory(g_dev, img->image, img->mem, 0); + if (br != VK_SUCCESS) { + LOGE("layer: vkBindImageMemory(AHB) -> %s", vk_result_name(br)); + g_vk.FreeMemory(g_dev, img->mem, NULL); g_vk.DestroyImage(g_dev, img->image, NULL); + free(img); return NULL; + } + if (info && info_n) + snprintf(info, info_n, "VkFormat %d, %llu bytes, memory type %d of memoryTypeBits %#x", (int)fp.format, + (unsigned long long)hp.allocationSize, idx, hp.memoryTypeBits); + return img; +} + static int shm_sampled(void) { static int known; if (!known) { diff --git a/app/src/main/cpp/waylandcomp/src/vk_present.h b/app/src/main/cpp/waylandcomp/src/vk_present.h index 7271f468b..0f8a03779 100644 --- a/app/src/main/cpp/waylandcomp/src/vk_present.h +++ b/app/src/main/cpp/waylandcomp/src/vk_present.h @@ -1,6 +1,7 @@ #ifndef VK_PRESENT_H #define VK_PRESENT_H #include +#include #include void vk_present_set_driver(const char *driver_path, const char *library_name, const char *native_lib_dir); @@ -32,6 +33,9 @@ struct vkp_image *vkp_image_import_dmabuf(int fd, uint32_t drm_format, uint64_t int w, int h, uint32_t stride, uint32_t offset, int as_blit_dst); int vkp_image_is_dmabuf(const struct vkp_image *img); +struct AHardwareBuffer; +int vkp_can_import_ahb(void); +struct vkp_image *vkp_image_import_ahb(struct AHardwareBuffer *ahb, char *info, size_t info_n); struct vkp_image *vkp_image_create_shm(int w, int h); struct AHardwareBuffer; From dae36b0e679b8bd55b079614ad698ab6b112d06b Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Wed, 14 Oct 2026 17:06:11 +0300 Subject: [PATCH 05/38] Mali bridge sessions: Setup switch, server, session wiring On a GPU without KGSL, Setup offers an experimental Mali bridge switch (off by default; ignored on Adreno). With it on, the session starts the bridge server, points the Vulkan loader at the bridge ICD, names Mali's device as the stand-in render node, runs the bridge self-test into the session log, and caps vkd3d-proton's feature level at 12_0. Flatpak sandboxes get the bridge ICD and socket. The DRM preload falls back to flock in a bridge session when kcmp is refused, and a clock/thermal log is kept beside the bridge logs. --- .../droiddeck/launcher/FrontEndActivity.kt | 9 +- .../droiddeck/launcher/core/DeviceSupport.kt | 5 + .../launcher/gpu/ClockLogComponent.kt | 108 ++++++++++++++++++ .../droiddeck/launcher/gpu/TurnipDriver.java | 4 + .../launcher/gpu/VkBridgeComponent.kt | 61 ++++++++++ .../droiddeck/launcher/gpu/VkBridgeNative.kt | 49 ++++++++ .../launcher/runtime/BwrapSpawner.kt | 23 ++++ .../launcher/runtime/LinuxRuntime.java | 31 ++++- .../launcher/session/SessionFiles.kt | 3 + .../launcher/session/SessionPrefs.kt | 7 ++ .../launcher/session/SessionService.kt | 23 +++- .../droiddeck/launcher/ui/FrontEndScreen.kt | 3 + .../droiddeck/launcher/ui/FrontEndSetup.kt | 9 +- app/src/main/res/values/strings.xml | 3 + .../overlay/usr/local/bin/droiddeck-game-env | 11 ++ .../overlay/usr/local/bin/droiddeck-session | 36 ++++++ tools/linuxfs/preload/drm.c | 40 +++++-- tools/tests/test_game_environment.py | 9 ++ 18 files changed, 419 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/com/droiddeck/launcher/gpu/ClockLogComponent.kt create mode 100644 app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt create mode 100644 app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeNative.kt diff --git a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt index a80e3c5d6..2d027f267 100644 --- a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt +++ b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt @@ -148,6 +148,8 @@ class FrontEndActivity : ComponentActivity() { private var gameCores by mutableStateOf>(emptySet()) private var tuSysmem by mutableStateOf(false) private var zinkLazy by mutableStateOf(false) + private var vkBridge by mutableStateOf(false) + private val adrenoGpu by lazy { com.droiddeck.launcher.core.DeviceSupport.adreno() } private var noXalia by mutableStateOf(true) private var fastSync by mutableStateOf(false) private var syncFallback by mutableStateOf(true) @@ -809,6 +811,7 @@ class FrontEndActivity : ComponentActivity() { FrontEndScreen( FrontEndState( installed = installed, ready = ready, available = available?.version, removalPending = removalPending, runtimeActionsBlocked = runtimeChangesBlocked(), + vkBridge = vkBridge, adreno = adrenoGpu, shortcutPicker = shortcutPicker, shortcutLibraryScanning = shortcutLibraryScanning, gameSyncFolder = gameSyncFolder, @@ -949,6 +952,7 @@ class FrontEndActivity : ComponentActivity() { onInstallPackage = { id -> installPackage(id) }, onRemovePackage = { id -> removePackage(id) }, onRuntime = { onRuntimeButton() }, + onVkBridge = { on -> SessionPrefs.setVkBridge(this, on); vkBridge = on }, onFrameGenPick = { mode -> FrameGen.set(this, mode) frameGenLabel = FrameGen.label(this) @@ -2072,6 +2076,7 @@ class FrontEndActivity : ComponentActivity() { gameCores = CpuCores.parse(SessionPrefs.gameCpus(this)).ifEmpty { CpuCores.all.toSet() } tuSysmem = SessionPrefs.tuSysmem(this) zinkLazy = SessionPrefs.zinkLazy(this) + vkBridge = SessionPrefs.vkBridge(this) noXalia = SessionPrefs.noXalia(this) fastSync = SessionPrefs.fastSync(this) syncFallback = SessionPrefs.syncFallback(this) @@ -2189,7 +2194,7 @@ class FrontEndActivity : ComponentActivity() { Thread({ checkCatalog() }, "catalog").start() return } - if (installed == null && !com.droiddeck.launcher.core.DeviceSupport.adreno()) { showNonAdreno = release; return } + if (installed == null && !com.droiddeck.launcher.core.DeviceSupport.canDraw(this)) { showNonAdreno = release; return } install(release) } @@ -2204,7 +2209,7 @@ class FrontEndActivity : ComponentActivity() { showPhantomGate = true return false } - val warn = installed == null && !com.droiddeck.launcher.core.DeviceSupport.adreno() + val warn = installed == null && !com.droiddeck.launcher.core.DeviceSupport.canDraw(this) if (warn && available != null) { showNonAdreno = available; return false } startActivity(intent) return true diff --git a/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt b/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt index 325ed7d43..1036f5c06 100644 --- a/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt +++ b/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt @@ -9,6 +9,11 @@ object DeviceSupport { fun adreno(): Boolean = File("/sys/class/kgsl/kgsl-3d0").exists() || File("/vendor/lib64/hw/vulkan.adreno.so").exists() + fun vkBridge(context: Context): Boolean = + !adreno() && com.droiddeck.launcher.session.SessionPrefs.vkBridge(context) + + fun canDraw(context: Context): Boolean = adreno() || vkBridge(context) + fun gpuName(context: Context): String { val soc = if (Build.VERSION.SDK_INT >= 31) Build.SOC_MODEL.takeIf { it.isNotBlank() && it != Build.UNKNOWN } else null return soc?.let { "$it (${Build.HARDWARE})" } ?: Build.HARDWARE.ifBlank { context.getString(R.string.gpu_this_gpu) } diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/ClockLogComponent.kt b/app/src/main/java/com/droiddeck/launcher/gpu/ClockLogComponent.kt new file mode 100644 index 000000000..8385deaaf --- /dev/null +++ b/app/src/main/java/com/droiddeck/launcher/gpu/ClockLogComponent.kt @@ -0,0 +1,108 @@ +package com.droiddeck.launcher.gpu + +import android.content.Context +import android.os.Build +import android.os.PowerManager +import android.util.Log +import com.droiddeck.launcher.core.SessionPart +import java.io.File +import java.io.FileWriter +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale + +class ClockLogComponent(private val logFile: File) : SessionPart() { + @Volatile private var running = false + private var thread: Thread? = null + + override fun start() { + running = true + thread = Thread({ run() }, "clock-log").apply { isDaemon = true; start() } + } + + override fun stop() { + running = false + thread?.interrupt() + thread = null + } + + private fun run() { + val policies = File("/sys/devices/system/cpu/cpufreq").listFiles { f -> f.name.startsWith("policy") } + ?.sortedBy { it.name.removePrefix("policy").toIntOrNull() ?: 0 } ?: emptyList() + val gpuCandidates = gpuSources() + val gpu = gpuCandidates.firstOrNull { !it.startsWith("/proc/") && firstNumber(it) != null } + val power = app().getSystemService(Context.POWER_SERVICE) as? PowerManager + val time = SimpleDateFormat("HH:mm:ss", Locale.US) + try { + FileWriter(logFile, true).use { w -> + w.write("== clocks: ${Build.MANUFACTURER} ${Build.MODEL} (${Build.HARDWARE}), every ${PERIOD_MS / 1000}s\n") + w.write("cpu policies: ${policies.joinToString { p -> p.name + " " + (File(p, "related_cpus").readTextOrNull()?.trim() ?: "?") }}\n") + for (source in gpuCandidates) { + val f = File(source) + val state = when { + !f.exists() -> continue + firstNumber(source) != null -> "readable" + else -> "refused" + } + w.write("gpu source $source: $state\n") + } + w.write("gpu clock from: ${gpu ?: "nothing readable"}\n") + w.flush() + while (running && logFile.length() < MAX_BYTES) { + val line = StringBuilder(time.format(Date())) + for (p in policies) { + val cur = firstNumber(File(p, "scaling_cur_freq").path) + val max = firstNumber(File(p, "scaling_max_freq").path) + val hw = firstNumber(File(p, "cpuinfo_max_freq").path) + line.append(" ${p.name.removePrefix("policy").let { "p$it" }} ${mhz(cur)}/${mhz(max)}") + if (hw != null && max != null && max < hw) line.append("(of ${mhz(hw)})") + } + gpu?.let { line.append(" | gpu ${mhz(firstNumber(it))} MHz") } + if (power != null && Build.VERSION.SDK_INT >= 29) { + line.append(" | thermal ${power.currentThermalStatus}") + if (Build.VERSION.SDK_INT >= 30) { + val h = power.getThermalHeadroom(10) + if (!h.isNaN()) line.append(String.format(Locale.US, " headroom %.2f", h)) + } + } + w.write(line.append('\n').toString()) + w.flush() + try { Thread.sleep(PERIOD_MS) } catch (e: InterruptedException) { break } + } + } + } catch (e: Exception) { + Log.w(TAG, "clock log stopped: $e") + } + } + + companion object { + private const val TAG = "SessionService" + private const val PERIOD_MS = 2000L + private const val MAX_BYTES = 4L shl 20 + + private fun gpuSources(): List { + val list = mutableListOf( + "/sys/kernel/ged/hal/current_freqency", "/sys/kernel/ged/hal/current_frequency", + "/proc/gpufreqv2/gpufreq_status", "/proc/gpufreq/gpufreq_var_dump", + "/sys/kernel/gpu/gpu_clock", "/sys/class/misc/mali0/device/cur_freq", + "/sys/class/misc/mali0/device/clock", + ) + File("/sys/class/devfreq").list()?.sorted()?.forEach { node -> + if (node.contains("mali", true) || node.contains("gpu", true)) list.add("/sys/class/devfreq/$node/cur_freq") + } + return list.distinct() + } + + private fun File.readTextOrNull(): String? = runCatching { readText() }.getOrNull() + + private fun firstNumber(path: String): Long? = + runCatching { Regex("\\d+").find(File(path).readText())?.value?.toLong() }.getOrNull() + + private fun mhz(raw: Long?): String = when { + raw == null -> "?" + raw > 10_000_000 -> (raw / 1_000_000).toString() + raw > 10_000 -> (raw / 1_000).toString() + else -> raw.toString() + } + } +} diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/TurnipDriver.java b/app/src/main/java/com/droiddeck/launcher/gpu/TurnipDriver.java index 9978409c5..46b09e1e8 100644 --- a/app/src/main/java/com/droiddeck/launcher/gpu/TurnipDriver.java +++ b/app/src/main/java/com/droiddeck/launcher/gpu/TurnipDriver.java @@ -284,6 +284,10 @@ public final class TurnipDriver { } String quest = QuestExperimental.INSTANCE.defaultAndroidDriver(); if (quest != null) return quest; + if (com.droiddeck.launcher.core.DeviceSupport.INSTANCE.vkBridge(context)) { + Log.i(TAG, "Mali bridge: the compositor uses the system Vulkan driver"); + return null; + } int model = GpuInfo.Companion.detect().getModel(); Log.i(TAG, "gpu model: " + (model == 0 ? "unknown" : model)); return chooseByModel(model, android.os.Build.VERSION.SDK_INT); diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt new file mode 100644 index 000000000..599e5e5d8 --- /dev/null +++ b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt @@ -0,0 +1,61 @@ +package com.droiddeck.launcher.gpu + +import android.os.Process +import android.util.Log +import com.droiddeck.launcher.core.HostProcess +import com.droiddeck.launcher.core.SessionPart +import java.io.File + +class VkBridgeComponent(private val socket: File, private val logFile: File) : SessionPart() { + @Volatile private var pid = -1 + @Volatile private var exited = false + + override fun start() { + stop() + val binary = File(app().applicationInfo.nativeLibraryDir, BINARY) + if (!binary.isFile) { + Log.e(TAG, "server missing at $binary; the session will have no Vulkan") + return + } + socket.parentFile?.mkdirs() + val cacheDir = File(app().cacheDir, "vkbridge-pipelines").apply { mkdirs() } + if (VkBridgeNative.start(app(), socket, logFile, cacheDir)) { + Log.i(TAG, "server ready in the app's process at $socket") + return + } + socket.delete() + exited = false + val cmd = listOf(binary.absolutePath, "--socket", socket.absolutePath, "--log", logFile.absolutePath, + "--cache-dir", cacheDir.absolutePath) + .joinToString(" ") { it.replace("\\", "\\\\").replace(" ", "\\ ") } + val env = arrayOf("HOME=" + app().filesDir) + pid = HostProcess.start(cmd, env, app().filesDir, { status -> + exited = true + Log.w(TAG, "server exited with status $status") + runCatching { logFile.appendText("== vkbridge server exited with status $status\n") } + }, { line -> Log.i(TAG, line) }) + val deadline = System.currentTimeMillis() + 15_000L + while (!socket.exists() && !exited && System.currentTimeMillis() < deadline) { + try { Thread.sleep(50L) } catch (e: InterruptedException) { Thread.currentThread().interrupt(); break } + } + Log.i(TAG, if (socket.exists()) "server ready (pid $pid) at $socket" else "server NOT ready (pid $pid, exited=$exited); see $logFile") + if (!socket.exists() && VkBridgeNative.start(app(), socket, logFile, cacheDir)) Log.i(TAG, "server ready in the app's process at $socket") + } + + override fun stop() { + if (pid > 0) { + Process.killProcess(pid) + pid = -1 + } + if (!VkBridgeNative.serving) socket.delete() + } + + override fun suspendPid(): Int = pid + + companion object { + private const val TAG = "VkBridge" + const val BINARY = "libvkbridge_server.so" + const val GUEST_ICD = "/usr/local/share/vkbridge/droidbridge_icd.json" + const val GUEST_LIB = "/usr/local/lib/vkbridge/libvulkan_droidbridge.so" + } +} diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeNative.kt b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeNative.kt new file mode 100644 index 000000000..97efa7bed --- /dev/null +++ b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeNative.kt @@ -0,0 +1,49 @@ +package com.droiddeck.launcher.gpu + +import android.content.Context +import android.content.pm.ApplicationInfo +import android.util.Log +import java.io.File + +object VkBridgeNative { + private const val TAG = "VkBridge" + + @Volatile private var loaded: Boolean? = null + + private fun load(context: Context): Boolean { + loaded?.let { return it } + val ok = try { + val dev = File(context.filesDir, "vkbridge/dev/libvkbridge_jni.so") + val debuggable = context.applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE != 0 + if (debuggable && dev.isFile) { + Log.w(TAG, "in-app server from the development override $dev") + System.load(dev.absolutePath) + } else { + System.loadLibrary("vkbridge_jni") + } + true + } catch (e: Throwable) { + Log.w(TAG, "in-app server unavailable: $e") + false + } + loaded = ok + return ok + } + + @Volatile var serving = false + private set + + fun start(context: Context, socket: File, log: File, cacheDir: File): Boolean { + if (!load(context)) return false + val ok = try { + nativeStart(socket.absolutePath, log.absolutePath, cacheDir.absolutePath) == 1 + } catch (e: Throwable) { + Log.w(TAG, "in-app server failed to start: $e") + false + } + if (ok) serving = true + return ok + } + + @JvmStatic private external fun nativeStart(socket: String, log: String, cacheDir: String): Int +} diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/BwrapSpawner.kt b/app/src/main/java/com/droiddeck/launcher/runtime/BwrapSpawner.kt index 81fabd7f7..c6e1d802b 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/BwrapSpawner.kt +++ b/app/src/main/java/com/droiddeck/launcher/runtime/BwrapSpawner.kt @@ -189,6 +189,7 @@ object BwrapSpawner { private const val GPU_DIR = "/run/droiddeck-gpu" private fun gpu(rootfs: String, root: File, env: MutableMap): List? { + env["VKBRIDGE_SOCKET"]?.let { sock -> if (File(sock).exists()) return bridgeGpu(rootfs, root, env, sock) } val lib = File(rootfs, "usr/lib") val driver = File(lib, "libvulkan_freedreno.so") if (!driver.isFile || !File("/dev/kgsl-3d0").exists()) return null @@ -213,6 +214,28 @@ object BwrapSpawner { return binds } + private fun bridgeGpu(rootfs: String, root: File, env: MutableMap, socket: String): List? { + val driver = File(rootfs, "usr/local/lib/vkbridge/libvulkan_droidbridge.so") + if (!driver.isFile) { Log.w(TAG, "gpu: vkbridge session but no bridge ICD in the runtime"); return null } + val binds = ArrayList() + binds.add(Bind(driver.canonicalPath, "$GPU_DIR/libvulkan_droidbridge.so")) + val sockDir = File(socket).parent ?: return null + binds.add(Bind(sockDir, sockDir)) + val icd = File(root.parentFile, "vkbridge_icd.json") + val api = runCatching { + JSONObject(File(rootfs, "usr/local/share/vkbridge/droidbridge_icd.json").readText()).getJSONObject("ICD").getString("api_version") + }.getOrNull() ?: run { Log.w(TAG, "gpu: vkbridge session but the runtime's bridge manifest is unreadable"); return null } + icd.writeText("{\"file_format_version\": \"1.0.0\", \"ICD\": {\"library_path\": \"$GPU_DIR/libvulkan_droidbridge.so\", \"api_version\": \"$api\"}}\n") + binds.add(Bind(icd.path, "$GPU_DIR/vkbridge_icd.json")) + env["VK_DRIVER_FILES"] = "$GPU_DIR/vkbridge_icd.json" + env["VK_ICD_FILENAMES"] = "$GPU_DIR/vkbridge_icd.json" + if (!env.containsKey("MESA_LOADER_DRIVER_OVERRIDE") && !env.containsKey("GALLIUM_DRIVER")) { + env["MESA_LOADER_DRIVER_OVERRIDE"] = "zink" + env["GALLIUM_DRIVER"] = "zink" + } + return binds + } + private fun preload(session: List, rootfs: String, env: MutableMap): List { val libs = FileUtils.readString(File(rootfs, "etc/ld.so.preload"))?.lines() ?.map { it.trim() }?.filter { it.startsWith("/") && File(rootfs + it).isFile } ?: return emptyList() diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java index d02fdf0c2..49c4724ee 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java @@ -280,10 +280,32 @@ public final class LinuxRuntime { return false; } + private static final String MALI_DEVICE = "/dev/mali0"; + + public static String gpuStandIn(Context context) { + if (new File(KGSL_DEVICE).exists()) return KGSL_DEVICE; + if (com.droiddeck.launcher.core.DeviceSupport.INSTANCE.vkBridge(context) && new File(MALI_DEVICE).exists()) return MALI_DEVICE; + return null; + } + + public static String deviceNumbers(String path) { + try { + long dev = Os.stat(path).st_rdev; + long major = ((dev >> 8) & 0xfff) | ((dev >> 32) & ~0xfffL); + long minor = (dev & 0xff) | ((dev >> 12) & ~0xffL); + return major + ":" + minor; + } catch (ErrnoException e) { + return null; + } + } + private static void bindGpuNode(Context context, List cmd) { + String standIn = gpuStandIn(context); + if (standIn == null) return; + boolean kgsl = standIn.equals(KGSL_DEVICE); StructStat st; try { - st = Os.stat(KGSL_DEVICE); + st = Os.stat(standIn); } catch (ErrnoException e) { return; } @@ -303,13 +325,14 @@ public final class LinuxRuntime { Files.write(new File(drm, "dev").toPath(), (major + ":" + minor + "\n").getBytes(StandardCharsets.UTF_8)); Files.write(new File(device, "uevent").toPath(), - "DRIVER=kgsl-3d0\nMODALIAS=platform:kgsl-3d0\n".getBytes(StandardCharsets.UTF_8)); + (kgsl ? "DRIVER=kgsl-3d0\nMODALIAS=platform:kgsl-3d0\n" : "DRIVER=mali\nMODALIAS=platform:mali\n") + .getBytes(StandardCharsets.UTF_8)); File subsystem = new File(device, "subsystem"); if (!Files.isSymbolicLink(subsystem.toPath())) { Os.symlink("/sys/bus/platform", subsystem.getPath()); } File driver = new File(device, "driver"); - if (!Files.isSymbolicLink(driver.toPath())) { + if (kgsl && !Files.isSymbolicLink(driver.toPath())) { Os.symlink("/sys/bus/platform/drivers/msm_drm", driver.getPath()); } } catch (IOException | ErrnoException e) { @@ -317,7 +340,7 @@ public final class LinuxRuntime { } bind(cmd, new File(base, "sys").getPath() + ":/sys/dev/char"); bind(cmd, dri.getPath() + ":/dev/dri"); - bind(cmd, KGSL_DEVICE + ":/dev/dri/" + node); + bind(cmd, standIn + ":/dev/dri/" + node); bindDrmClass(base, cmd, node, major + ":" + minor); } diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionFiles.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionFiles.kt index d9c59b1b8..6979ff3b3 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionFiles.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionFiles.kt @@ -154,6 +154,9 @@ object SessionFiles { "usr/local/bin/gamescope" to "usr/local/bin/gamescope", // The gamescope pack carries its own WSI layer (patch 0117); it replaces the runtime's stock copy. "usr/lib/libVkLayer_FROG_gamescope_wsi_aarch64.so" to "usr/lib/libVkLayer_FROG_gamescope_wsi_aarch64.so", + "usr/local/lib/vkbridge/libvulkan_droidbridge.so" to "usr/local/lib/vkbridge/libvulkan_droidbridge.so", + "usr/local/share/vkbridge/droidbridge_icd.json" to "usr/local/share/vkbridge/droidbridge_icd.json", + "usr/local/bin/droiddeck-vkbridge-smoke" to "usr/local/bin/droiddeck-vkbridge-smoke", "usr/local/lib/droiddeck/uruntime" to "usr/local/lib/droiddeck/uruntime", "usr/local/lib/droiddeck-pipewire.tzst" to "usr/local/lib/droiddeck-pipewire.tzst", "usr/local/share/licenses/uruntime/LICENSE" to "usr/local/share/licenses/uruntime/LICENSE", diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt index 8ffaacd56..104c3572d 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt @@ -596,6 +596,13 @@ object SessionPrefs { fun zinkLazy(context: Context): Boolean = prefs(context).getBoolean("zinkLazy", true) + @JvmStatic + fun vkBridge(context: Context): Boolean = prefs(context).getBoolean("vkBridge", false) + + fun setVkBridge(context: Context, on: Boolean) { + prefs(context).edit().putBoolean("vkBridge", on).apply() + } + fun setZinkLazy(context: Context, on: Boolean) { prefs(context).edit().putBoolean("zinkLazy", on).apply() } diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt index be9795042..7dcf5a361 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt @@ -496,6 +496,7 @@ class SessionService : Service() { components.add(encoder) guest.add("BL_VENC_SOCKET=" + encoder.socket.absolutePath) } + startVkBridge(guest, sessionDir) guest.add("BL_WIDTH=" + size.first) guest.add("BL_HEIGHT=" + size.second) @@ -760,7 +761,7 @@ class SessionService : Service() { ?: SessionPrefs.androidDriver(this), linuxDriverId, ) - LinuxVulkanDriver.resolveIcdPath(this, linuxDriverId) + if (!com.droiddeck.launcher.core.DeviceSupport.vkBridge(this)) LinuxVulkanDriver.resolveIcdPath(this, linuxDriverId) ?.let { guest.add(LinuxVulkanDriver.ENV + "=" + it) } val tuOverride = tuDebugOverride() val tuDriver = sysmemDriver(linuxDriverId) @@ -814,6 +815,26 @@ class SessionService : Service() { private fun noSteamGame(): Boolean = SessionState.mode == MODE_RUN && SessionState.program in setOf(NoSteamLaunch.PROTON_RUN, NoSteamLaunch.EPIC, NoSteamLaunch.BATTLENET) + private fun startVkBridge(guest: MutableList, sessionDir: File) { + if (!com.droiddeck.launcher.core.DeviceSupport.vkBridge(this)) return + val socket = File(filesDir, "vkbridge/server.sock") + val bridge = com.droiddeck.launcher.gpu.VkBridgeComponent(socket, File(sessionDir, "vkbridge-server.log")) + bridge.attach(this) + components.add(bridge) + com.droiddeck.launcher.gpu.ClockLogComponent(File(sessionDir, "vkbridge-clocks.log")).let { + it.attach(this) + components.add(it) + } + guest.add("BL_VKBRIDGE=1") + guest.add("VKBRIDGE_SOCKET=" + socket.path) + guest.add("VKBRIDGE_CLIENT_LOG=" + File(sessionDir, "vkbridge-client.log").path) + LinuxRuntime.gpuStandIn(this)?.let { node -> + guest.add("BL_DRM_STANDIN=$node") + LinuxRuntime.deviceNumbers(node)?.let { guest.add("VKBRIDGE_DRM_RENDER=$it") } + } + Log.i(TAG, "vkbridge: on (${com.droiddeck.launcher.core.DeviceSupport.gpuName(this)}), socket $socket") + } + private fun startAudio(guest: MutableList, sessionDir: File, directAudioPack: Boolean): PulseAudioComponent { val wantsDirectAudio = directAudioPack && (SessionState.mode == MODE_STEAM || SessionState.mode == MODE_DESKTOP || noSteamGame()) && diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt index 4df261e8d..2391044fa 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt @@ -137,6 +137,8 @@ class FrontEndState( val oscMode: String = SessionPrefs.OSC_AUTO, val controller: com.droiddeck.launcher.input.ControllerPrefs.Settings? = null, val phantomProcessStatus: PhantomProcessStatus = PhantomProcessStatus.NOT_APPLICABLE, + val adreno: Boolean = true, + val vkBridge: Boolean = false, val showPhantomGate: Boolean = false, val orientation: Int = android.content.pm.ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE, val launcherOrientation: Int = android.content.pm.ActivityInfo.SCREEN_ORIENTATION_USER, @@ -193,6 +195,7 @@ class FrontEndActions( val onInstallPackage: (String) -> Unit, val onRemovePackage: (String) -> Unit, val onRuntime: () -> Unit, + val onVkBridge: (Boolean) -> Unit = {}, val onFrameGenPick: (FrameGen.Mode) -> Unit, val onImportLossless: () -> Unit, val onProtons: () -> Unit, diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt index 43926aa6b..5db7900c6 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt @@ -235,9 +235,16 @@ internal fun SetupPanel( when (gpu.support) { com.droiddeck.launcher.gpu.GpuInfo.Support.TESTED -> stringResource(R.string.setup_gpu_detail, gpu.displayName(ctx), gpuName) com.droiddeck.launcher.gpu.GpuInfo.Support.UNTESTED -> stringResource(R.string.setup_gpu_untested_detail, gpu.displayName(ctx), gpu.supportText(ctx).replaceFirstChar { it.lowercase() }) - else -> stringResource(R.string.setup_gpu_unsupported_detail, gpuName) + else -> if (s.vkBridge) stringResource(R.string.setup_gpu_bridge_detail, gpuName) + else stringResource(R.string.setup_gpu_unsupported_detail, gpuName) }, divider = divider, + action = if (s.adreno) null else { { + SecondaryButton( + stringResource(if (s.vkBridge) R.string.setup_gpu_bridge_on else R.string.setup_gpu_bridge_off), + enabled = !s.sessionRunning, compact = true, onClick = { a.onVkBridge(!s.vkBridge) }, + ) + } }, ) } val runtimeCheck: @Composable (Boolean) -> Unit = { divider -> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 840e26ebb..ebf2ff2bf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3226,4 +3226,7 @@ Cloud settings Xbox Cloud Gaming Game Pass + Mali bridge: off + Mali bridge: on + %1$s is not an Adreno. The experimental Vulkan bridge is on: the session draws through the phone\'s own driver. Expect bugs; send the session logs. diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-game-env b/tools/linuxfs/overlay/usr/local/bin/droiddeck-game-env index a854bb1d7..0bab42b21 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-game-env +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-game-env @@ -371,6 +371,14 @@ def apply_config(env, config, app_id, fixes=None): return result +def bridge_feature_level(env): + if env.get("BL_VKBRIDGE") != "1" or env.get("VKD3D_FEATURE_LEVEL") not in ("12_1", "12_2"): + return None + was = env["VKD3D_FEATURE_LEVEL"] + env["VKD3D_FEATURE_LEVEL"] = "12_0" + return "Mali bridge: VKD3D_FEATURE_LEVEL %s capped at 12_0 (no ray tracing or mesh shaders)" % was + + def sync_config(config, app_id): games = config.get("games", {}) return { @@ -613,6 +621,9 @@ def main(): if mic_enabled == "0": env["BANNER_AUDIO_DIRECT_MIC"] = "0" env = vram_cap(env) + note = bridge_feature_level(env) + if note: + print("droiddeck-game-env: " + note, file=sys.stderr) env = force_ssbs(command, env) game_cores(env) try: diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index 0f99643ee..37eef3b4d 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -114,6 +114,32 @@ if [ -n "${BL_VK_DRIVER:-}" ]; then fi unset bl_icd_lib fi +if [ "${BL_VKBRIDGE:-0}" = 1 ]; then + bl_vkb_icd=/usr/local/share/vkbridge/droidbridge_icd.json + if [ -r "$bl_vkb_icd" ] && [ -r /usr/local/lib/vkbridge/libvulkan_droidbridge.so ] && [ -S "${VKBRIDGE_SOCKET:-}" ]; then + export VK_DRIVER_FILES=$bl_vkb_icd VK_ICD_FILENAMES=$bl_vkb_icd + export VKBRIDGE_SOCKET VKBRIDGE_CLIENT_LOG + if [ -r /root/.vkbridge-env ]; then + while IFS='=' read -r _k _v; do + case "$_k" in VKBRIDGE_*|BL_VKBRIDGE_*) export "$_k=$_v" ;; esac + done < /root/.vkbridge-env + [ -z "${BL_INSIDE:-}" ] && echo "== vkbridge: development settings from /root/.vkbridge-env: $(cut -d= -f1 /root/.vkbridge-env | tr '\n' ' ')" + fi + export VKD3D_FEATURE_LEVEL=${VKD3D_FEATURE_LEVEL:-12_0} + unset TU_DEBUG + if [ -z "${BL_INSIDE:-}" ]; then + step "vkbridge self-test" + timeout 60 /usr/local/bin/droiddeck-vkbridge-smoke 2>&1 | sed 's/^/== vkbridge: /' + if command -v vulkaninfo >/dev/null 2>&1; then + timeout 30 vulkaninfo --summary 2>&1 | sed -n '/^Devices:/,$p' | head -40 | sed 's/^/== vulkaninfo: /' + fi + fi + echo "== vulkan driver: Mali bridge ($bl_vkb_icd, server at $VKBRIDGE_SOCKET)" + else + echo "== vulkan driver: Mali bridge requested but NOT usable (icd $bl_vkb_icd, socket ${VKBRIDGE_SOCKET:-unset}); this GPU will show a black screen" + fi + unset bl_vkb_icd +fi export GAMESCOPE_FORCE_VULKAN_REALTIME=${BL_GAMESCOPE_REALTIME:-0} start_agent() { @@ -955,6 +981,16 @@ BUSCONF _bl_cef=(-cef-disable-gpu) _bl_ui=(-nobigpicture) fi + if [ "${BL_VKBRIDGE:-0}" = 1 ]; then + if [ "${BL_VKBRIDGE_CEF_GPU:-1}" = 0 ]; then + _bl_cef=(-cef-disable-gpu -cef-disable-gpu-compositing) + echo "== steam: browser UI in software (Mali bridge)" + elif [ "${_bl_cef[0]}" = -cef-force-gpu ]; then + _bl_cef=(-cef-force-gpu -cef-use-gl=angle -cef-use-angle="${BL_VKBRIDGE_CEF_ANGLE:-vulkan}") + fi + [ "${BL_VKBRIDGE_CEF_LOG:-0}" = 1 ] && _bl_cef+=(-cef-enable-logging=stderr -cef-v=1) + [ -n "${BL_VKBRIDGE_CEF_EXTRA:-}" ] && read -r -a _bl_cef_extra <<<"$BL_VKBRIDGE_CEF_EXTRA" && _bl_cef+=("${_bl_cef_extra[@]}") + fi if [ "${BL_STEAM_UI:-}" != desktop ]; then if [ "$steam_x64" = 0 ] || [ "${BL_X64_DECK:-1}" != 0 ]; then _bl_ui+=(-steamdeck -steamos3) diff --git a/tools/linuxfs/preload/drm.c b/tools/linuxfs/preload/drm.c index 101512387..37784c3d9 100644 --- a/tools/linuxfs/preload/drm.c +++ b/tools/linuxfs/preload/drm.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -34,7 +35,8 @@ static int is_kgsl(int fd) { struct stat st; pthread_mutex_lock(&lock); if (kgsl_state == 0) { - kgsl_state = stat("/dev/kgsl-3d0", &st) == 0 ? 1 : -1; + const char *standin = getenv("BL_DRM_STANDIN"); + kgsl_state = stat("/dev/kgsl-3d0", &st) == 0 || (standin && *standin && stat(standin, &st) == 0) ? 1 : -1; kgsl_dev = st.st_rdev; } pthread_mutex_unlock(&lock); @@ -49,18 +51,42 @@ static void *real(const char *name) { return fn; } +static int same_by_flock(int a, int b) { + struct stat sa, sb; + if (fstat(a, &sa) || fstat(b, &sb) || sa.st_dev != sb.st_dev || sa.st_ino != sb.st_ino || + flock(a, LOCK_EX | LOCK_NB)) { + return 0; + } + int same = flock(b, LOCK_EX | LOCK_NB) == 0; + flock(a, LOCK_UN); + return same; +} + static int same_file_description(int a, int b) { if (a == b) { return 1; } -#ifdef SYS_kcmp int saved_errno = errno; - long ret = syscall(SYS_kcmp, getpid(), getpid(), 0 , a, b); - errno = saved_errno; - return ret == 0; -#else - return 0; + int ret = -1; +#ifdef SYS_kcmp + static int kcmp_missing; + if (!kcmp_missing) { + long k = syscall(SYS_kcmp, getpid(), getpid(), 0, a, b); + if (k >= 0) { + ret = k == 0; + } else if (errno == ENOSYS || errno == EPERM) { + kcmp_missing = 1; + } else { + ret = 0; + } + } #endif + if (ret < 0) { + const char *standin = getenv("BL_DRM_STANDIN"); + ret = standin && *standin ? same_by_flock(a, b) : 0; + } + errno = saved_errno; + return ret; } static int find_handle_locked(int fd, uint32_t handle) { diff --git a/tools/tests/test_game_environment.py b/tools/tests/test_game_environment.py index b4bc05aad..c6aadd0cd 100644 --- a/tools/tests/test_game_environment.py +++ b/tools/tests/test_game_environment.py @@ -192,6 +192,15 @@ class GameEnvironmentTest(unittest.TestCase): self.assertEqual(evaluate(), (0, 2)) self.assertEqual(evaluate("changed"), (0, 3)) + def test_the_mali_bridge_caps_the_vkd3d_feature_level(self): + bridge = {"BL_VKBRIDGE": "1", "VKD3D_FEATURE_LEVEL": "12_2"} + self.assertIn("capped", MODULE["bridge_feature_level"](bridge)) + self.assertEqual(bridge["VKD3D_FEATURE_LEVEL"], "12_0") + for env in ({"BL_VKBRIDGE": "1", "VKD3D_FEATURE_LEVEL": "11_1"}, {"VKD3D_FEATURE_LEVEL": "12_2"}, {"BL_VKBRIDGE": "1"}): + before = dict(env) + self.assertIsNone(MODULE["bridge_feature_level"](env)) + self.assertEqual(env, before) + def test_profile_precedence_and_unset(self): env = {"KEEP": "inherited", "REMOVE": "inherited", "CUSTOM": "launch option"} config = {"version": 1, "shared": {"CUSTOM": "shared"}, "games": {"42": {"REMOVE": None, "CUSTOM": "game", "EMPTY": ""}}} From b3c5570bdddc21ca228e380aa0224f089b1cb2bf Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Wed, 14 Oct 2026 17:54:17 +0300 Subject: [PATCH 06/38] Mali bridge sessions: keep Steam's web helper GPU process out of process Steam's web helper now runs its GPU work inside the browser process (--in-process-gpu --no-zygote, #566). On the Mali bridge that browser stops answering after its first window, Steam restarts it every 10 s and then quits before the login page. Bridge sessions keep the stock process layout (BL_WEBHELPER_ARGS=stock); BL_VKBRIDGE_WEBHELPER_ARGS overrides it for tests. Adreno sessions are unchanged. --- tools/linuxfs/overlay/usr/local/bin/droiddeck-session | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index 37eef3b4d..98f105365 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -990,6 +990,8 @@ BUSCONF fi [ "${BL_VKBRIDGE_CEF_LOG:-0}" = 1 ] && _bl_cef+=(-cef-enable-logging=stderr -cef-v=1) [ -n "${BL_VKBRIDGE_CEF_EXTRA:-}" ] && read -r -a _bl_cef_extra <<<"$BL_VKBRIDGE_CEF_EXTRA" && _bl_cef+=("${_bl_cef_extra[@]}") + export BL_WEBHELPER_ARGS="${BL_VKBRIDGE_WEBHELPER_ARGS:-stock}" + echo "== steam: web helper process layout: $BL_WEBHELPER_ARGS (Mali bridge)" fi if [ "${BL_STEAM_UI:-}" != desktop ]; then if [ "$steam_x64" = 0 ] || [ "${BL_X64_DECK:-1}" != 0 ]; then From e04eb840909ae4dbe59c1fa50305de8c6a9fc785 Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Thu, 15 Oct 2026 05:09:39 +0300 Subject: [PATCH 07/38] Mali bridge: keep the server's cache directory in the app's files, not its cache Android empties an app's cacheDir when storage runs low; it took the bridge's pipeline caches, the probe profile, stuck-pipelines and the env file from under a running server. The directory is now files/vkbridge-pipelines (--cache-dir and the in-app start alike), and an existing cache/vkbridge-pipelines is moved there once. Nothing trims filesDir, so the server's own limits bound it (64 MB per pipeline cache file, a total limit in newer servers). --- .../launcher/gpu/VkBridgeComponent.kt | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt index 599e5e5d8..8033d8eff 100644 --- a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt @@ -1,5 +1,6 @@ package com.droiddeck.launcher.gpu +import android.content.Context import android.os.Process import android.util.Log import com.droiddeck.launcher.core.HostProcess @@ -18,7 +19,7 @@ class VkBridgeComponent(private val socket: File, private val logFile: File) : S return } socket.parentFile?.mkdirs() - val cacheDir = File(app().cacheDir, "vkbridge-pipelines").apply { mkdirs() } + val cacheDir = cacheDir(app()) if (VkBridgeNative.start(app(), socket, logFile, cacheDir)) { Log.i(TAG, "server ready in the app's process at $socket") return @@ -54,6 +55,30 @@ class VkBridgeComponent(private val socket: File, private val logFile: File) : S companion object { private const val TAG = "VkBridge" + private const val CACHE_DIR = "vkbridge-pipelines" + + fun cacheDir(context: Context): File { + val dir = File(context.filesDir, CACHE_DIR) + val old = File(context.cacheDir, CACHE_DIR) + if (old.isDirectory) migrate(old, dir) + dir.mkdirs() + return dir + } + + private fun migrate(old: File, dir: File) { + val moved = if (!dir.exists()) old.renameTo(dir) else false + if (!moved) { + dir.mkdirs() + old.listFiles()?.forEach { f -> + val to = File(dir, f.name) + if (to.exists()) return@forEach + if (!f.renameTo(to)) runCatching { f.copyRecursively(to, overwrite = false) } + } + old.deleteRecursively() + } + Log.i(TAG, "bridge cache moved from $old to $dir") + } + const val BINARY = "libvkbridge_server.so" const val GUEST_ICD = "/usr/local/share/vkbridge/droidbridge_icd.json" const val GUEST_LIB = "/usr/local/lib/vkbridge/libvulkan_droidbridge.so" From 5b35ace098bfb76a30184d5ca0474dc53a25b6a5 Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Thu, 15 Oct 2026 06:16:25 +0300 Subject: [PATCH 08/38] Mali bridge: Setup's "Safe mode" switch, on by default A second row under the GPU check, shown only when the bridge is on: "Safe mode" keeps the bridge's proven workarounds wherever its startup probe has not verified this GPU and driver; off is performance mode, native paths wherever the probe passed. It reaches the server as /mode ("safe" or "performance", written atomically before the server starts or is reused, so the in-app server's JNI start stays as it is) and the guest as VKBRIDGE_MODE, which /root/.vkbridge-env can still override. A server without modes ignores the file. --- .../com/droiddeck/launcher/FrontEndActivity.kt | 5 ++++- .../droiddeck/launcher/gpu/VkBridgeComponent.kt | 13 +++++++++++++ .../com/droiddeck/launcher/session/SessionPrefs.kt | 10 ++++++++++ .../droiddeck/launcher/session/SessionService.kt | 3 ++- .../com/droiddeck/launcher/ui/FrontEndScreen.kt | 2 ++ .../com/droiddeck/launcher/ui/FrontEndSetup.kt | 14 +++++++++++++- app/src/main/res/values/strings.xml | 5 +++++ 7 files changed, 49 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt index 2d027f267..3fcf7dbd2 100644 --- a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt +++ b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt @@ -149,6 +149,7 @@ class FrontEndActivity : ComponentActivity() { private var tuSysmem by mutableStateOf(false) private var zinkLazy by mutableStateOf(false) private var vkBridge by mutableStateOf(false) + private var vkBridgeSafe by mutableStateOf(true) private val adrenoGpu by lazy { com.droiddeck.launcher.core.DeviceSupport.adreno() } private var noXalia by mutableStateOf(true) private var fastSync by mutableStateOf(false) @@ -811,7 +812,7 @@ class FrontEndActivity : ComponentActivity() { FrontEndScreen( FrontEndState( installed = installed, ready = ready, available = available?.version, removalPending = removalPending, runtimeActionsBlocked = runtimeChangesBlocked(), - vkBridge = vkBridge, adreno = adrenoGpu, + vkBridge = vkBridge, vkBridgeSafe = vkBridgeSafe, adreno = adrenoGpu, shortcutPicker = shortcutPicker, shortcutLibraryScanning = shortcutLibraryScanning, gameSyncFolder = gameSyncFolder, @@ -953,6 +954,7 @@ class FrontEndActivity : ComponentActivity() { onRemovePackage = { id -> removePackage(id) }, onRuntime = { onRuntimeButton() }, onVkBridge = { on -> SessionPrefs.setVkBridge(this, on); vkBridge = on }, + onVkBridgeSafe = { on -> SessionPrefs.setVkBridgeSafe(this, on); vkBridgeSafe = on }, onFrameGenPick = { mode -> FrameGen.set(this, mode) frameGenLabel = FrameGen.label(this) @@ -2077,6 +2079,7 @@ class FrontEndActivity : ComponentActivity() { tuSysmem = SessionPrefs.tuSysmem(this) zinkLazy = SessionPrefs.zinkLazy(this) vkBridge = SessionPrefs.vkBridge(this) + vkBridgeSafe = SessionPrefs.vkBridgeSafe(this) noXalia = SessionPrefs.noXalia(this) fastSync = SessionPrefs.fastSync(this) syncFallback = SessionPrefs.syncFallback(this) diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt index 8033d8eff..d606348ff 100644 --- a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt @@ -20,6 +20,7 @@ class VkBridgeComponent(private val socket: File, private val logFile: File) : S } socket.parentFile?.mkdirs() val cacheDir = cacheDir(app()) + writeMode(cacheDir, com.droiddeck.launcher.session.SessionPrefs.vkBridgeMode(app())) if (VkBridgeNative.start(app(), socket, logFile, cacheDir)) { Log.i(TAG, "server ready in the app's process at $socket") return @@ -56,6 +57,7 @@ class VkBridgeComponent(private val socket: File, private val logFile: File) : S companion object { private const val TAG = "VkBridge" private const val CACHE_DIR = "vkbridge-pipelines" + private const val MODE_FILE = "mode" fun cacheDir(context: Context): File { val dir = File(context.filesDir, CACHE_DIR) @@ -65,6 +67,17 @@ class VkBridgeComponent(private val socket: File, private val logFile: File) : S return dir } + fun writeMode(dir: File, mode: String) { + val file = File(dir, MODE_FILE) + if (runCatching { file.readText().trim() }.getOrNull() == mode) return + val tmp = File(dir, "$MODE_FILE.tmp") + runCatching { + tmp.writeText(mode + "\n") + if (!tmp.renameTo(file)) error("rename failed") + Log.i(TAG, "bridge mode: $mode") + }.onFailure { Log.w(TAG, "could not write $file: $it"); tmp.delete() } + } + private fun migrate(old: File, dir: File) { val moved = if (!dir.exists()) old.renameTo(dir) else false if (!moved) { diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt index 104c3572d..34ae95149 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt @@ -603,6 +603,16 @@ object SessionPrefs { prefs(context).edit().putBoolean("vkBridge", on).apply() } + @JvmStatic + fun vkBridgeSafe(context: Context): Boolean = prefs(context).getBoolean("vkBridgeSafe", true) + + fun setVkBridgeSafe(context: Context, on: Boolean) { + prefs(context).edit().putBoolean("vkBridgeSafe", on).apply() + } + + @JvmStatic + fun vkBridgeMode(context: Context): String = if (vkBridgeSafe(context)) "safe" else "performance" + fun setZinkLazy(context: Context, on: Boolean) { prefs(context).edit().putBoolean("zinkLazy", on).apply() } diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt index 7dcf5a361..4dfdca431 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt @@ -828,11 +828,12 @@ class SessionService : Service() { guest.add("BL_VKBRIDGE=1") guest.add("VKBRIDGE_SOCKET=" + socket.path) guest.add("VKBRIDGE_CLIENT_LOG=" + File(sessionDir, "vkbridge-client.log").path) + guest.add("VKBRIDGE_MODE=" + SessionPrefs.vkBridgeMode(this)) LinuxRuntime.gpuStandIn(this)?.let { node -> guest.add("BL_DRM_STANDIN=$node") LinuxRuntime.deviceNumbers(node)?.let { guest.add("VKBRIDGE_DRM_RENDER=$it") } } - Log.i(TAG, "vkbridge: on (${com.droiddeck.launcher.core.DeviceSupport.gpuName(this)}), socket $socket") + Log.i(TAG, "vkbridge: on (${com.droiddeck.launcher.core.DeviceSupport.gpuName(this)}, ${SessionPrefs.vkBridgeMode(this)} mode), socket $socket") } private fun startAudio(guest: MutableList, sessionDir: File, directAudioPack: Boolean): PulseAudioComponent { diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt index 2391044fa..d9ee66632 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt @@ -139,6 +139,7 @@ class FrontEndState( val phantomProcessStatus: PhantomProcessStatus = PhantomProcessStatus.NOT_APPLICABLE, val adreno: Boolean = true, val vkBridge: Boolean = false, + val vkBridgeSafe: Boolean = true, val showPhantomGate: Boolean = false, val orientation: Int = android.content.pm.ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE, val launcherOrientation: Int = android.content.pm.ActivityInfo.SCREEN_ORIENTATION_USER, @@ -196,6 +197,7 @@ class FrontEndActions( val onRemovePackage: (String) -> Unit, val onRuntime: () -> Unit, val onVkBridge: (Boolean) -> Unit = {}, + val onVkBridgeSafe: (Boolean) -> Unit = {}, val onFrameGenPick: (FrameGen.Mode) -> Unit, val onImportLossless: () -> Unit, val onProtons: () -> Unit, diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt index 5db7900c6..e93832a7e 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt @@ -238,7 +238,7 @@ internal fun SetupPanel( else -> if (s.vkBridge) stringResource(R.string.setup_gpu_bridge_detail, gpuName) else stringResource(R.string.setup_gpu_unsupported_detail, gpuName) }, - divider = divider, + divider = divider || (!s.adreno && s.vkBridge), action = if (s.adreno) null else { { SecondaryButton( stringResource(if (s.vkBridge) R.string.setup_gpu_bridge_on else R.string.setup_gpu_bridge_off), @@ -246,6 +246,18 @@ internal fun SetupPanel( ) } }, ) + if (!s.adreno && s.vkBridge) CheckRow( + CheckState.OK, + stringResource(R.string.setup_bridge_safe), + stringResource(if (s.vkBridgeSafe) R.string.setup_bridge_safe_on_detail else R.string.setup_bridge_safe_off_detail), + divider = divider, + action = { + SecondaryButton( + stringResource(if (s.vkBridgeSafe) R.string.setup_bridge_safe_on else R.string.setup_bridge_safe_off), + enabled = !s.sessionRunning, compact = true, onClick = { a.onVkBridgeSafe(!s.vkBridgeSafe) }, + ) + }, + ) } val runtimeCheck: @Composable (Boolean) -> Unit = { divider -> CheckRow( diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ebf2ff2bf..7995209fe 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3228,5 +3228,10 @@ Game Pass Mali bridge: off Mali bridge: on + Safe mode + Safe mode: on + Safe mode: off + Most compatible. Recommended for a new device. + Faster where this GPU passed its checks. %1$s is not an Adreno. The experimental Vulkan bridge is on: the session draws through the phone\'s own driver. Expect bugs; send the session logs. From 9c28b41d49052bf80318ee0fc38cf4490f447cd5 Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Sat, 17 Oct 2026 23:48:39 +0300 Subject: [PATCH 09/38] droiddeck-session: wait up to 10 s for the Mali bridge socket before falling back The bridge check tested the server's socket once. It now polls every 50 ms (BL_VKBRIDGE_WAIT_MS, default 10000) on the first pass, logs how long the socket took, stops waiting when the session is told to stop, and names what is missing (icd, library, socket) when it falls back. --- .../overlay/usr/local/bin/droiddeck-session | 47 ++++++- tools/tests/test_session_vkbridge_wait.py | 127 ++++++++++++++++++ 2 files changed, 170 insertions(+), 4 deletions(-) create mode 100644 tools/tests/test_session_vkbridge_wait.py diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index 98f105365..9d9c6d331 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -97,7 +97,7 @@ collect_steam_logs() { cp "$fex_state/status.json" "$fex_state/config/Config.json" "$BL_DEBUG_DIR/droiddeck-fex/" 2>/dev/null fi } -trap 'collect_steam_logs 2>/dev/null || true' TERM INT HUP +trap 'bl_stopping=1; collect_steam_logs 2>/dev/null || true' TERM INT HUP if [ -n "${BL_VK_DRIVER:-}" ]; then bl_icd_lib=$(sed -n 's/.*"library_path"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "$BL_VK_DRIVER" 2>/dev/null | head -1) bl_icd_lib=$(printf '%s' "$bl_icd_lib" | sed 's|\\/|/|g') @@ -114,9 +114,48 @@ if [ -n "${BL_VK_DRIVER:-}" ]; then fi unset bl_icd_lib fi +bl_now_ms() { + if [ -n "${EPOCHREALTIME:-}" ]; then + local t=${EPOCHREALTIME/[.,]/} + echo $((10#$t / 1000)) + else + date +%s%3N + fi +} +vkbridge_wait_socket() { + local sock=$1 limit=${2:-10000} start now waited + [ -n "$sock" ] || return 1 + if [ -S "$sock" ]; then + echo "== vkbridge: server socket ready (waited 0 ms)" + return 0 + fi + start=$(bl_now_ms) + while :; do + now=$(bl_now_ms) + waited=$((now - start)) + if [ -S "$sock" ]; then + echo "== vkbridge: server socket ready (waited $waited ms; the server listens after its startup probe)" + return 0 + fi + if [ -n "${bl_stopping:-}" ]; then + echo "== vkbridge: no server socket after $waited ms; the session is stopping" + return 1 + fi + if [ "$waited" -ge "$limit" ]; then + echo "== vkbridge: no server socket after $waited ms (gave up at $limit ms)" + return 1 + fi + sleep 0.05 + done +} if [ "${BL_VKBRIDGE:-0}" = 1 ]; then bl_vkb_icd=/usr/local/share/vkbridge/droidbridge_icd.json - if [ -r "$bl_vkb_icd" ] && [ -r /usr/local/lib/vkbridge/libvulkan_droidbridge.so ] && [ -S "${VKBRIDGE_SOCKET:-}" ]; then + [ -z "${BL_INSIDE:-}" ] && vkbridge_wait_socket "${VKBRIDGE_SOCKET:-}" "${BL_VKBRIDGE_WAIT_MS:-10000}" + bl_vkb_missing= + [ -r "$bl_vkb_icd" ] || bl_vkb_missing="$bl_vkb_missing icd" + [ -r /usr/local/lib/vkbridge/libvulkan_droidbridge.so ] || bl_vkb_missing="$bl_vkb_missing library" + [ -S "${VKBRIDGE_SOCKET:-}" ] || bl_vkb_missing="$bl_vkb_missing socket" + if [ -z "$bl_vkb_missing" ]; then export VK_DRIVER_FILES=$bl_vkb_icd VK_ICD_FILENAMES=$bl_vkb_icd export VKBRIDGE_SOCKET VKBRIDGE_CLIENT_LOG if [ -r /root/.vkbridge-env ]; then @@ -136,9 +175,9 @@ if [ "${BL_VKBRIDGE:-0}" = 1 ]; then fi echo "== vulkan driver: Mali bridge ($bl_vkb_icd, server at $VKBRIDGE_SOCKET)" else - echo "== vulkan driver: Mali bridge requested but NOT usable (icd $bl_vkb_icd, socket ${VKBRIDGE_SOCKET:-unset}); this GPU will show a black screen" + echo "== vulkan driver: Mali bridge requested but NOT usable (icd $bl_vkb_icd, socket ${VKBRIDGE_SOCKET:-unset}; missing:$bl_vkb_missing); this GPU will show a black screen" fi - unset bl_vkb_icd + unset bl_vkb_icd bl_vkb_missing fi export GAMESCOPE_FORCE_VULKAN_REALTIME=${BL_GAMESCOPE_REALTIME:-0} diff --git a/tools/tests/test_session_vkbridge_wait.py b/tools/tests/test_session_vkbridge_wait.py new file mode 100644 index 000000000..bbd4fdb26 --- /dev/null +++ b/tools/tests/test_session_vkbridge_wait.py @@ -0,0 +1,127 @@ +import os +import re +import shutil +import socket +import subprocess +import tempfile +import threading +import time +import unittest +from pathlib import Path + +SESSION = Path(__file__).resolve().parents[1] / "linuxfs/overlay/usr/local/bin/droiddeck-session" + + +def wait_functions(): + text = SESSION.read_text() + found = [] + for name in ("bl_now_ms", "vkbridge_wait_socket"): + match = re.search(r"^%s\(\) \{\n.*?^\}\n" % name, text, re.M | re.S) + if match: + found.append(match.group(0)) + return found + + +class VkBridgeSocketWaitTest(unittest.TestCase): + def setUp(self): + self.root = Path(tempfile.mkdtemp()) + self.addCleanup(shutil.rmtree, self.root, True) + self.sock = self.root / "vkbridge" / "server.sock" + self.sock.parent.mkdir() + self.listeners = [] + self.addCleanup(lambda: [s.close() for s in self.listeners]) + + def listen(self): + listener = socket.socket(socket.AF_UNIX) + listener.bind(str(self.sock)) + listener.listen(1) + self.listeners.append(listener) + + def listen_after(self, seconds): + timer = threading.Timer(seconds, self.listen) + timer.start() + self.addCleanup(timer.cancel) + + def run_wait(self, limit_ms, prelude=""): + functions = wait_functions() + self.assertEqual(2, len(functions), "droiddeck-session lacks bl_now_ms() or vkbridge_wait_socket()") + script = "set -u\n" + "".join(functions) + prelude + script += 'if vkbridge_wait_socket "$1" "$2"; then echo USABLE; else echo FALLBACK; fi\n' + started = time.monotonic() + out = subprocess.run(["bash", "-c", script, "session", str(self.sock), str(limit_ms)], + capture_output=True, text=True, timeout=30, check=True).stdout + return out, time.monotonic() - started + + def waited_ms(self, out): + match = re.search(r"waited (\d+) ms|after (\d+) ms", out) + self.assertIsNotNone(match, out) + return int(match.group(1) or match.group(2)) + + def test_a_socket_already_listening_is_used_at_once(self): + self.listen() + out, elapsed = self.run_wait(10000) + self.assertTrue(out.endswith("USABLE\n"), out) + self.assertIn("== vkbridge: server socket ready (waited 0 ms)", out) + self.assertLess(elapsed, 2) + + def test_a_server_still_probing_is_waited_for(self): + self.listen_after(0.4) + out, elapsed = self.run_wait(10000) + self.assertTrue(out.endswith("USABLE\n"), out) + self.assertIn("== vkbridge: server socket ready (waited ", out) + waited = self.waited_ms(out) + self.assertGreaterEqual(waited, 300, out) + self.assertLess(waited, 5000, out) + self.assertLess(elapsed, 6) + + def test_no_server_falls_back_after_the_limit(self): + out, elapsed = self.run_wait(300) + self.assertTrue(out.endswith("FALLBACK\n"), out) + self.assertIn("== vkbridge: no server socket after ", out) + self.assertIn("(gave up at 300 ms)", out) + self.assertGreaterEqual(self.waited_ms(out), 300) + self.assertLess(elapsed, 5) + + def test_a_plain_file_is_not_a_socket(self): + self.sock.write_text("stale") + out, _ = self.run_wait(200) + self.assertTrue(out.endswith("FALLBACK\n"), out) + + def test_a_stopping_session_does_not_wait(self): + out, elapsed = self.run_wait(10000, prelude="bl_stopping=1\n") + self.assertTrue(out.endswith("FALLBACK\n"), out) + self.assertIn("the session is stopping", out) + self.assertLess(elapsed, 2) + + def test_no_socket_path_is_a_fallback_without_waiting(self): + functions = "".join(wait_functions()) + out = subprocess.run(["bash", "-c", "set -u\n" + functions + + 'if vkbridge_wait_socket "" 10000; then echo USABLE; else echo FALLBACK; fi\n'], + capture_output=True, text=True, timeout=10, check=True).stdout + self.assertEqual("FALLBACK\n", out) + + +class VkBridgeSessionCheckTest(unittest.TestCase): + + def setUp(self): + self.text = SESSION.read_text() + match = re.search(r'^if \[ "\$\{BL_VKBRIDGE:-0\}" = 1 \]; then\n.*?^fi\n', self.text, re.M | re.S) + self.assertIsNotNone(match) + self.block = match.group(0) + + def test_the_first_pass_waits_before_the_usability_check(self): + wait = self.block.index("vkbridge_wait_socket") + check = self.block.index('[ -S "${VKBRIDGE_SOCKET:-}" ]') + self.assertLess(wait, check) + self.assertIn('[ -z "${BL_INSIDE:-}" ] && vkbridge_wait_socket', self.block) + + def test_the_fallback_message_names_what_is_missing(self): + self.assertIn("Mali bridge requested but NOT usable", self.block) + self.assertIn("missing:$bl_vkb_missing", self.block) + + def test_a_stop_ends_the_wait(self): + self.assertRegex(self.text, r"trap '[^']*bl_stopping=1[^']*' TERM INT HUP") + + +if __name__ == "__main__": + unittest.main() From 30a70a0f7c60a832c1d65f588234d75ddce3009e Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Sat, 17 Oct 2026 23:55:23 +0300 Subject: [PATCH 10/38] Setup: show the stored Mali bridge switch in a new process; log the server's start time FrontEndActivity read vkBridge and vkBridgeSafe only when the Performance page opened, so after an app restart (every APK update) Setup showed "Mali bridge: off" while sessions used the bridge. refresh() now reads them. VkBridgeComponent logs how long the server took to listen. --- .../main/java/com/droiddeck/launcher/FrontEndActivity.kt | 2 ++ .../java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt index 3fcf7dbd2..a592b0c5e 100644 --- a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt +++ b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt @@ -2113,6 +2113,8 @@ class FrontEndActivity : ComponentActivity() { offline = OfflineMode.enabled(this) installed = LinuxRuntimeInstaller.installedVersion(this) ready = LinuxRuntime.isInstalled(this) + vkBridge = SessionPrefs.vkBridge(this) + vkBridgeSafe = SessionPrefs.vkBridgeSafe(this) removalPending = LinuxRuntimeInstaller.hasRemovalPending(this) frameGenLabel = FrameGen.label(this) romsDir = SessionPrefs.romsDir(this).takeIf { it.isNotEmpty() } diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt index d606348ff..8e1c4419e 100644 --- a/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/gpu/VkBridgeComponent.kt @@ -36,11 +36,14 @@ class VkBridgeComponent(private val socket: File, private val logFile: File) : S Log.w(TAG, "server exited with status $status") runCatching { logFile.appendText("== vkbridge server exited with status $status\n") } }, { line -> Log.i(TAG, line) }) - val deadline = System.currentTimeMillis() + 15_000L + val began = System.currentTimeMillis() + val deadline = began + 15_000L while (!socket.exists() && !exited && System.currentTimeMillis() < deadline) { try { Thread.sleep(50L) } catch (e: InterruptedException) { Thread.currentThread().interrupt(); break } } - Log.i(TAG, if (socket.exists()) "server ready (pid $pid) at $socket" else "server NOT ready (pid $pid, exited=$exited); see $logFile") + val waited = System.currentTimeMillis() - began + Log.i(TAG, if (socket.exists()) "server ready (pid $pid) at $socket after $waited ms" + else "server NOT ready (pid $pid, exited=$exited) after $waited ms; see $logFile") if (!socket.exists() && VkBridgeNative.start(app(), socket, logFile, cacheDir)) Log.i(TAG, "server ready in the app's process at $socket") } From e527d4a9f39dd35df57926ef0c2d7df608d6ca66 Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Sun, 18 Oct 2026 21:45:41 +0300 Subject: [PATCH 11/38] fix: droiddeck-session: BL_VKBRIDGE_CEF_ANGLE reaches Chromium through the web helper preload Steam drops -cef-use-angle: on the bridge the CEF GPU process reports ANGLE_OPENGL (ANGLE on Zink) with -cef-use-angle=vulkan on the command line. An explicit BL_VKBRIDGE_CEF_ANGLE now also becomes --use-gl=angle --use-angle= on steamwebhelper's own argv (stock process layout kept); unset, nothing changes. --- tools/linuxfs/overlay/usr/local/bin/droiddeck-session | 5 ++++- tools/tests/test_webhelper_preload.py | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index 9d9c6d331..cf3f46365 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -1029,7 +1029,10 @@ BUSCONF fi [ "${BL_VKBRIDGE_CEF_LOG:-0}" = 1 ] && _bl_cef+=(-cef-enable-logging=stderr -cef-v=1) [ -n "${BL_VKBRIDGE_CEF_EXTRA:-}" ] && read -r -a _bl_cef_extra <<<"$BL_VKBRIDGE_CEF_EXTRA" && _bl_cef+=("${_bl_cef_extra[@]}") - export BL_WEBHELPER_ARGS="${BL_VKBRIDGE_WEBHELPER_ARGS:-stock}" + _bl_wh_args=stock + [ -n "${BL_VKBRIDGE_CEF_ANGLE:-}" ] && _bl_wh_args="--use-gl=angle --use-angle=$BL_VKBRIDGE_CEF_ANGLE" + export BL_WEBHELPER_ARGS="${BL_VKBRIDGE_WEBHELPER_ARGS:-$_bl_wh_args}" + unset _bl_wh_args echo "== steam: web helper process layout: $BL_WEBHELPER_ARGS (Mali bridge)" fi if [ "${BL_STEAM_UI:-}" != desktop ]; then diff --git a/tools/tests/test_webhelper_preload.py b/tools/tests/test_webhelper_preload.py index 30a41fc7b..def4aa67a 100644 --- a/tools/tests/test_webhelper_preload.py +++ b/tools/tests/test_webhelper_preload.py @@ -61,6 +61,12 @@ class WebhelperPreloadTest(unittest.TestCase): args = [WEBHELPER, "--enable-features=A"] self.assertEqual(self.argv(*args, spec="stock"), args) + def test_angle_switches_are_appended_with_the_gpu_process_kept_out_of_process(self): + out = self.argv(WEBHELPER, "-lang=en_US", "--enable-features=A", spec="--use-gl=angle --use-angle=vulkan") + self.assertEqual(out, [WEBHELPER, "-lang=en_US", "--use-gl=angle", "--use-angle=vulkan", + "--enable-features=A"]) + self.assertNotIn("--in-process-gpu", out) + def test_an_empty_setting_means_the_default(self): self.assertIn("--no-zygote", self.argv(WEBHELPER, spec="")) From e63fad1daab57499e454b89143e0e46efcf27fcb Mon Sep 17 00:00:00 2001 From: Ahmad Sayed Alsayed Ebrahim Date: Sun, 18 Oct 2026 23:35:51 +0300 Subject: [PATCH 12/38] fix: droiddeck-session: ANGLE on Vulkan brings Chromium's Vulkan compositing With BL_VKBRIDGE_CEF_ANGLE=vulkan the CEF GPU process stopped crashing but Chromium still composited in software (gpu_compositing: disabled_software, Steam "Disabling GPU acceleration: Disabled/RuntimeDetect", VizCompositorThread at a full core). The GPU report shows why: "eglCreateWindowSurface failed with error EGL_BAD_CONFIG". ANGLE's Vulkan backend on X11 gives every EGL config the root window's visual; Chromium's X11 surface asks for a config whose EGL_NATIVE_VISUAL_ID is the ARGB visual whenever a compositing manager owns _NET_WM_CM_S0 (gamescope does), finds none and passes a null config. bl_webhelper_layout() now adds +Vulkan +VulkanFromANGLE +DefaultANGLEVulkan for ANGLE on Vulkan, so Skia composites through an xcb swapchain on ANGLE's Vulkan device and no EGL window surface is needed. BL_VKBRIDGE_CEF_VULKAN=0 leaves it off; unset BL_VKBRIDGE_CEF_ANGLE still means Steam's stock layout. --- .../overlay/usr/local/bin/droiddeck-session | 17 +++++-- tools/tests/test_session_webhelper_layout.py | 48 +++++++++++++++++++ tools/tests/test_webhelper_preload.py | 7 +++ 3 files changed, 68 insertions(+), 4 deletions(-) create mode 100644 tools/tests/test_session_webhelper_layout.py diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index cf3f46365..b91057000 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -114,6 +114,17 @@ if [ -n "${BL_VK_DRIVER:-}" ]; then fi unset bl_icd_lib fi +bl_webhelper_layout() { + if [ -n "${BL_VKBRIDGE_WEBHELPER_ARGS:-}" ]; then + printf '%s\n' "$BL_VKBRIDGE_WEBHELPER_ARGS" + elif [ -z "${BL_VKBRIDGE_CEF_ANGLE:-}" ]; then + echo stock + elif [ "$BL_VKBRIDGE_CEF_ANGLE" = vulkan ] && [ "${BL_VKBRIDGE_CEF_VULKAN:-1}" != 0 ]; then + echo "--use-gl=angle --use-angle=vulkan +Vulkan +VulkanFromANGLE +DefaultANGLEVulkan" + else + echo "--use-gl=angle --use-angle=$BL_VKBRIDGE_CEF_ANGLE" + fi +} bl_now_ms() { if [ -n "${EPOCHREALTIME:-}" ]; then local t=${EPOCHREALTIME/[.,]/} @@ -1029,10 +1040,8 @@ BUSCONF fi [ "${BL_VKBRIDGE_CEF_LOG:-0}" = 1 ] && _bl_cef+=(-cef-enable-logging=stderr -cef-v=1) [ -n "${BL_VKBRIDGE_CEF_EXTRA:-}" ] && read -r -a _bl_cef_extra <<<"$BL_VKBRIDGE_CEF_EXTRA" && _bl_cef+=("${_bl_cef_extra[@]}") - _bl_wh_args=stock - [ -n "${BL_VKBRIDGE_CEF_ANGLE:-}" ] && _bl_wh_args="--use-gl=angle --use-angle=$BL_VKBRIDGE_CEF_ANGLE" - export BL_WEBHELPER_ARGS="${BL_VKBRIDGE_WEBHELPER_ARGS:-$_bl_wh_args}" - unset _bl_wh_args + BL_WEBHELPER_ARGS=$(bl_webhelper_layout) + export BL_WEBHELPER_ARGS echo "== steam: web helper process layout: $BL_WEBHELPER_ARGS (Mali bridge)" fi if [ "${BL_STEAM_UI:-}" != desktop ]; then diff --git a/tools/tests/test_session_webhelper_layout.py b/tools/tests/test_session_webhelper_layout.py new file mode 100644 index 000000000..f14afd61d --- /dev/null +++ b/tools/tests/test_session_webhelper_layout.py @@ -0,0 +1,48 @@ +import os +import re +import subprocess +import unittest +from pathlib import Path + +SESSION = Path(__file__).resolve().parents[1] / "linuxfs/overlay/usr/local/bin/droiddeck-session" +KEYS = ("BL_VKBRIDGE_WEBHELPER_ARGS", "BL_VKBRIDGE_CEF_ANGLE", "BL_VKBRIDGE_CEF_VULKAN") + + +def layout_function(): + match = re.search(r"^bl_webhelper_layout\(\) \{\n.*?^\}\n", SESSION.read_text(), re.M | re.S) + return match.group(0) if match else None + + +class WebhelperLayoutTest(unittest.TestCase): + def layout(self, **settings): + function = layout_function() + self.assertIsNotNone(function, "droiddeck-session lacks bl_webhelper_layout()") + env = {k: v for k, v in os.environ.items() if k not in KEYS} + env.update(settings) + return subprocess.run(["bash", "-c", "set -u\n" + function + "bl_webhelper_layout\n"], env=env, + capture_output=True, text=True, check=True).stdout.strip() + + def test_unset_keeps_steams_own_layout(self): + self.assertEqual(self.layout(), "stock") + + def test_angle_on_vulkan_brings_chromiums_vulkan_compositing(self): + self.assertEqual(self.layout(BL_VKBRIDGE_CEF_ANGLE="vulkan"), + "--use-gl=angle --use-angle=vulkan +Vulkan +VulkanFromANGLE +DefaultANGLEVulkan") + + def test_vulkan_compositing_can_be_left_off(self): + self.assertEqual(self.layout(BL_VKBRIDGE_CEF_ANGLE="vulkan", BL_VKBRIDGE_CEF_VULKAN="0"), + "--use-gl=angle --use-angle=vulkan") + + def test_other_angle_backends_get_only_the_angle_switches(self): + self.assertEqual(self.layout(BL_VKBRIDGE_CEF_ANGLE="gl"), "--use-gl=angle --use-angle=gl") + + def test_explicit_layout_wins(self): + self.assertEqual(self.layout(BL_VKBRIDGE_CEF_ANGLE="vulkan", BL_VKBRIDGE_WEBHELPER_ARGS="--x +Y"), + "--x +Y") + + def test_the_steam_block_uses_it(self): + self.assertIn("BL_WEBHELPER_ARGS=$(bl_webhelper_layout)", SESSION.read_text()) + + +if __name__ == "__main__": + unittest.main() diff --git a/tools/tests/test_webhelper_preload.py b/tools/tests/test_webhelper_preload.py index def4aa67a..7c49e1d76 100644 --- a/tools/tests/test_webhelper_preload.py +++ b/tools/tests/test_webhelper_preload.py @@ -67,6 +67,13 @@ class WebhelperPreloadTest(unittest.TestCase): "--enable-features=A"]) self.assertNotIn("--in-process-gpu", out) + def test_vulkan_compositing_features_join_steams_feature_list(self): + out = self.argv(WEBHELPER, "--enable-features=PlatformHEVCDecoderSupport,V4L2VideoDecode", + spec="--use-gl=angle --use-angle=vulkan +Vulkan +VulkanFromANGLE +DefaultANGLEVulkan") + self.assertEqual(out, [WEBHELPER, "--use-gl=angle", "--use-angle=vulkan", + "--enable-features=PlatformHEVCDecoderSupport,V4L2VideoDecode," + "Vulkan,VulkanFromANGLE,DefaultANGLEVulkan"]) + def test_an_empty_setting_means_the_default(self): self.assertIn("--no-zygote", self.argv(WEBHELPER, spec="")) From 9040f828e988b4032586af4f8330036eb0e09fe5 Mon Sep 17 00:00:00 2001 From: ASEbrahim <264076441+ASEbrahim@users.noreply.github.com> Date: Tue, 20 Oct 2026 11:13:51 +0300 Subject: [PATCH 13/38] Mali bridge: DXVK 1.10.3 on phones whose Vulkan stops below 1.3 Proton's DXVK 3 refuses a device below Vulkan 1.3, without shaderInt64 or with less than 256 bytes of push constants, so on a Mali with a 1.1 driver (OnePlus Ace 2V, Mali-G710, r32p1) every D3D9-11 game exits. On a bridge session the forced-package step now picks the newest DXVK that starts on what games see: 1.10.3 below Vulkan 1.3, 2.6.2 on 1.3 without shaderInt64 or 256 bytes of push constants, Proton's own otherwise. What games see comes from /apps-vulkan (a bridge with Vulkan promotion writes it after its self-test) or else from the phone's driver (vkinfo now reports shader_int64 and max_push_constants). These choices are marked automatic: a later session with another answer swaps or restores them, and the player's own choice in Components is never touched. --- app/src/main/cpp/deviceinfo/vkinfo.c | 2 + .../com/droiddeck/launcher/gpu/AppVulkan.kt | 68 +++++++ .../launcher/session/ComponentsManager.kt | 71 +++++-- .../launcher/session/BridgeDxvkTest.kt | 179 ++++++++++++++++++ 4 files changed, 308 insertions(+), 12 deletions(-) create mode 100644 app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt create mode 100644 app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt diff --git a/app/src/main/cpp/deviceinfo/vkinfo.c b/app/src/main/cpp/deviceinfo/vkinfo.c index 81ccc6b0d..5846e055d 100644 --- a/app/src/main/cpp/deviceinfo/vkinfo.c +++ b/app/src/main/cpp/deviceinfo/vkinfo.c @@ -62,6 +62,7 @@ Java_com_droiddeck_launcher_gpu_VulkanInfo_nativeQuery(JNIEnv *env, jclass clazz LINE("driver_version=%u.%u.%u\n", p.driverVersion >> 22, (p.driverVersion >> 12) & 0x3ff, p.driverVersion & 0xfff); LINE("vendor_id=0x%04x\ndevice_id=0x%08x\n", p.vendorID, p.deviceID); LINE("max_image_2d=%u\n", p.limits.maxImageDimension2D); + LINE("max_push_constants=%u\n", p.limits.maxPushConstantsSize); uint32_t extCount = 0; if (vkEnumerateDeviceExtensionProperties) vkEnumerateDeviceExtensionProperties(device, NULL, &extCount, NULL); @@ -91,6 +92,7 @@ Java_com_droiddeck_launcher_gpu_VulkanInfo_nativeQuery(JNIEnv *env, jclass clazz vkGetPhysicalDeviceFeatures(device, &f); LINE("geometry_shader=%s\ntessellation_shader=%s\ntexture_bc=%s\n", f.geometryShader ? "yes" : "no", f.tessellationShader ? "yes" : "no", f.textureCompressionBC ? "yes" : "no"); + LINE("shader_int64=%s\n", f.shaderInt64 ? "yes" : "no"); } if (vkGetPhysicalDeviceMemoryProperties) { VkPhysicalDeviceMemoryProperties m; diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt b/app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt new file mode 100644 index 000000000..437f232f8 --- /dev/null +++ b/app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt @@ -0,0 +1,68 @@ +package com.droiddeck.launcher.gpu + +import android.content.Context +import android.util.Log +import com.droiddeck.launcher.core.DeviceSupport +import com.droiddeck.launcher.core.FileUtils +import java.io.File + +data class AppVulkan( + val major: Int, + val minor: Int, + val shaderInt64: Boolean?, + val maxPushConstants: Int?, + val source: String, +) { + fun atLeast(major: Int, minor: Int): Boolean = this.major > major || (this.major == major && this.minor >= minor) + + val label: String + get() = "Vulkan $major.$minor, shaderInt64 ${shaderInt64?.let { if (it) "yes" else "no" } ?: "?"}, " + + "push constants ${maxPushConstants ?: "?"} ($source)" + + companion object { + private const val TAG = "AppVulkan" + const val BRIDGE_FILE = "apps-vulkan" + + fun detect(context: Context): AppVulkan? { + if (!DeviceSupport.vkBridge(context)) return null + val native = VulkanInfo.query() + val file = File(VkBridgeComponent.cacheDir(context), BRIDGE_FILE) + val fromBridge = FileUtils.readString(file)?.let { fromBridgeFile(it, native["device"]) } + val found = fromBridge ?: fromDriver(native) + Log.i(TAG, found?.label ?: "unknown (driver query: ${native["error"] ?: "no api line"})") + return found + } + + internal fun fromBridgeFile(text: String, driverDevice: String?): AppVulkan? { + val map = keyValues(text) + val device = map["device"] + if (device != null && driverDevice != null && device != driverDevice) return null + val (major, minor) = version(map["api"]) ?: return null + return AppVulkan(major, minor, bool(map["shader_int64"]), map["max_push_constants"]?.toIntOrNull(), "bridge") + } + + internal fun fromDriver(map: Map): AppVulkan? { + val (major, minor) = version(map["api"]) ?: return null + return AppVulkan(major, minor, bool(map["shader_int64"]), map["max_push_constants"]?.toIntOrNull(), "driver") + } + + private fun keyValues(text: String): Map = text.lineSequence().mapNotNull { line -> + val eq = line.indexOf('=') + if (eq <= 0) null else line.substring(0, eq).trim() to line.substring(eq + 1).trim() + }.toMap() + + private fun version(v: String?): Pair? { + val parts = v?.trim()?.split('.') ?: return null + if (parts.size < 2) return null + val major = parts[0].toIntOrNull() ?: return null + val minor = parts[1].toIntOrNull() ?: return null + return major to minor + } + + private fun bool(v: String?): Boolean? = when (v?.trim()?.lowercase()) { + "1", "yes", "true" -> true + "0", "no", "false" -> false + else -> null + } + } +} diff --git a/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt b/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt index f10ab1244..ca5afd557 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt @@ -7,6 +7,7 @@ import android.util.Log import com.droiddeck.launcher.core.Downloader import com.droiddeck.launcher.core.FileUtils import com.droiddeck.launcher.core.GameEnvironment +import com.droiddeck.launcher.gpu.AppVulkan import com.droiddeck.launcher.gpu.GpuInfo import com.droiddeck.launcher.runtime.LinuxRuntime import com.github.luben.zstd.ZstdInputStream @@ -629,29 +630,31 @@ object ComponentsManager { } - fun swap(context: Context, protonId: String, file: String): String = synchronized(lock) { + fun swap(context: Context, protonId: String, file: String, auto: Boolean = false): String = synchronized(lock) { val p = proton(context, protonId) val wcp = File(packagesDir(context), safeName(file)) val info = packageInfo(context, wcp) val state = loadState(context) if (inUse(context, p)) { - state.sub("queued").sub(p.id).put(info.comp, JSONObject().put("kind", "package").put("file", wcp.name).put("label", info.version)) + state.sub("queued").sub(p.id).put(info.comp, JSONObject().put("kind", "package").put("file", wcp.name).put("label", info.version) + .apply { if (auto) put("auto", true) }) saveState(context, state) return context.getString(R.string.cmgr_swap_queued, LABEL[info.comp], info.version, p.name) } - applyPackage(context, p, info, wcp, state) + applyPackage(context, p, info, wcp, state, auto) state.sub("queued").optJSONObject(p.id)?.remove(info.comp) saveState(context, state) context.getString(R.string.cmgr_swap_done, LABEL[info.comp], info.version, p.name) } - private fun applyPackage(context: Context, p: Proton, info: Package, wcp: File, state: JSONObject) { + private fun applyPackage(context: Context, p: Proton, info: Package, wcp: File, state: JSONObject, auto: Boolean = false) { ensureOriginal(context, p, info.comp, state) val hashes = installFiles(context, p.dir, info.comp, wcp) state.sub("active").sub(p.id).put(info.comp, JSONObject() .put("file", wcp.name).put("label", info.version).put("protonVersion", p.version) .put("files", JSONObject(hashes.filterKeys { owned(info.comp, it) } as Map<*, *>)) - .put("at", System.currentTimeMillis() / 1000)) + .put("at", System.currentTimeMillis() / 1000) + .apply { if (auto) put("auto", true) }) Log.i(TAG, "swapped ${info.comp} ${info.version} into ${p.name} ${p.version}") } @@ -699,7 +702,7 @@ object ComponentsManager { applyOriginal(context, p, comp, v, File(originalsDir(context), "$pid/${safeName(v)}/$comp.wcp"), state) } else { val wcp = File(packagesDir(context), q.optString("file")) - applyPackage(context, p, packageInfo(context, wcp), wcp, state) + applyPackage(context, p, packageInfo(context, wcp), wcp, state, q.optBoolean("auto")) } done += "${LABEL[comp]} ${q.optString("label")} → ${p.name}" }.onFailure { Log.w(TAG, "queued $comp for ${p.name}", it) } @@ -1005,6 +1008,21 @@ object ComponentsManager { internal fun forcedPackageWanted(activeFile: String?, protonVersionMatches: Boolean): Boolean = activeFile.isNullOrEmpty() || !protonVersionMatches + internal fun bridgeDxvk(vk: AppVulkan?): ForcedPackage? = when { + vk == null -> null + !vk.atLeast(1, 1) -> null + !vk.atLeast(1, 3) -> ForcedPackage(emptySet(), "dxvk", DXVK_FOR_VULKAN_1_1, "Dxvk-Linux") + vk.shaderInt64 == false || (vk.maxPushConstants ?: 256) < 256 -> + ForcedPackage(emptySet(), "dxvk", DXVK_FOR_VULKAN_1_3_NO_INT64, "Dxvk-Linux") + else -> null + } + + internal const val DXVK_FOR_VULKAN_1_1 = "dxvk-1.10.3-linux.wcp" + internal const val DXVK_FOR_VULKAN_1_3_NO_INT64 = "dxvk-2.6.2-linux.wcp" + + internal fun autoChoiceStale(entry: JSONObject?, wantedFile: String?): Boolean = + entry != null && entry.optBoolean("auto") && entry.optString("file") != wantedFile + internal fun catalogMatch(items: List, file: String, release: String): CatalogItem? = items.firstOrNull { it.file == file && it.release == release } @@ -1013,24 +1031,52 @@ object ComponentsManager { { file, release -> catalogItem(context, file, release) }, { download(context, it) {} }, { id, file -> swap(context, id, file) }, + vulkan = AppVulkan.detect(context), + bridgeSession = com.droiddeck.launcher.core.DeviceSupport.vkBridge(context), + applyAuto = { id, file -> swap(context, id, file, auto = true) }, + undoAuto = { id, comp -> undoAutoChoice(context, id, comp) }, ) + internal fun undoAutoChoice(context: Context, protonId: String, comp: String): String = synchronized(lock) { + val p = proton(context, protonId) + val state = loadState(context) + val entry = state.sub("active").optJSONObject(p.id)?.optJSONObject(comp) + if (entry?.optString("protonVersion") == p.version && originalFile(context, p, comp).isFile) + return restore(context, protonId, comp, safeName(p.version)) + state.sub("active").optJSONObject(p.id)?.remove(comp) + saveState(context, state) + "${LABEL[comp]}: ${p.name} keeps its own copy" + } + internal fun ensureForcedPackages( context: Context, gpu: GpuInfo, lookup: (file: String, release: String) -> CatalogItem?, fetch: (CatalogItem) -> Unit, apply: (protonId: String, file: String) -> String, + vulkan: AppVulkan? = null, + bridgeSession: Boolean = false, + applyAuto: (protonId: String, file: String) -> String = apply, + undoAuto: (protonId: String, comp: String) -> String = { _, _ -> "" }, ): String? { - val rules = FORCED_PACKAGES.filter { it.matches(gpu) } - if (rules.isEmpty()) return null + val bridgeRule = if (bridgeSession) bridgeDxvk(vulkan) else null + val rules = FORCED_PACKAGES.filter { it.matches(gpu) }.map { it to false } + listOfNotNull(bridgeRule?.let { it to true }) + if (rules.isEmpty() && !bridgeSession) return null val installed = protons(context) val lines = mutableListOf() - for (rule in rules) { + if (bridgeSession) { + val state = loadState(context) + for (p in installed) { + val entry = state.optJSONObject("active")?.optJSONObject(p.id)?.optJSONObject("dxvk") + if (bridgeRule == null && autoChoiceStale(entry, null)) lines.add(undoAuto(p.id, "dxvk")) + } + } + for ((rule, auto) in rules) { val state = loadState(context) val targets = installed.filter { p -> val active = state.optJSONObject("active")?.optJSONObject(p.id)?.optJSONObject(rule.comp) - forcedPackageWanted(active?.optString("file"), active?.optString("protonVersion") == p.version) + forcedPackageWanted(active?.optString("file"), active?.optString("protonVersion") == p.version) || + (auto && autoChoiceStale(active, rule.file)) } if (targets.isEmpty()) continue val missing = missingPackage(context, rule, lookup, fetch) @@ -1038,9 +1084,10 @@ object ComponentsManager { lines.add(missing) continue } - lines.add(targets.joinToString("; ") { apply(it.id, rule.file) }) + if (auto) lines.add("${vulkan?.label}: DXVK ${rule.file}") + lines.add(targets.joinToString("; ") { if (auto) applyAuto(it.id, rule.file) else apply(it.id, rule.file) }) } - return lines.joinToString("; ").ifEmpty { null } + return lines.filter { it.isNotEmpty() }.joinToString("; ").ifEmpty { null } } private fun missingPackage( diff --git a/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt b/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt new file mode 100644 index 000000000..9bcc7b682 --- /dev/null +++ b/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt @@ -0,0 +1,179 @@ +package com.droiddeck.launcher.session + +import android.content.Context +import com.droiddeck.launcher.gpu.AppVulkan +import com.droiddeck.launcher.gpu.GpuInfo +import com.droiddeck.launcher.runtime.LinuxRuntime +import com.github.luben.zstd.ZstdOutputStream +import org.apache.commons.compress.archivers.tar.TarArchiveEntry +import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream +import org.json.JSONObject +import org.junit.Assert.* +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.robolectric.RobolectricTestRunner +import org.robolectric.RuntimeEnvironment +import org.robolectric.annotation.Config +import java.io.File + +@RunWith(RobolectricTestRunner::class) +@Config(sdk = [28], manifest = Config.NONE) +class BridgeDxvkTest { + private val old = ComponentsManager.DXVK_FOR_VULKAN_1_1 + private val mid = ComponentsManager.DXVK_FOR_VULKAN_1_3_NO_INT64 + private lateinit var context: Context + + private val g710 = AppVulkan(1, 1, shaderInt64 = false, maxPushConstants = 128, source = "driver") + private val promoted = g710.copy(minor = 2, source = "bridge") + private val full = AppVulkan(1, 3, shaderInt64 = true, maxPushConstants = 256, source = "driver") + private val mali = GpuInfo("Mali-G710", 0, GpuInfo.Family.NOT_ADRENO, "", false) + + @Before fun setUp() { + context = RuntimeEnvironment.getApplication() + File(context.filesDir, "components").deleteRecursively() + LinuxRuntime.rootDir(context).deleteRecursively() + } + + @Test fun theNewestDxvkThatStartsIsChosen() { + assertEquals(old, ComponentsManager.bridgeDxvk(g710)?.file) + assertEquals(old, ComponentsManager.bridgeDxvk(promoted)?.file) + assertEquals(mid, ComponentsManager.bridgeDxvk(full.copy(shaderInt64 = false))?.file) + assertEquals(mid, ComponentsManager.bridgeDxvk(full.copy(maxPushConstants = 128))?.file) + assertNull(ComponentsManager.bridgeDxvk(full)) + assertNull(ComponentsManager.bridgeDxvk(full.copy(shaderInt64 = null, maxPushConstants = null))) + assertNull(ComponentsManager.bridgeDxvk(AppVulkan(1, 0, null, null, "driver"))) + assertNull(ComponentsManager.bridgeDxvk(null)) + assertEquals("Dxvk-Linux", ComponentsManager.bridgeDxvk(g710)?.release) + assertEquals("dxvk", ComponentsManager.bridgeDxvk(g710)?.comp) + } + + @Test fun theDriversLinesAreRead() { + val vk = AppVulkan.fromDriver(mapOf("device" to "Mali-G710 MC10", "api" to "1.1.177", "shader_int64" to "no", "max_push_constants" to "128")) + assertEquals(g710, vk) + assertNull(AppVulkan.fromDriver(mapOf("error" to "no Vulkan device"))) + assertNull(AppVulkan.fromDriver(mapOf("api" to "garbage"))) + val older = AppVulkan.fromDriver(mapOf("api" to "1.3.250"))!! + assertNull(older.shaderInt64) + assertNull(older.maxPushConstants) + } + + @Test fun theBridgesFileWinsForItsOwnGpuOnly() { + val text = "device=Mali-G710 MC10\napi=1.2.177\ndriver_api=1.1.177\nshader_int64=0\nmax_push_constants=128\n" + assertEquals(promoted, AppVulkan.fromBridgeFile(text, "Mali-G710 MC10")) + assertEquals(promoted, AppVulkan.fromBridgeFile(text, null)) + assertNull(AppVulkan.fromBridgeFile(text, "Mali-G720 Immortalis MC12")) + assertNull(AppVulkan.fromBridgeFile("device=x\n", null)) + } + + @Test fun anAdrenoSessionIsNotTouched() { + proton("proton-exp") + assertNull(run(g710, bridge = false)) + } + + @Test fun aShippedDxvk3IsReplacedOnAVulkan11Phone() { + proton("proton-exp") + proton("ge") + val applied = mutableListOf() + val result = run(g710, applyAuto = { id, file -> applied += "$id $file"; "swapped $id" }) + assertEquals(listOf("ge $old", "proton-exp $old"), applied.sorted()) + assertTrue(result!!.startsWith("Vulkan 1.1, shaderInt64 no, push constants 128 (driver): DXVK $old")) + } + + @Test fun thePlayersOwnChoiceIsKept() { + proton("proton-exp") + writeState("proton-exp", JSONObject().put("file", "dxvk-3.1-linux.wcp").put("protonVersion", "experimental-11")) + assertNull(run(g710)) + assertNull(run(full)) + } + + @Test fun anAutomaticChoiceFollowsTheDevice() { + proton("proton-exp") + writeState("proton-exp", JSONObject().put("file", mid).put("protonVersion", "experimental-11").put("auto", true)) + val applied = mutableListOf() + run(g710, applyAuto = { id, file -> applied += "$id $file"; "swapped" }) + assertEquals(listOf("proton-exp $old"), applied) + + writeState("proton-exp", JSONObject().put("file", old).put("protonVersion", "experimental-11").put("auto", true)) + assertNull(run(g710)) + val undone = mutableListOf() + run(full, undoAuto = { id, comp -> undone += "$id $comp"; "undone" }) + assertEquals(listOf("proton-exp dxvk"), undone) + } + + @Test fun theSwapAndItsUndoReachTheProton() { + proton("proton-exp") + val d3d11 = File(protonDir("proton-exp"), "files/lib/wine/dxvk/aarch64-windows/d3d11.dll") + writePackage(old, "DXVK 1.10.3") + val auto: (String, String) -> String = { id, file -> ComponentsManager.swap(context, id, file, auto = true) } + val undo: (String, String) -> String = { id, comp -> ComponentsManager.undoAutoChoice(context, id, comp) } + + assertNotNull(run(g710, applyAuto = auto, undoAuto = undo)) + assertEquals("DXVK 1.10.3", d3d11.readText()) + val entry = state().getJSONObject("active").getJSONObject("proton-exp").getJSONObject("dxvk") + assertEquals(old, entry.getString("file")) + assertTrue(entry.getBoolean("auto")) + assertNull(run(g710, applyAuto = auto, undoAuto = undo)) + + run(full, applyAuto = auto, undoAuto = undo) + assertEquals("bundled DXVK experimental-11", d3d11.readText()) + assertNull(state().getJSONObject("active").optJSONObject("proton-exp")?.optJSONObject("dxvk")) + } + + @Test fun aProtonUpdateWithNoRuleLeftJustForgetsTheChoice() { + proton("proton-exp", "experimental-12") + writeState("proton-exp", JSONObject().put("file", old).put("protonVersion", "experimental-11").put("auto", true)) + run(full, undoAuto = { id, comp -> ComponentsManager.undoAutoChoice(context, id, comp) }) + assertNull(state().getJSONObject("active").optJSONObject("proton-exp")?.optJSONObject("dxvk")) + assertEquals("bundled DXVK experimental-12", File(protonDir("proton-exp"), "files/lib/wine/dxvk/aarch64-windows/d3d11.dll").readText()) + } + + private fun run( + vk: AppVulkan?, + bridge: Boolean = true, + applyAuto: (String, String) -> String = { id, file -> error("apply $id $file") }, + undoAuto: (String, String) -> String = { id, comp -> error("undo $id $comp") }, + ) = ComponentsManager.ensureForcedPackages( + context, mali, + lookup = { file, release -> ComponentsManager.CatalogItem(file, "dxvk", release, "https://example.invalid/$file", 4, "sha256:" + "ab".repeat(32)) }, + fetch = {}, + apply = { id, file -> error("non-automatic apply $id $file") }, + vulkan = vk, bridgeSession = bridge, applyAuto = applyAuto, undoAuto = undoAuto, + ) + + private fun protonDir(name: String) = File(LinuxRuntime.rootDir(context), "root/.local/share/Steam/steamapps/common/$name") + + private fun proton(name: String, version: String = "experimental-11") { + val dir = protonDir(name) + File(dir, "files/lib/wine").mkdirs() + File(dir, "proton").writeText("#!/bin/sh\n") + File(dir, "version").writeText("1 $version\n") + File(dir, "files/lib/wine/dxvk/aarch64-windows/d3d11.dll").apply { + parentFile!!.mkdirs() + writeText("bundled DXVK $version") + } + } + + private fun state() = JSONObject(File(context.filesDir, "components/state.json").readText()) + + private fun writeState(protonId: String, dxvk: JSONObject) { + val f = File(context.filesDir, "components/state.json") + f.parentFile!!.mkdirs() + f.writeText(JSONObject().put("active", JSONObject().put(protonId, JSONObject().put("dxvk", dxvk))) + .put("queued", JSONObject()).toString()) + } + + private fun writePackage(file: String, d3d11: String) { + val dest = File(context.filesDir, "components/packages/$file") + dest.parentFile!!.mkdirs() + TarArchiveOutputStream(ZstdOutputStream(dest.outputStream())).use { tar -> + fun put(name: String, bytes: ByteArray) { + tar.putArchiveEntry(TarArchiveEntry(name).apply { size = bytes.size.toLong() }) + tar.write(bytes) + tar.closeArchiveEntry() + } + put("./profile.json", JSONObject().put("type", "DXVK-Linux").put("versionName", file.removeSuffix(".wcp")).toString().toByteArray()) + put("./files/lib/wine/dxvk/aarch64-windows/d3d11.dll", d3d11.toByteArray()) + } + } +} From 678e16af4d3901f488f1133398307bf153b44b92 Mon Sep 17 00:00:00 2001 From: ASEbrahim <264076441+ASEbrahim@users.noreply.github.com> Date: Tue, 20 Oct 2026 15:23:59 +0300 Subject: [PATCH 14/38] Mali old DXVK: a failed detection keeps the last automatic choice, one Proton failing does not stop the others, the bridge file's driver_api counts unless promotion=on When nothing could be read (no apps-vulkan file and VulkanInfo failing), every automatic choice was undone: a 1.1 phone went back to a DXVK that cannot start, and the next session flipped it again. Now an automatic choice is undone only when the Vulkan is known and wants none. Each Proton's swap or undo is on its own: a failure (a missing saved copy, an I/O error) is said in the result and the remaining Protons still get theirs. When the Proton is the same but its saved copy is gone, the choice stays and is said, instead of being forgotten with DXVK 1.10.3 still installed. apps-vulkan: the version counts only with promotion=on; otherwise, and in files from servers before the field (which wrote a promoted version even where it was not trusted), driver_api does. A file whose driver_api is not the driver's own version (a driver update, a server rolled back) is left out. --- .../com/droiddeck/launcher/gpu/AppVulkan.kt | 13 ++++-- .../launcher/session/ComponentsManager.kt | 15 +++++-- .../launcher/session/BridgeDxvkTest.kt | 41 +++++++++++++++++-- 3 files changed, 58 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt b/app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt index 437f232f8..59818f263 100644 --- a/app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt +++ b/app/src/main/java/com/droiddeck/launcher/gpu/AppVulkan.kt @@ -27,18 +27,23 @@ data class AppVulkan( if (!DeviceSupport.vkBridge(context)) return null val native = VulkanInfo.query() val file = File(VkBridgeComponent.cacheDir(context), BRIDGE_FILE) - val fromBridge = FileUtils.readString(file)?.let { fromBridgeFile(it, native["device"]) } + val fromBridge = FileUtils.readString(file)?.let { fromBridgeFile(it, native["device"], native["api"]) } val found = fromBridge ?: fromDriver(native) Log.i(TAG, found?.label ?: "unknown (driver query: ${native["error"] ?: "no api line"})") return found } - internal fun fromBridgeFile(text: String, driverDevice: String?): AppVulkan? { + internal fun fromBridgeFile(text: String, driverDevice: String?, driverApi: String? = null): AppVulkan? { val map = keyValues(text) val device = map["device"] if (device != null && driverDevice != null && device != driverDevice) return null - val (major, minor) = version(map["api"]) ?: return null - return AppVulkan(major, minor, bool(map["shader_int64"]), map["max_push_constants"]?.toIntOrNull(), "bridge") + val fileDriver = version(map["driver_api"]) + val native = version(driverApi) + if (fileDriver != null && native != null && fileDriver != native) return null + val promoted = map["promotion"]?.trim()?.lowercase() == "on" + val (major, minor) = (if (promoted) version(map["api"]) else fileDriver ?: version(map["api"])) ?: return null + return AppVulkan(major, minor, bool(map["shader_int64"]), map["max_push_constants"]?.toIntOrNull(), + if (promoted) "bridge, promoted" else "bridge") } internal fun fromDriver(map: Map): AppVulkan? { diff --git a/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt b/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt index ca5afd557..17f3d93da 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt @@ -1041,8 +1041,13 @@ object ComponentsManager { val p = proton(context, protonId) val state = loadState(context) val entry = state.sub("active").optJSONObject(p.id)?.optJSONObject(comp) - if (entry?.optString("protonVersion") == p.version && originalFile(context, p, comp).isFile) + val sameProton = entry?.optString("protonVersion") == p.version + if (sameProton && originalFile(context, p, comp).isFile) return restore(context, protonId, comp, safeName(p.version)) + if (sameProton) { + Log.w(TAG, "${p.name}: its own ${LABEL[comp]} copy is gone; keeping ${entry?.optString("label")}") + return "${LABEL[comp]}: ${p.name} keeps ${entry?.optString("label")} (its own copy is gone)" + } state.sub("active").optJSONObject(p.id)?.remove(comp) saveState(context, state) "${LABEL[comp]}: ${p.name} keeps its own copy" @@ -1064,11 +1069,13 @@ object ComponentsManager { if (rules.isEmpty() && !bridgeSession) return null val installed = protons(context) val lines = mutableListOf() - if (bridgeSession) { + fun each(p: Proton, what: () -> String): String = + runCatching(what).getOrElse { e -> Log.w(TAG, "${p.name}: ${e.message}", e); "${p.name}: ${e.message ?: e.javaClass.simpleName}" } + if (bridgeSession && vulkan != null) { val state = loadState(context) for (p in installed) { val entry = state.optJSONObject("active")?.optJSONObject(p.id)?.optJSONObject("dxvk") - if (bridgeRule == null && autoChoiceStale(entry, null)) lines.add(undoAuto(p.id, "dxvk")) + if (bridgeRule == null && autoChoiceStale(entry, null)) lines.add(each(p) { undoAuto(p.id, "dxvk") }) } } for ((rule, auto) in rules) { @@ -1085,7 +1092,7 @@ object ComponentsManager { continue } if (auto) lines.add("${vulkan?.label}: DXVK ${rule.file}") - lines.add(targets.joinToString("; ") { if (auto) applyAuto(it.id, rule.file) else apply(it.id, rule.file) }) + lines.add(targets.joinToString("; ") { p -> if (auto) each(p) { applyAuto(p.id, rule.file) } else apply(p.id, rule.file) }) } return lines.filter { it.isNotEmpty() }.joinToString("; ").ifEmpty { null } } diff --git a/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt b/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt index 9bcc7b682..5f621a23a 100644 --- a/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt +++ b/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt @@ -59,13 +59,24 @@ class BridgeDxvkTest { } @Test fun theBridgesFileWinsForItsOwnGpuOnly() { - val text = "device=Mali-G710 MC10\napi=1.2.177\ndriver_api=1.1.177\nshader_int64=0\nmax_push_constants=128\n" - assertEquals(promoted, AppVulkan.fromBridgeFile(text, "Mali-G710 MC10")) - assertEquals(promoted, AppVulkan.fromBridgeFile(text, null)) + val text = "device=Mali-G710 MC10\napi=1.2.177\ndriver_api=1.1.177\npromotion=on\nshader_int64=0\nmax_push_constants=128\n" + val on = promoted.copy(source = "bridge, promoted") + assertEquals(on, AppVulkan.fromBridgeFile(text, "Mali-G710 MC10")) + assertEquals(on, AppVulkan.fromBridgeFile(text, null)) + assertEquals(on, AppVulkan.fromBridgeFile(text, "Mali-G710 MC10", "1.1.177")) assertNull(AppVulkan.fromBridgeFile(text, "Mali-G720 Immortalis MC12")) assertNull(AppVulkan.fromBridgeFile("device=x\n", null)) } + @Test fun withoutPromotionOnTheDriversVersionCounts() { + val g710File = g710.copy(source = "bridge") + val off = "device=Mali-G710 MC10\napi=1.1.177\ndriver_api=1.1.177\npromotion=off\nshader_int64=0\nmax_push_constants=128\n" + assertEquals(g710File, AppVulkan.fromBridgeFile(off, "Mali-G710 MC10", "1.1.177")) + val old = "device=Mali-G710 MC10\napi=1.3.177\ndriver_api=1.1.177\nshader_int64=0\nmax_push_constants=128\n" + assertEquals(g710File, AppVulkan.fromBridgeFile(old, "Mali-G710 MC10")) + assertNull(AppVulkan.fromBridgeFile(off, "Mali-G710 MC10", "1.3.212")) + } + @Test fun anAdrenoSessionIsNotTouched() { proton("proton-exp") assertNull(run(g710, bridge = false)) @@ -120,6 +131,30 @@ class BridgeDxvkTest { assertNull(state().getJSONObject("active").optJSONObject("proton-exp")?.optJSONObject("dxvk")) } + @Test fun aFailedDetectionKeepsTheLastAutomaticChoice() { + proton("proton-exp") + writeState("proton-exp", JSONObject().put("file", old).put("protonVersion", "experimental-11").put("auto", true)) + assertNull(run(null)) + assertEquals(old, state().getJSONObject("active").getJSONObject("proton-exp").getJSONObject("dxvk").getString("file")) + } + + @Test fun oneProtonFailingDoesNotStopTheOthers() { + proton("ge") + proton("proton-exp") + val applied = mutableListOf() + val result = run(g710, applyAuto = { id, file -> if (id == "ge") error("disk full"); applied += "$id $file"; "swapped $id" }) + assertEquals(listOf("proton-exp $old"), applied) + assertTrue(result!!, result.contains("disk full") && result.contains("swapped proton-exp")) + } + + @Test fun aChoiceWhoseSavedCopyIsGoneIsKept() { + proton("proton-exp") + writeState("proton-exp", JSONObject().put("file", old).put("label", "DXVK 1.10.3").put("protonVersion", "experimental-11").put("auto", true)) + val result = run(full, undoAuto = { id, comp -> ComponentsManager.undoAutoChoice(context, id, comp) }) + assertTrue(result!!, result.contains("its own copy is gone")) + assertEquals(old, state().getJSONObject("active").getJSONObject("proton-exp").getJSONObject("dxvk").getString("file")) + } + @Test fun aProtonUpdateWithNoRuleLeftJustForgetsTheChoice() { proton("proton-exp", "experimental-12") writeState("proton-exp", JSONObject().put("file", old).put("protonVersion", "experimental-11").put("auto", true)) From 7aeb194d6e369fddabb6f6efde6172c2dd8822e7 Mon Sep 17 00:00:00 2001 From: ASEbrahim <264076441+ASEbrahim@users.noreply.github.com> Date: Tue, 20 Oct 2026 17:13:52 +0300 Subject: [PATCH 15/38] Mali old DXVK: a setting to keep Proton's own, and Proton's own back when the bridge is off Setup has a "DXVK" row under the bridge's safe mode: automatic (the default, as before) or Proton's own (SessionPrefs.bridgeProtonDxvk). With Proton's own, nothing is chosen and an earlier automatic choice goes back to the Proton's copy. Automatic choices also go back when the session is not a bridge session (the bridge turned off), even when nothing is known of the Vulkan; a queued automatic swap is dropped with them, the player's own queued swaps stay. Turning the bridge off, or choosing Proton's own, does it right away in the background instead of at the next session. A failed detection in a bridge session still keeps the last choice. --- .../droiddeck/launcher/FrontEndActivity.kt | 14 ++++- .../launcher/session/ComponentsManager.kt | 42 ++++++++++++-- .../launcher/session/SessionPrefs.kt | 6 ++ .../droiddeck/launcher/ui/FrontEndScreen.kt | 2 + .../droiddeck/launcher/ui/FrontEndSetup.kt | 12 ++++ app/src/main/res/values-zh-rCN/strings.xml | 5 ++ app/src/main/res/values-zh-rHK/strings.xml | 5 ++ app/src/main/res/values-zh-rTW/strings.xml | 5 ++ app/src/main/res/values/strings.xml | 5 ++ .../launcher/session/BridgeDxvkTest.kt | 55 ++++++++++++++++++- 10 files changed, 142 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt index a592b0c5e..9b16a4886 100644 --- a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt +++ b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt @@ -150,6 +150,7 @@ class FrontEndActivity : ComponentActivity() { private var zinkLazy by mutableStateOf(false) private var vkBridge by mutableStateOf(false) private var vkBridgeSafe by mutableStateOf(true) + private var bridgeProtonDxvk by mutableStateOf(false) private val adrenoGpu by lazy { com.droiddeck.launcher.core.DeviceSupport.adreno() } private var noXalia by mutableStateOf(true) private var fastSync by mutableStateOf(false) @@ -812,7 +813,7 @@ class FrontEndActivity : ComponentActivity() { FrontEndScreen( FrontEndState( installed = installed, ready = ready, available = available?.version, removalPending = removalPending, runtimeActionsBlocked = runtimeChangesBlocked(), - vkBridge = vkBridge, vkBridgeSafe = vkBridgeSafe, adreno = adrenoGpu, + vkBridge = vkBridge, vkBridgeSafe = vkBridgeSafe, bridgeProtonDxvk = bridgeProtonDxvk, adreno = adrenoGpu, shortcutPicker = shortcutPicker, shortcutLibraryScanning = shortcutLibraryScanning, gameSyncFolder = gameSyncFolder, @@ -953,8 +954,15 @@ class FrontEndActivity : ComponentActivity() { onInstallPackage = { id -> installPackage(id) }, onRemovePackage = { id -> removePackage(id) }, onRuntime = { onRuntimeButton() }, - onVkBridge = { on -> SessionPrefs.setVkBridge(this, on); vkBridge = on }, + onVkBridge = { on -> + SessionPrefs.setVkBridge(this, on); vkBridge = on + if (!on) com.droiddeck.launcher.session.ComponentsManager.settleAutoDxvk(this) + }, onVkBridgeSafe = { on -> SessionPrefs.setVkBridgeSafe(this, on); vkBridgeSafe = on }, + onBridgeProtonDxvk = { on -> + SessionPrefs.setBridgeProtonDxvk(this, on); bridgeProtonDxvk = on + if (on) com.droiddeck.launcher.session.ComponentsManager.settleAutoDxvk(this) + }, onFrameGenPick = { mode -> FrameGen.set(this, mode) frameGenLabel = FrameGen.label(this) @@ -2080,6 +2088,7 @@ class FrontEndActivity : ComponentActivity() { zinkLazy = SessionPrefs.zinkLazy(this) vkBridge = SessionPrefs.vkBridge(this) vkBridgeSafe = SessionPrefs.vkBridgeSafe(this) + bridgeProtonDxvk = SessionPrefs.bridgeProtonDxvk(this) noXalia = SessionPrefs.noXalia(this) fastSync = SessionPrefs.fastSync(this) syncFallback = SessionPrefs.syncFallback(this) @@ -2115,6 +2124,7 @@ class FrontEndActivity : ComponentActivity() { ready = LinuxRuntime.isInstalled(this) vkBridge = SessionPrefs.vkBridge(this) vkBridgeSafe = SessionPrefs.vkBridgeSafe(this) + bridgeProtonDxvk = SessionPrefs.bridgeProtonDxvk(this) removalPending = LinuxRuntimeInstaller.hasRemovalPending(this) frameGenLabel = FrameGen.label(this) romsDir = SessionPrefs.romsDir(this).takeIf { it.isNotEmpty() } diff --git a/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt b/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt index 17f3d93da..0505bcea1 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/ComponentsManager.kt @@ -1020,13 +1020,28 @@ object ComponentsManager { internal const val DXVK_FOR_VULKAN_1_1 = "dxvk-1.10.3-linux.wcp" internal const val DXVK_FOR_VULKAN_1_3_NO_INT64 = "dxvk-2.6.2-linux.wcp" + internal fun autoDxvkUndoWanted(bridgeSession: Boolean, keepProtonDxvk: Boolean, vulkan: AppVulkan?, bridgeRule: ForcedPackage?): Boolean = + !bridgeSession || keepProtonDxvk || (vulkan != null && bridgeRule == null) + + private fun dropQueuedAuto(context: Context, installed: List) = synchronized(lock) { + val state = loadState(context) + var changed = false + for (p in installed) { + val q = state.optJSONObject("queued")?.optJSONObject(p.id) ?: continue + if (q.optJSONObject("dxvk")?.optBoolean("auto") == true) { q.remove("dxvk"); changed = true } + } + if (changed) saveState(context, state) + } + internal fun autoChoiceStale(entry: JSONObject?, wantedFile: String?): Boolean = entry != null && entry.optBoolean("auto") && entry.optString("file") != wantedFile internal fun catalogMatch(items: List, file: String, release: String): CatalogItem? = items.firstOrNull { it.file == file && it.release == release } - fun ensureForcedPackages(context: Context): String? = ensureForcedPackages( + private val forcedLock = Any() + + fun ensureForcedPackages(context: Context): String? = synchronized(forcedLock) { ensureForcedPackages( context, GpuInfo.detect(), { file, release -> catalogItem(context, file, release) }, { download(context, it) {} }, @@ -1035,7 +1050,18 @@ object ComponentsManager { bridgeSession = com.droiddeck.launcher.core.DeviceSupport.vkBridge(context), applyAuto = { id, file -> swap(context, id, file, auto = true) }, undoAuto = { id, comp -> undoAutoChoice(context, id, comp) }, - ) + keepProtonDxvk = SessionPrefs.bridgeProtonDxvk(context), + autoPossible = !com.droiddeck.launcher.core.DeviceSupport.adreno(), + ) } + + fun settleAutoDxvk(context: Context) { + val app = context.applicationContext + Thread({ + runCatching { ensureForcedPackages(app) } + .onSuccess { if (it != null) Log.i(TAG, it) } + .onFailure { Log.w(TAG, "automatic DXVK", it) } + }, "auto-dxvk").start() + } internal fun undoAutoChoice(context: Context, protonId: String, comp: String): String = synchronized(lock) { val p = proton(context, protonId) @@ -1063,19 +1089,23 @@ object ComponentsManager { bridgeSession: Boolean = false, applyAuto: (protonId: String, file: String) -> String = apply, undoAuto: (protonId: String, comp: String) -> String = { _, _ -> "" }, + keepProtonDxvk: Boolean = false, + autoPossible: Boolean = true, ): String? { - val bridgeRule = if (bridgeSession) bridgeDxvk(vulkan) else null + val chooseDxvk = bridgeSession && !keepProtonDxvk + val bridgeRule = if (chooseDxvk) bridgeDxvk(vulkan) else null val rules = FORCED_PACKAGES.filter { it.matches(gpu) }.map { it to false } + listOfNotNull(bridgeRule?.let { it to true }) - if (rules.isEmpty() && !bridgeSession) return null + if (rules.isEmpty() && !autoPossible) return null val installed = protons(context) val lines = mutableListOf() fun each(p: Proton, what: () -> String): String = runCatching(what).getOrElse { e -> Log.w(TAG, "${p.name}: ${e.message}", e); "${p.name}: ${e.message ?: e.javaClass.simpleName}" } - if (bridgeSession && vulkan != null) { + if (autoPossible && autoDxvkUndoWanted(bridgeSession, keepProtonDxvk, vulkan, bridgeRule)) { + dropQueuedAuto(context, installed) val state = loadState(context) for (p in installed) { val entry = state.optJSONObject("active")?.optJSONObject(p.id)?.optJSONObject("dxvk") - if (bridgeRule == null && autoChoiceStale(entry, null)) lines.add(each(p) { undoAuto(p.id, "dxvk") }) + if (autoChoiceStale(entry, null)) lines.add(each(p) { undoAuto(p.id, "dxvk") }) } } for ((rule, auto) in rules) { diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt index 34ae95149..45f746721 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt @@ -604,6 +604,12 @@ object SessionPrefs { } @JvmStatic + fun bridgeProtonDxvk(context: Context): Boolean = prefs(context).getBoolean("bridgeProtonDxvk", false) + + fun setBridgeProtonDxvk(context: Context, on: Boolean) { + prefs(context).edit().putBoolean("bridgeProtonDxvk", on).apply() + } + fun vkBridgeSafe(context: Context): Boolean = prefs(context).getBoolean("vkBridgeSafe", true) fun setVkBridgeSafe(context: Context, on: Boolean) { diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt index d9ee66632..f15dbe3cc 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndScreen.kt @@ -140,6 +140,7 @@ class FrontEndState( val adreno: Boolean = true, val vkBridge: Boolean = false, val vkBridgeSafe: Boolean = true, + val bridgeProtonDxvk: Boolean = false, val showPhantomGate: Boolean = false, val orientation: Int = android.content.pm.ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE, val launcherOrientation: Int = android.content.pm.ActivityInfo.SCREEN_ORIENTATION_USER, @@ -198,6 +199,7 @@ class FrontEndActions( val onRuntime: () -> Unit, val onVkBridge: (Boolean) -> Unit = {}, val onVkBridgeSafe: (Boolean) -> Unit = {}, + val onBridgeProtonDxvk: (Boolean) -> Unit = {}, val onFrameGenPick: (FrameGen.Mode) -> Unit, val onImportLossless: () -> Unit, val onProtons: () -> Unit, diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt index e93832a7e..297f3534e 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt @@ -258,6 +258,18 @@ internal fun SetupPanel( ) }, ) + if (!s.adreno && s.vkBridge) CheckRow( + CheckState.OK, + stringResource(R.string.setup_bridge_dxvk), + stringResource(if (s.bridgeProtonDxvk) R.string.setup_bridge_dxvk_proton_detail else R.string.setup_bridge_dxvk_auto_detail), + divider = divider, + action = { + SecondaryButton( + stringResource(if (s.bridgeProtonDxvk) R.string.setup_bridge_dxvk_proton else R.string.setup_bridge_dxvk_auto), + enabled = !s.sessionRunning, compact = true, onClick = { a.onBridgeProtonDxvk(!s.bridgeProtonDxvk) }, + ) + }, + ) } val runtimeCheck: @Composable (Boolean) -> Unit = { divider -> CheckRow( diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2b5f4083a..3b54cb480 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -3064,4 +3064,9 @@ 显示 云 云设置 + DXVK + DXVK:自动 + DXVK:Proton 自带 + 此 GPU 的 Vulkan 版本对 Proton 自带的 DXVK 来说太旧时,改用较旧的 DXVK。 + 每个 Proton 都使用自带的 DXVK,即使此 GPU 的 Vulkan 版本可能太旧。 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 54058fe19..3d8b8eff9 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -3063,4 +3063,9 @@ 顯示 雲端 雲端設定 + DXVK + DXVK:自動 + DXVK:Proton 內建 + 此 GPU 的 Vulkan 版本對 Proton 內建的 DXVK 來說太舊時,改用較舊的 DXVK。 + 每個 Proton 都使用內建的 DXVK,即使此 GPU 的 Vulkan 版本可能太舊。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 88adc508f..31dd74463 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3063,4 +3063,9 @@ 顯示 雲端 雲端設定 + DXVK + DXVK:自動 + DXVK:Proton 內建 + 此 GPU 的 Vulkan 版本對 Proton 內建的 DXVK 來說太舊時,改用較舊的 DXVK。 + 每個 Proton 都使用內建的 DXVK,即使此 GPU 的 Vulkan 版本可能太舊。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7995209fe..545bf2abb 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3233,5 +3233,10 @@ Safe mode: off Most compatible. Recommended for a new device. Faster where this GPU passed its checks. + DXVK + DXVK: automatic + DXVK: Proton\'s own + Uses an older DXVK where this GPU\'s Vulkan is too old for Proton\'s. + Every Proton keeps its own DXVK, even where this GPU\'s Vulkan may be too old for it. %1$s is not an Adreno. The experimental Vulkan bridge is on: the session draws through the phone\'s own driver. Expect bugs; send the session logs. diff --git a/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt b/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt index 5f621a23a..45afb7785 100644 --- a/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt +++ b/app/src/test/java/com/droiddeck/launcher/session/BridgeDxvkTest.kt @@ -163,9 +163,62 @@ class BridgeDxvkTest { assertEquals("bundled DXVK experimental-12", File(protonDir("proton-exp"), "files/lib/wine/dxvk/aarch64-windows/d3d11.dll").readText()) } + @Test fun thePlayerCanKeepProtonsOwnDxvk() { + proton("proton-exp") + assertNull("nothing chosen when declined", run(g710, keep = true)) + writeState("proton-exp", JSONObject().put("file", old).put("protonVersion", "experimental-11").put("auto", true)) + val undone = mutableListOf() + run(g710, keep = true, undoAuto = { id, comp -> undone += "$id $comp"; "undone" }) + assertEquals("an earlier automatic choice goes back", listOf("proton-exp dxvk"), undone) + } + + @Test fun turningTheBridgeOffRestoresProtonsOwn() { + proton("proton-exp") + val d3d11 = File(protonDir("proton-exp"), "files/lib/wine/dxvk/aarch64-windows/d3d11.dll") + writePackage(old, "DXVK 1.10.3") + val auto: (String, String) -> String = { id, file -> ComponentsManager.swap(context, id, file, auto = true) } + val undo: (String, String) -> String = { id, comp -> ComponentsManager.undoAutoChoice(context, id, comp) } + run(g710, applyAuto = auto, undoAuto = undo) + assertEquals("DXVK 1.10.3", d3d11.readText()) + run(null, bridge = false, applyAuto = auto, undoAuto = undo) + assertEquals("bundled DXVK experimental-11", d3d11.readText()) + assertNull(state().getJSONObject("active").optJSONObject("proton-exp")?.optJSONObject("dxvk")) + } + + @Test fun turningTheBridgeOffKeepsThePlayersOwnChoice() { + proton("proton-exp") + writeState("proton-exp", JSONObject().put("file", "dxvk-3.1-linux.wcp").put("protonVersion", "experimental-11")) + assertNull(run(g710, bridge = false)) + assertNull(run(g710, keep = true)) + } + + @Test fun aQueuedAutomaticSwapIsDroppedWhenTheBridgeIsOff() { + proton("proton-exp") + val f = File(context.filesDir, "components/state.json") + f.parentFile!!.mkdirs() + f.writeText(JSONObject().put("active", JSONObject()) + .put("queued", JSONObject().put("proton-exp", JSONObject() + .put("dxvk", JSONObject().put("kind", "package").put("file", old).put("auto", true)) + .put("vkd3d", JSONObject().put("kind", "package").put("file", "vkd3d-x.wcp")))).toString()) + assertNull(run(null, bridge = false)) + val q = state().getJSONObject("queued").getJSONObject("proton-exp") + assertFalse(q.has("dxvk")) + assertTrue("the player's own queued swap stays", q.has("vkd3d")) + } + + @Test fun whenAutomaticChoicesAreUndone() { + val rule = ComponentsManager.bridgeDxvk(g710) + assertTrue(ComponentsManager.autoDxvkUndoWanted(false, false, null, null)) + assertTrue(ComponentsManager.autoDxvkUndoWanted(true, true, g710, null)) + assertTrue(ComponentsManager.autoDxvkUndoWanted(true, false, full, null)) + assertFalse("failed detection keeps it", ComponentsManager.autoDxvkUndoWanted(true, false, null, null)) + assertFalse(ComponentsManager.autoDxvkUndoWanted(true, false, g710, rule)) + } + private fun run( vk: AppVulkan?, bridge: Boolean = true, + keep: Boolean = false, applyAuto: (String, String) -> String = { id, file -> error("apply $id $file") }, undoAuto: (String, String) -> String = { id, comp -> error("undo $id $comp") }, ) = ComponentsManager.ensureForcedPackages( @@ -173,7 +226,7 @@ class BridgeDxvkTest { lookup = { file, release -> ComponentsManager.CatalogItem(file, "dxvk", release, "https://example.invalid/$file", 4, "sha256:" + "ab".repeat(32)) }, fetch = {}, apply = { id, file -> error("non-automatic apply $id $file") }, - vulkan = vk, bridgeSession = bridge, applyAuto = applyAuto, undoAuto = undoAuto, + vulkan = vk, bridgeSession = bridge, applyAuto = applyAuto, undoAuto = undoAuto, keepProtonDxvk = keep, ) private fun protonDir(name: String) = File(LinuxRuntime.rootDir(context), "root/.local/share/Steam/steamapps/common/$name") From 9c8d2acacc2cf4fb2410051d5c133f48e9cd04f5 Mon Sep 17 00:00:00 2001 From: maxjivi05 Date: Sun, 25 Oct 2026 19:59:26 -0400 Subject: [PATCH 16/38] Turn the Mali bridge on by default on a Mali GPU A device with /dev/mali0 and no KGSL starts with the bridge on, so it draws without a trip to Setup. An Adreno keeps Turnip and its automatic driver route whatever the setting says, other GPUs keep the switch off until it is turned on, and a choice made in Setup always wins. The GPU checks are read once per process. --- .../java/com/droiddeck/launcher/core/DeviceSupport.kt | 9 ++++++++- .../java/com/droiddeck/launcher/session/SessionPrefs.kt | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt b/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt index 1036f5c06..ee214fedf 100644 --- a/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt +++ b/app/src/main/java/com/droiddeck/launcher/core/DeviceSupport.kt @@ -6,8 +6,15 @@ import com.droiddeck.launcher.R import java.io.File object DeviceSupport { - fun adreno(): Boolean = + private val adrenoGpu by lazy { File("/sys/class/kgsl/kgsl-3d0").exists() || File("/vendor/lib64/hw/vulkan.adreno.so").exists() + } + + private val maliGpu by lazy { !adrenoGpu && File("/dev/mali0").exists() } + + fun adreno(): Boolean = adrenoGpu + + fun mali(): Boolean = maliGpu fun vkBridge(context: Context): Boolean = !adreno() && com.droiddeck.launcher.session.SessionPrefs.vkBridge(context) diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt index 45f746721..a7555bff0 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt @@ -597,7 +597,7 @@ object SessionPrefs { fun zinkLazy(context: Context): Boolean = prefs(context).getBoolean("zinkLazy", true) @JvmStatic - fun vkBridge(context: Context): Boolean = prefs(context).getBoolean("vkBridge", false) + fun vkBridge(context: Context): Boolean = prefs(context).getBoolean("vkBridge", com.droiddeck.launcher.core.DeviceSupport.mali()) fun setVkBridge(context: Context, on: Boolean) { prefs(context).edit().putBoolean("vkBridge", on).apply() From 3639196c83f74f06da431bc6bede37f76a0d2c07 Mon Sep 17 00:00:00 2001 From: maxjivi05 Date: Sun, 25 Oct 2026 20:01:08 -0400 Subject: [PATCH 17/38] Translate the Mali bridge settings --- app/src/main/res/values-ar/strings.xml | 13 +++++++++++++ app/src/main/res/values-b+es+419/strings.xml | 13 +++++++++++++ app/src/main/res/values-bg/strings.xml | 13 +++++++++++++ app/src/main/res/values-cs/strings.xml | 13 +++++++++++++ app/src/main/res/values-da/strings.xml | 13 +++++++++++++ app/src/main/res/values-de/strings.xml | 13 +++++++++++++ app/src/main/res/values-el/strings.xml | 13 +++++++++++++ app/src/main/res/values-es/strings.xml | 13 +++++++++++++ app/src/main/res/values-fi/strings.xml | 13 +++++++++++++ app/src/main/res/values-fr/strings.xml | 13 +++++++++++++ app/src/main/res/values-hi/strings.xml | 13 +++++++++++++ app/src/main/res/values-hu/strings.xml | 13 +++++++++++++ app/src/main/res/values-in/strings.xml | 13 +++++++++++++ app/src/main/res/values-it/strings.xml | 13 +++++++++++++ app/src/main/res/values-ja/strings.xml | 13 +++++++++++++ app/src/main/res/values-ko/strings.xml | 13 +++++++++++++ app/src/main/res/values-ms/strings.xml | 13 +++++++++++++ app/src/main/res/values-nb/strings.xml | 13 +++++++++++++ app/src/main/res/values-nl/strings.xml | 13 +++++++++++++ app/src/main/res/values-pl/strings.xml | 13 +++++++++++++ app/src/main/res/values-pt-rPT/strings.xml | 13 +++++++++++++ app/src/main/res/values-pt/strings.xml | 13 +++++++++++++ app/src/main/res/values-ro/strings.xml | 13 +++++++++++++ app/src/main/res/values-ru/strings.xml | 13 +++++++++++++ app/src/main/res/values-sv/strings.xml | 13 +++++++++++++ app/src/main/res/values-th/strings.xml | 13 +++++++++++++ app/src/main/res/values-tr/strings.xml | 13 +++++++++++++ app/src/main/res/values-uk/strings.xml | 13 +++++++++++++ app/src/main/res/values-vi/strings.xml | 13 +++++++++++++ app/src/main/res/values-zh-rCN/strings.xml | 8 ++++++++ app/src/main/res/values-zh-rHK/strings.xml | 8 ++++++++ app/src/main/res/values-zh-rTW/strings.xml | 8 ++++++++ 32 files changed, 401 insertions(+) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index fe7c0e138..c327f8de5 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -3221,4 +3221,17 @@ عرض سحابية إعدادات السحابة + جسر Mali: متوقف + جسر Mali: يعمل + %1$s ليس Adreno. جسر Vulkan التجريبي يعمل: تعرض الجلسة الرسومات عبر برنامج تشغيل الهاتف نفسه. توقّع وجود أخطاء؛ أرسل سجلات الجلسة. + الوضع الآمن + الوضع الآمن: يعمل + الوضع الآمن: متوقف + الأكثر توافقًا. يوصى به لجهاز جديد. + أسرع حيث اجتاز معالج الرسومات هذا فحوصاته. + DXVK + DXVK: تلقائي + DXVK: الخاص بـ Proton + يستخدم إصدار DXVK أقدم عندما يكون Vulkan في معالج الرسومات هذا أقدم من أن يدعم DXVK الخاص بـ Proton. + يحتفظ كل Proton بـ DXVK الخاص به، حتى عندما قد يكون Vulkan في معالج الرسومات هذا أقدم من اللازم. diff --git a/app/src/main/res/values-b+es+419/strings.xml b/app/src/main/res/values-b+es+419/strings.xml index 1609361f2..1522a1780 100644 --- a/app/src/main/res/values-b+es+419/strings.xml +++ b/app/src/main/res/values-b+es+419/strings.xml @@ -3071,4 +3071,17 @@ Mostrar Nube Configuración de nube + Puente Mali: desactivado + Puente Mali: activado + %1$s no es una Adreno. El puente Vulkan experimental está activado: la sesión dibuja a través del propio controlador del teléfono. Espera errores; envía los registros de la sesión. + Modo seguro + Modo seguro: activado + Modo seguro: desactivado + El más compatible. Recomendado para un dispositivo nuevo. + Más rápido donde esta GPU pasó sus pruebas. + DXVK + DXVK: automático + DXVK: el de Proton + Usa un DXVK más antiguo cuando el Vulkan de esta GPU es demasiado antiguo para el de Proton. + Cada Proton conserva su propio DXVK, aunque el Vulkan de esta GPU pueda ser demasiado antiguo para él. diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index a40f3e38d..026901aec 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -3085,4 +3085,17 @@ Показване Облак Настройки на облака + Mali мост: изкл. + Mali мост: вкл. + %1$s не е Adreno. Експерименталният Vulkan мост е включен: сесията рисува през собствения драйвер на телефона. Очаквайте грешки; изпратете логовете на сесията. + Безопасен режим + Безопасен режим: вкл. + Безопасен режим: изкл. + Най-съвместим. Препоръчва се за ново устройство. + По-бързо там, където този GPU е минал проверките си. + DXVK + DXVK: автоматично + DXVK: на Proton + Използва по-стар DXVK, когато Vulkan на този GPU е твърде стар за този на Proton. + Всеки Proton запазва своя DXVK, дори когато Vulkan на този GPU може да е твърде стар за него. diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 4d493645a..7efe217ac 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -3153,4 +3153,17 @@ Zobrazit Cloud Nastavení cloudu + Most Mali: vypnuto + Most Mali: zapnuto + %1$s není Adreno. Experimentální most Vulkan je zapnutý: relace vykresluje přes vlastní ovladač telefonu. Počítejte s chybami; pošlete protokoly relace. + Bezpečný režim + Bezpečný režim: zapnuto + Bezpečný režim: vypnuto + Nejvyšší kompatibilita. Doporučeno pro nové zařízení. + Rychlejší tam, kde tento GPU prošel kontrolami. + DXVK + DXVK: automaticky + DXVK: vlastní z Protonu + Použije starší DXVK, pokud je Vulkan tohoto GPU pro DXVK z Protonu příliš starý. + Každý Proton si ponechá vlastní DXVK, i když pro něj může být Vulkan tohoto GPU příliš starý. diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index f737e6bd7..3b1099428 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -3085,4 +3085,17 @@ Vis Sky Skyindstillinger + Mali-bro: fra + Mali-bro: til + %1$s er ikke en Adreno. Den eksperimentelle Vulkan-bro er slået til: sessionen tegner gennem telefonens egen driver. Forvent fejl; send sessionslogfilerne. + Sikker tilstand + Sikker tilstand: til + Sikker tilstand: fra + Mest kompatibel. Anbefales til en ny enhed. + Hurtigere, hvor denne GPU har bestået sine tjek. + DXVK + DXVK: automatisk + DXVK: Protons egen + Bruger en ældre DXVK, hvor denne GPU\'s Vulkan er for gammel til Protons. + Hver Proton beholder sin egen DXVK, også hvor denne GPU\'s Vulkan kan være for gammel til den. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8e9b65332..87033e585 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3085,4 +3085,17 @@ Anzeigen Cloud Cloud-Einstellungen + Mali-Brücke: aus + Mali-Brücke: an + %1$s ist kein Adreno. Die experimentelle Vulkan-Brücke ist an: Die Sitzung zeichnet über den eigenen Treiber des Telefons. Rechne mit Fehlern und sende die Sitzungsprotokolle. + Sicherer Modus + Sicherer Modus: an + Sicherer Modus: aus + Am kompatibelsten. Empfohlen für ein neues Gerät. + Schneller, wo diese GPU ihre Prüfungen bestanden hat. + DXVK + DXVK: automatisch + DXVK: von Proton + Nutzt ein älteres DXVK, wenn das Vulkan dieser GPU für das von Proton zu alt ist. + Jedes Proton behält sein eigenes DXVK, auch wenn das Vulkan dieser GPU dafür zu alt sein könnte. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 2da1c1b2a..6a7985cfd 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -3085,4 +3085,17 @@ Εμφάνιση Cloud Ρυθμίσεις cloud + Γέφυρα Mali: ανενεργή + Γέφυρα Mali: ενεργή + Η %1$s δεν είναι Adreno. Η πειραματική γέφυρα Vulkan είναι ενεργή: η συνεδρία σχεδιάζει μέσω του προγράμματος οδήγησης του ίδιου του τηλεφώνου. Αναμένετε σφάλματα· στείλτε τα αρχεία καταγραφής της συνεδρίας. + Ασφαλής λειτουργία + Ασφαλής λειτουργία: ενεργή + Ασφαλής λειτουργία: ανενεργή + Μέγιστη συμβατότητα. Συνιστάται για νέα συσκευή. + Ταχύτερη όπου αυτή η GPU πέρασε τους ελέγχους της. + DXVK + DXVK: αυτόματο + DXVK: του Proton + Χρησιμοποιεί παλαιότερο DXVK όταν το Vulkan αυτής της GPU είναι πολύ παλιό για αυτό του Proton. + Κάθε Proton κρατά το δικό του DXVK, ακόμη κι αν το Vulkan αυτής της GPU ίσως είναι πολύ παλιό για αυτό. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 45f4cfc67..a14d2cc8f 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -3121,4 +3121,17 @@ Mostrar Nube Ajustes de nube + Puente Mali: desactivado + Puente Mali: activado + %1$s no es una Adreno. El puente Vulkan experimental está activado: la sesión dibuja a través del propio controlador del teléfono. Espera errores; envía los registros de la sesión. + Modo seguro + Modo seguro: activado + Modo seguro: desactivado + El más compatible. Recomendado para un dispositivo nuevo. + Más rápido donde esta GPU superó sus comprobaciones. + DXVK + DXVK: automático + DXVK: el de Proton + Usa un DXVK más antiguo cuando el Vulkan de esta GPU es demasiado antiguo para el de Proton. + Cada Proton conserva su propio DXVK, aunque el Vulkan de esta GPU pueda ser demasiado antiguo para él. diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index ddf4d4605..66ff8b4d0 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -3085,4 +3085,17 @@ Näytä Pilvi Pilviasetukset + Mali-silta: pois + Mali-silta: päällä + %1$s ei ole Adreno. Kokeellinen Vulkan-silta on päällä: istunto piirtää puhelimen oman ajurin kautta. Odota virheitä; lähetä istunnon lokit. + Turvatila + Turvatila: päällä + Turvatila: pois + Yhteensopivin. Suositellaan uudelle laitteelle. + Nopeampi siellä, missä tämä GPU läpäisi tarkistuksensa. + DXVK + DXVK: automaattinen + DXVK: Protonin oma + Käyttää vanhempaa DXVK:ta, kun tämän GPU:n Vulkan on liian vanha Protonin omalle. + Jokainen Proton pitää oman DXVK:nsa, vaikka tämän GPU:n Vulkan voi olla sille liian vanha. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 535cbf487..a290a7e97 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -3121,4 +3121,17 @@ Afficher Cloud Paramètres cloud + Pont Mali : désactivé + Pont Mali : activé + %1$s n\'est pas un Adreno. Le pont Vulkan expérimental est activé : la session dessine via le pilote du téléphone lui-même. Attendez-vous à des bugs ; envoyez les journaux de session. + Mode sans échec + Mode sans échec : activé + Mode sans échec : désactivé + Le plus compatible. Recommandé pour un nouvel appareil. + Plus rapide là où ce GPU a réussi ses vérifications. + DXVK + DXVK : automatique + DXVK : celui de Proton + Utilise un DXVK plus ancien quand le Vulkan de ce GPU est trop ancien pour celui de Proton. + Chaque Proton garde son propre DXVK, même quand le Vulkan de ce GPU risque d\'être trop ancien pour lui. diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index be2c1b803..63246c462 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -3085,4 +3085,17 @@ दिखाएँ क्लाउड क्लाउड सेटिंग्स + Mali ब्रिज: बंद + Mali ब्रिज: चालू + %1$s Adreno नहीं है। प्रायोगिक Vulkan ब्रिज चालू है: सत्र फ़ोन के अपने ड्राइवर से ड्रॉ करता है। बग की उम्मीद रखें; सत्र लॉग भेजें। + सुरक्षित मोड + सुरक्षित मोड: चालू + सुरक्षित मोड: बंद + सबसे अधिक संगत। नए डिवाइस के लिए अनुशंसित। + जहाँ इस GPU ने अपनी जाँचें पास कीं, वहाँ तेज़। + DXVK + DXVK: स्वचालित + DXVK: Proton का अपना + जहाँ इस GPU का Vulkan Proton के DXVK के लिए बहुत पुराना है, वहाँ पुराना DXVK इस्तेमाल करता है। + हर Proton अपना DXVK रखता है, भले ही इस GPU का Vulkan उसके लिए बहुत पुराना हो। diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 6902c2cc3..4bf813672 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -3085,4 +3085,17 @@ Megjelenítés Felhő Felhőbeállítások + Mali híd: ki + Mali híd: be + A(z) %1$s nem Adreno. A kísérleti Vulkan híd be van kapcsolva: a munkamenet a telefon saját illesztőprogramján keresztül rajzol. Hibákra számíts; küldd el a munkamenet naplóit. + Biztonságos mód + Biztonságos mód: be + Biztonságos mód: ki + A legjobb kompatibilitás. Új eszközhöz ajánlott. + Gyorsabb ott, ahol ez a GPU átment az ellenőrzéseken. + DXVK + DXVK: automatikus + DXVK: a Protoné + Régebbi DXVK-t használ, ha ennek a GPU-nak a Vulkanja túl régi a Proton sajátjához. + Minden Proton megtartja a saját DXVK-ját, akkor is, ha ennek a GPU-nak a Vulkanja túl régi lehet hozzá. diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 24ce23f45..e59e92edf 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -3075,4 +3075,17 @@ Tampilkan Cloud Pengaturan cloud + Jembatan Mali: mati + Jembatan Mali: nyala + %1$s bukan Adreno. Jembatan Vulkan eksperimental menyala: sesi menggambar melalui driver ponsel itu sendiri. Bersiaplah menemui bug; kirim log sesi. + Mode aman + Mode aman: nyala + Mode aman: mati + Paling kompatibel. Disarankan untuk perangkat baru. + Lebih cepat di bagian yang lolos pemeriksaan GPU ini. + DXVK + DXVK: otomatis + DXVK: bawaan Proton + Memakai DXVK lebih lama jika Vulkan GPU ini terlalu lama untuk DXVK bawaan Proton. + Setiap Proton tetap memakai DXVK bawaannya, meski Vulkan GPU ini mungkin terlalu lama untuknya. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 524eba544..c356086ce 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -3119,4 +3119,17 @@ Mostra Cloud Impostazioni cloud + Ponte Mali: disattivato + Ponte Mali: attivo + %1$s non è una Adreno. Il ponte Vulkan sperimentale è attivo: la sessione disegna tramite il driver del telefono. Aspettati bug; invia i log della sessione. + Modalità sicura + Modalità sicura: attiva + Modalità sicura: disattivata + La più compatibile. Consigliata per un nuovo dispositivo. + Più veloce dove questa GPU ha superato i controlli. + DXVK + DXVK: automatico + DXVK: quello di Proton + Usa un DXVK più vecchio se il Vulkan di questa GPU è troppo vecchio per quello di Proton. + Ogni Proton mantiene il proprio DXVK, anche se il Vulkan di questa GPU potrebbe essere troppo vecchio. diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 4d605fa6b..dbd8d5b64 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -3062,4 +3062,17 @@ 表示 クラウド クラウド設定 + Mali ブリッジ: オフ + Mali ブリッジ: オン + %1$s は Adreno ではありません。試験的な Vulkan ブリッジがオンです。セッションはスマートフォン本体のドライバーで描画します。不具合が出る可能性があります。セッションログを送ってください。 + セーフモード + セーフモード: オン + セーフモード: オフ + 最も互換性が高い設定です。新しいデバイスにおすすめです。 + この GPU がチェックに合格した部分で高速になります。 + DXVK + DXVK: 自動 + DXVK: Proton 付属 + この GPU の Vulkan が Proton 付属の DXVK には古すぎる場合、古い DXVK を使います。 + この GPU の Vulkan が古すぎる場合でも、各 Proton は付属の DXVK を使い続けます。 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 9420ce605..46c77c2da 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -3062,4 +3062,17 @@ 표시 클라우드 클라우드 설정 + Mali 브리지: 끔 + Mali 브리지: 켬 + %1$s은(는) Adreno가 아닙니다. 실험적 Vulkan 브리지가 켜져 있어 세션이 휴대폰 자체 드라이버로 그립니다. 버그가 있을 수 있으니 세션 로그를 보내 주세요. + 안전 모드 + 안전 모드: 켬 + 안전 모드: 끔 + 호환성이 가장 높습니다. 새 기기에 권장합니다. + 이 GPU가 검사를 통과한 부분에서 더 빠릅니다. + DXVK + DXVK: 자동 + DXVK: Proton 기본 + 이 GPU의 Vulkan이 Proton 기본 DXVK에 너무 오래된 경우 이전 DXVK를 사용합니다. + 이 GPU의 Vulkan이 너무 오래되었을 수 있어도 각 Proton은 자체 DXVK를 유지합니다. diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index 218fc9a81..e8d85ffc8 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -3060,4 +3060,17 @@ Tunjukkan Awan Tetapan awan + Jambatan Mali: mati + Jambatan Mali: hidup + %1$s bukan Adreno. Jambatan Vulkan eksperimen dihidupkan: sesi melukis melalui pemacu telefon itu sendiri. Jangkakan pepijat; hantar log sesi. + Mod selamat + Mod selamat: hidup + Mod selamat: mati + Paling serasi. Disyorkan untuk peranti baharu. + Lebih pantas di bahagian yang lulus semakan GPU ini. + DXVK + DXVK: automatik + DXVK: milik Proton + Menggunakan DXVK yang lebih lama jika Vulkan GPU ini terlalu lama untuk DXVK Proton. + Setiap Proton mengekalkan DXVK sendiri, walaupun Vulkan GPU ini mungkin terlalu lama untuknya. diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index bbb6c8a24..0e27e1a58 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -3085,4 +3085,17 @@ Vis Sky Skyinnstillinger + Mali-bro: av + Mali-bro: på + %1$s er ikke en Adreno. Den eksperimentelle Vulkan-broen er på: økten tegner gjennom telefonens egen driver. Forvent feil; send øktloggene. + Sikker modus + Sikker modus: på + Sikker modus: av + Mest kompatibel. Anbefales for en ny enhet. + Raskere der denne GPU-en besto kontrollene sine. + DXVK + DXVK: automatisk + DXVK: Protons egen + Bruker en eldre DXVK der denne GPU-ens Vulkan er for gammel for Protons. + Hver Proton beholder sin egen DXVK, selv der denne GPU-ens Vulkan kan være for gammel for den. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index e8c394cf1..753869f71 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -3085,4 +3085,17 @@ Weergeven Cloud Cloudinstellingen + Mali-brug: uit + Mali-brug: aan + %1$s is geen Adreno. De experimentele Vulkan-brug staat aan: de sessie tekent via het eigen stuurprogramma van de telefoon. Verwacht fouten; stuur de sessielogboeken. + Veilige modus + Veilige modus: aan + Veilige modus: uit + Meest compatibel. Aanbevolen voor een nieuw apparaat. + Sneller waar deze GPU zijn controles heeft doorstaan. + DXVK + DXVK: automatisch + DXVK: die van Proton + Gebruikt een oudere DXVK als de Vulkan van deze GPU te oud is voor die van Proton. + Elke Proton houdt zijn eigen DXVK, ook als de Vulkan van deze GPU daarvoor te oud kan zijn. diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 8d1736c64..3ebc340c5 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -3156,4 +3156,17 @@ Pokaż Chmura Ustawienia chmury + Most Mali: wył. + Most Mali: wł. + %1$s to nie Adreno. Eksperymentalny most Vulkan jest włączony: sesja rysuje przez własny sterownik telefonu. Spodziewaj się błędów; wyślij logi sesji. + Tryb bezpieczny + Tryb bezpieczny: wł. + Tryb bezpieczny: wył. + Największa zgodność. Zalecany dla nowego urządzenia. + Szybciej tam, gdzie ten GPU przeszedł testy. + DXVK + DXVK: automatycznie + DXVK: z Protona + Używa starszego DXVK, gdy Vulkan tego GPU jest za stary dla DXVK z Protona. + Każdy Proton zachowuje własny DXVK, nawet jeśli Vulkan tego GPU może być dla niego za stary. diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index f2c4bf67c..99a7c8a54 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -3119,4 +3119,17 @@ Mostrar Nuvem Definições da nuvem + Ponte Mali: desligada + Ponte Mali: ligada + %1$s não é uma Adreno. A ponte Vulkan experimental está ligada: a sessão desenha através do próprio controlador do telemóvel. Conte com erros; envie os registos da sessão. + Modo seguro + Modo seguro: ligado + Modo seguro: desligado + O mais compatível. Recomendado para um dispositivo novo. + Mais rápido onde esta GPU passou nas verificações. + DXVK + DXVK: automático + DXVK: o do Proton + Usa um DXVK mais antigo quando o Vulkan desta GPU é demasiado antigo para o do Proton. + Cada Proton mantém o seu próprio DXVK, mesmo quando o Vulkan desta GPU pode ser demasiado antigo para ele. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 3ade72aee..caaf99844 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -3119,4 +3119,17 @@ Mostrar Nuvem Configurações da nuvem + Ponte Mali: desligada + Ponte Mali: ligada + %1$s não é uma Adreno. A ponte Vulkan experimental está ligada: a sessão desenha pelo próprio driver do celular. Espere bugs; envie os logs da sessão. + Modo seguro + Modo seguro: ligado + Modo seguro: desligado + O mais compatível. Recomendado para um dispositivo novo. + Mais rápido onde esta GPU passou nas verificações. + DXVK + DXVK: automático + DXVK: o do Proton + Usa um DXVK mais antigo quando o Vulkan desta GPU é antigo demais para o do Proton. + Cada Proton mantém o próprio DXVK, mesmo quando o Vulkan desta GPU pode ser antigo demais para ele. diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 2305d87ab..244a029fe 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -3119,4 +3119,17 @@ Afișează Cloud Setări cloud + Punte Mali: oprită + Punte Mali: pornită + %1$s nu este Adreno. Puntea Vulkan experimentală este pornită: sesiunea desenează prin driverul propriu al telefonului. Așteaptă-te la erori; trimite jurnalele sesiunii. + Mod sigur + Mod sigur: pornit + Mod sigur: oprit + Cel mai compatibil. Recomandat pentru un dispozitiv nou. + Mai rapid acolo unde acest GPU a trecut verificările. + DXVK + DXVK: automat + DXVK: al Proton + Folosește un DXVK mai vechi când Vulkan-ul acestui GPU este prea vechi pentru cel din Proton. + Fiecare Proton își păstrează propriul DXVK, chiar dacă Vulkan-ul acestui GPU poate fi prea vechi pentru el. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9a7447b3d..e871da9ca 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -3155,4 +3155,17 @@ Показать Облако Настройки облака + Мост Mali: выкл. + Мост Mali: вкл. + %1$s — не Adreno. Включён экспериментальный мост Vulkan: сеанс рисует через собственный драйвер телефона. Возможны ошибки; отправьте журналы сеанса. + Безопасный режим + Безопасный режим: вкл. + Безопасный режим: выкл. + Максимальная совместимость. Рекомендуется для нового устройства. + Быстрее там, где этот GPU прошёл проверки. + DXVK + DXVK: автоматически + DXVK: из Proton + Использует более старый DXVK, если Vulkan этого GPU слишком стар для DXVK из Proton. + Каждый Proton оставляет свой DXVK, даже если Vulkan этого GPU может быть для него слишком старым. diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index f50d90edf..5004c2a48 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -3085,4 +3085,17 @@ Visa Moln Molninställningar + Mali-brygga: av + Mali-brygga: på + %1$s är inte en Adreno. Den experimentella Vulkan-bryggan är på: sessionen ritar via telefonens egen drivrutin. Räkna med buggar; skicka sessionsloggarna. + Säkert läge + Säkert läge: på + Säkert läge: av + Mest kompatibelt. Rekommenderas för en ny enhet. + Snabbare där den här GPU:n klarade sina kontroller. + DXVK + DXVK: automatiskt + DXVK: Protons egen + Använder en äldre DXVK när den här GPU:ns Vulkan är för gammal för Protons. + Varje Proton behåller sin egen DXVK, även där den här GPU:ns Vulkan kan vara för gammal för den. diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index ef164e408..f77e19e5c 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -3060,4 +3060,17 @@ แสดง คลาวด์ การตั้งค่าคลาวด์ + บริดจ์ Mali: ปิด + บริดจ์ Mali: เปิด + %1$s ไม่ใช่ Adreno บริดจ์ Vulkan รุ่นทดลองเปิดอยู่: เซสชันวาดผ่านไดรเวอร์ของโทรศัพท์เอง อาจพบบั๊ก โปรดส่งบันทึกของเซสชัน + โหมดปลอดภัย + โหมดปลอดภัย: เปิด + โหมดปลอดภัย: ปิด + เข้ากันได้มากที่สุด แนะนำสำหรับอุปกรณ์ใหม่ + เร็วขึ้นในส่วนที่ GPU นี้ผ่านการตรวจสอบ + DXVK + DXVK: อัตโนมัติ + DXVK: ของ Proton + ใช้ DXVK รุ่นเก่ากว่าเมื่อ Vulkan ของ GPU นี้เก่าเกินไปสำหรับ DXVK ของ Proton + Proton แต่ละตัวใช้ DXVK ของตัวเอง แม้ Vulkan ของ GPU นี้อาจเก่าเกินไปสำหรับมัน diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 379511296..99d05d10c 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -3087,4 +3087,17 @@ Göster Bulut Bulut ayarları + Mali köprüsü: kapalı + Mali köprüsü: açık + %1$s bir Adreno değil. Deneysel Vulkan köprüsü açık: oturum, telefonun kendi sürücüsü üzerinden çizer. Hatalar olabilir; oturum günlüklerini gönderin. + Güvenli mod + Güvenli mod: açık + Güvenli mod: kapalı + En uyumlu. Yeni bir cihaz için önerilir. + Bu GPU\'nun kontrollerini geçtiği yerlerde daha hızlı. + DXVK + DXVK: otomatik + DXVK: Proton\'unki + Bu GPU\'nun Vulkan\'ı Proton\'un DXVK\'sı için çok eskiyse daha eski bir DXVK kullanır. + Bu GPU\'nun Vulkan\'ı onun için çok eski olsa bile her Proton kendi DXVK\'sını korur. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 78eef7de8..b4380e6a8 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -3153,4 +3153,17 @@ Показати Хмара Налаштування хмари + Міст Mali: вимк. + Міст Mali: увімк. + %1$s — не Adreno. Увімкнено експериментальний міст Vulkan: сеанс малює через власний драйвер телефона. Можливі помилки; надішліть журнали сеансу. + Безпечний режим + Безпечний режим: увімк. + Безпечний режим: вимк. + Найкраща сумісність. Рекомендовано для нового пристрою. + Швидше там, де цей GPU пройшов перевірки. + DXVK + DXVK: автоматично + DXVK: з Proton + Використовує старіший DXVK, якщо Vulkan цього GPU застарий для DXVK з Proton. + Кожен Proton залишає свій DXVK, навіть якщо Vulkan цього GPU може бути для нього застарим. diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 475bef045..4a5d3a134 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -3060,4 +3060,17 @@ Hiển thị Đám mây Cài đặt đám mây + Cầu Mali: tắt + Cầu Mali: bật + %1$s không phải Adreno. Cầu Vulkan thử nghiệm đang bật: phiên vẽ qua trình điều khiển của chính điện thoại. Có thể gặp lỗi; hãy gửi nhật ký phiên. + Chế độ an toàn + Chế độ an toàn: bật + Chế độ an toàn: tắt + Tương thích nhất. Nên dùng cho thiết bị mới. + Nhanh hơn ở những chỗ GPU này đã vượt qua kiểm tra. + DXVK + DXVK: tự động + DXVK: của Proton + Dùng DXVK cũ hơn khi Vulkan của GPU này quá cũ cho DXVK của Proton. + Mỗi Proton giữ DXVK riêng, kể cả khi Vulkan của GPU này có thể quá cũ cho nó. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 3b54cb480..f314826a2 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -3069,4 +3069,12 @@ DXVK:Proton 自带 此 GPU 的 Vulkan 版本对 Proton 自带的 DXVK 来说太旧时,改用较旧的 DXVK。 每个 Proton 都使用自带的 DXVK,即使此 GPU 的 Vulkan 版本可能太旧。 + Mali 桥接:关 + Mali 桥接:开 + %1$s 不是 Adreno。实验性 Vulkan 桥接已开启:会话通过手机自带的驱动绘制。可能会有问题,请发送会话日志。 + 安全模式 + 安全模式:开 + 安全模式:关 + 兼容性最好。推荐新设备使用。 + 在此 GPU 通过检查的地方更快。 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 3d8b8eff9..66ccf8982 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -3068,4 +3068,12 @@ DXVK:Proton 內建 此 GPU 的 Vulkan 版本對 Proton 內建的 DXVK 來說太舊時,改用較舊的 DXVK。 每個 Proton 都使用內建的 DXVK,即使此 GPU 的 Vulkan 版本可能太舊。 + Mali 橋接:關 + Mali 橋接:開 + %1$s 不是 Adreno。實驗性 Vulkan 橋接已開啟:工作階段透過手機內建的驅動程式繪製。可能會有問題,請傳送工作階段記錄。 + 安全模式 + 安全模式:開 + 安全模式:關 + 相容性最好。建議新裝置使用。 + 在此 GPU 通過檢查的地方較快。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 31dd74463..0fd53316c 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3068,4 +3068,12 @@ DXVK:Proton 內建 此 GPU 的 Vulkan 版本對 Proton 內建的 DXVK 來說太舊時,改用較舊的 DXVK。 每個 Proton 都使用內建的 DXVK,即使此 GPU 的 Vulkan 版本可能太舊。 + Mali 橋接:關 + Mali 橋接:開 + %1$s 不是 Adreno。實驗性 Vulkan 橋接已開啟:工作階段透過手機內建的驅動程式繪製。可能會有問題,請傳送工作階段記錄。 + 安全模式 + 安全模式:開 + 安全模式:關 + 相容性最好。建議新裝置使用。 + 在此 GPU 通過檢查的地方較快。 From fdc4ff607d281933c74eef48e0d682f937393996 Mon Sep 17 00:00:00 2001 From: maxjivi05 Date: Sun, 25 Oct 2026 20:01:43 -0400 Subject: [PATCH 18/38] Credit MaliBridge by ASEbrahim --- README.md | 2 +- docs/third-party/malibridge/NOTICE | 21 ++++++++++++++++++ docs/third-party/malibridge/README.md | 32 +++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 docs/third-party/malibridge/NOTICE create mode 100644 docs/third-party/malibridge/README.md diff --git a/README.md b/README.md index 80958dcda..0876bac79 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ Compatibility and performance vary by device; hardware validation is limited. De ## Credits and licence -GPL-3.0. Runtime, shim, input, and controller work build on WinNative and Bannerlator (maxjivi05). Epic Games and GOG support build on [Phobos’s](https://github.com/phobos665) adaptation of [Legendary](https://github.com/legendary-gl/legendary) and [gogdl](https://github.com/Heroic-Games-Launcher/heroic-gogdl), respectively. Battle.net support is [@kayakyakr](https://github.com/kayakyakr)'s: it runs Blizzard's own Battle.net client, downloaded from Blizzard and not included, in Proton, and shows the key art from each game's [Battle.net Shop](https://shop.battle.net) page; without the Steam client its games see DroidDeck's pad as an Xbox 360 controller through `PROTON_SPOOF_STEAMINPUT_VIDPID` in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/winebus.sys`. Its games install from Stores through Blizzard's own Agent and the local HTTP API it serves, driven the way [@barncastle](https://github.com/barncastle)'s [Battle.Net-Installer](https://github.com/barncastle/Battle.Net-Installer) drives it, with the requests described on [wowdev.wiki](https://wowdev.wiki/Agent); how other launchers find, install and start Blizzard games was read in [@mubaraknumann](https://github.com/mubaraknumann)'s [unifideck](https://github.com/mubaraknumann/unifideck), [@djmittens](https://github.com/djmittens)'s [neo-mittens](https://github.com/djmittens/neo-mittens) `bnetswitch`, [@BCD1210](https://github.com/BCD1210)'s [soju](https://github.com/BCD1210/soju) and [Lutris](https://github.com/lutris/lutris)'s `product.db` reader, without taking their code. The registry entries a GOG game's install script (`goggame-.script`) sets are read the way [Heroic Games Launcher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher)'s GOG setup (GPL-3.0) reads them. LSFG frame generation is from the work of Camille LaVey and the [Eden](https://eden-emu.dev) emulator project, following [lsfg-vk](https://github.com/PancakeTAS/lsfg-vk), ported to WinNative and DroidDeck by [@maxjivi05](https://github.com/maxjivi05); it needs your own copy of [Lossless Scaling](https://store.steampowered.com/app/993090/) and ships none of its shaders. x86 AppImages, and any whose own runtime cannot unpack them, are unpacked with [uruntime](https://github.com/VHSgunzo/uruntime) by VHSgunzo (MIT), shipped unmodified with its licence, which also starts the arm64 emulator AppImages whose own runtime cannot run its extractor on Android. x86 AppImages packed with [sharun](https://github.com/VHSgunzo/sharun) by VHSgunzo (MIT) start because DroidDeck's own [FEX](https://github.com/FEX-Emu/FEX) build (MIT) puts the platform name under `AT_PLATFORM`, which sharun's [userland-execve](https://crates.io/crates/userland-execve) loader (MIT) requires; FEX filed it under `AT_BASE_PLATFORM`. The Steam client's audio goes through [@The412Banner](https://github.com/The412Banner)'s [DirectAudio](https://github.com/The412Banner/directaudio) PulseAudio sink (LGPL-2.1-or-later), built from `tools/directaudio/sink` with its request size kept to its ring so clients are not asked to queue 100 ms ahead. mmap ring-buffer controller input was developed by ribbit384 ([WinNative #345](https://github.com/WinNative-Emu/WinNative/pull/345)). Why the x86-64 Steam client refused the arm64 client's sign-in was checked by reading Steam's saved token with the `ConnectCache` format from [deadlock-api-ingest](https://github.com/deadlock-api/deadlock-api-ingest). x86 programs that link OpenSSL 3 under FEX use the copy in the [Steam Linux Runtime 4.0](https://gitlab.steamos.cloud/steamrt/steamrt) platform. Hooks written with `WriteProcessMemory` into code [FEX](https://github.com/FEX-Emu/FEX) has translated go through `/proc//mem` again when the kernel refuses `process_vm_writev`, as [Wine](https://gitlab.winehq.org/wine/wine)'s `server/ptrace.c` wrote them before Wine 11. x86 Linux games under FEX get the same `/etc/asound.conf` that [pressure-vessel](https://gitlab.steamos.cloud/steamrt/steam-runtime-tools) writes into the Steam Linux Runtime, so ALSA plays through PulseAudio. Games render with [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Turnip's own per-render-pass choice between tile memory and system memory, while the Steam client keeps `TU_DEBUG=sysmem`; [FEX](https://github.com/FEX-Emu/FEX)'s code disk cache was checked in its source and is already on through Proton. The proot fast path picks the guest name of a host file bound under several names in the order [PRoot](https://github.com/proot-me/proot)'s `path/binding.c` (GPL-2.0-or-later) sorts its bindings, so links and `/proc/self/fd` read back as they do through proot. The session's [PipeWire](https://gitlab.freedesktop.org/pipewire/pipewire) (MIT) opens its sockets with the per-socket access settings documented in its `module-access.c`, and [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) (MIT) keeps those clients at full permissions through its `access.rules`. Wine write watches use the userfaultfd support in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/ntdll/unix/virtual.c` (LGPL-2.1-or-later): libblsession gives it the arm64 syscall number and answers its `PAGEMAP_SCAN` from `/proc/self/pagemap` where Android refuses the ioctl. Wine on arm64 sets a thread's full context by raising `SIGUSR2` from `syscall_dispatcher_return_slowpath` in [Wine](https://gitlab.winehq.org/wine/wine)'s `dlls/ntdll/unix/signal_arm64.c` (LGPL-2.1-or-later); libblsession runs that handler in place on a frame laid out as the [Linux](https://github.com/torvalds/linux) kernel's `arch/arm64/kernel/signal.c` builds it and returns through `rt_sigreturn`, so proot does not stop the thread for it. Wine's process list reads each process's memory counters from `/proc//status` in `fill_vm_counters` ([Wine](https://gitlab.winehq.org/wine/wine) `dlls/ntdll/unix/process.c`, LGPL-2.1-or-later), so libblsession gives those reads the kernel's file instead of a copy with `TracerPid` cleared. droiddeck-ntsync is checked against the object, wait and error semantics documented for the [Linux](https://github.com/torvalds/linux) ntsync driver in `Documentation/userspace-api/ntsync.rst` (GPL-2.0). Xbox games load the Windows modules of [@domsvoboda](https://github.com/domsvoboda)'s [xodus-nexus](https://github.com/domsvoboda/xodus-nexus) runtime (LGPL-2.1-or-later), including its `wintypes.dll`, whose `ApiInformation` answer Minecraft for Windows needs to start; how Minecraft installs GameInput under Wine was checked against [@Wyze3306](https://github.com/Wyze3306)'s [BedrockOnLinux](https://github.com/Wyze3306/BedrockOnLinux) (MIT). See [LICENSE](LICENSE). Steam and Proton belong to Valve Corporation; this project is not affiliated with Valve. +GPL-3.0. Runtime, shim, input, and controller work build on WinNative and Bannerlator (maxjivi05). Epic Games and GOG support build on [Phobos’s](https://github.com/phobos665) adaptation of [Legendary](https://github.com/legendary-gl/legendary) and [gogdl](https://github.com/Heroic-Games-Launcher/heroic-gogdl), respectively. Battle.net support is [@kayakyakr](https://github.com/kayakyakr)'s: it runs Blizzard's own Battle.net client, downloaded from Blizzard and not included, in Proton, and shows the key art from each game's [Battle.net Shop](https://shop.battle.net) page; without the Steam client its games see DroidDeck's pad as an Xbox 360 controller through `PROTON_SPOOF_STEAMINPUT_VIDPID` in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/winebus.sys`. Its games install from Stores through Blizzard's own Agent and the local HTTP API it serves, driven the way [@barncastle](https://github.com/barncastle)'s [Battle.Net-Installer](https://github.com/barncastle/Battle.Net-Installer) drives it, with the requests described on [wowdev.wiki](https://wowdev.wiki/Agent); how other launchers find, install and start Blizzard games was read in [@mubaraknumann](https://github.com/mubaraknumann)'s [unifideck](https://github.com/mubaraknumann/unifideck), [@djmittens](https://github.com/djmittens)'s [neo-mittens](https://github.com/djmittens/neo-mittens) `bnetswitch`, [@BCD1210](https://github.com/BCD1210)'s [soju](https://github.com/BCD1210/soju) and [Lutris](https://github.com/lutris/lutris)'s `product.db` reader, without taking their code. The registry entries a GOG game's install script (`goggame-.script`) sets are read the way [Heroic Games Launcher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher)'s GOG setup (GPL-3.0) reads them. LSFG frame generation is from the work of Camille LaVey and the [Eden](https://eden-emu.dev) emulator project, following [lsfg-vk](https://github.com/PancakeTAS/lsfg-vk), ported to WinNative and DroidDeck by [@maxjivi05](https://github.com/maxjivi05); it needs your own copy of [Lossless Scaling](https://store.steampowered.com/app/993090/) and ships none of its shaders. x86 AppImages, and any whose own runtime cannot unpack them, are unpacked with [uruntime](https://github.com/VHSgunzo/uruntime) by VHSgunzo (MIT), shipped unmodified with its licence, which also starts the arm64 emulator AppImages whose own runtime cannot run its extractor on Android. x86 AppImages packed with [sharun](https://github.com/VHSgunzo/sharun) by VHSgunzo (MIT) start because DroidDeck's own [FEX](https://github.com/FEX-Emu/FEX) build (MIT) puts the platform name under `AT_PLATFORM`, which sharun's [userland-execve](https://crates.io/crates/userland-execve) loader (MIT) requires; FEX filed it under `AT_BASE_PLATFORM`. The Steam client's audio goes through [@The412Banner](https://github.com/The412Banner)'s [DirectAudio](https://github.com/The412Banner/directaudio) PulseAudio sink (LGPL-2.1-or-later), built from `tools/directaudio/sink` with its request size kept to its ring so clients are not asked to queue 100 ms ahead. mmap ring-buffer controller input was developed by ribbit384 ([WinNative #345](https://github.com/WinNative-Emu/WinNative/pull/345)). Why the x86-64 Steam client refused the arm64 client's sign-in was checked by reading Steam's saved token with the `ConnectCache` format from [deadlock-api-ingest](https://github.com/deadlock-api/deadlock-api-ingest). x86 programs that link OpenSSL 3 under FEX use the copy in the [Steam Linux Runtime 4.0](https://gitlab.steamos.cloud/steamrt/steamrt) platform. Hooks written with `WriteProcessMemory` into code [FEX](https://github.com/FEX-Emu/FEX) has translated go through `/proc//mem` again when the kernel refuses `process_vm_writev`, as [Wine](https://gitlab.winehq.org/wine/wine)'s `server/ptrace.c` wrote them before Wine 11. x86 Linux games under FEX get the same `/etc/asound.conf` that [pressure-vessel](https://gitlab.steamos.cloud/steamrt/steam-runtime-tools) writes into the Steam Linux Runtime, so ALSA plays through PulseAudio. Games render with [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Turnip's own per-render-pass choice between tile memory and system memory, while the Steam client keeps `TU_DEBUG=sysmem`; [FEX](https://github.com/FEX-Emu/FEX)'s code disk cache was checked in its source and is already on through Proton. The proot fast path picks the guest name of a host file bound under several names in the order [PRoot](https://github.com/proot-me/proot)'s `path/binding.c` (GPL-2.0-or-later) sorts its bindings, so links and `/proc/self/fd` read back as they do through proot. The session's [PipeWire](https://gitlab.freedesktop.org/pipewire/pipewire) (MIT) opens its sockets with the per-socket access settings documented in its `module-access.c`, and [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) (MIT) keeps those clients at full permissions through its `access.rules`. Wine write watches use the userfaultfd support in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/ntdll/unix/virtual.c` (LGPL-2.1-or-later): libblsession gives it the arm64 syscall number and answers its `PAGEMAP_SCAN` from `/proc/self/pagemap` where Android refuses the ioctl. Wine on arm64 sets a thread's full context by raising `SIGUSR2` from `syscall_dispatcher_return_slowpath` in [Wine](https://gitlab.winehq.org/wine/wine)'s `dlls/ntdll/unix/signal_arm64.c` (LGPL-2.1-or-later); libblsession runs that handler in place on a frame laid out as the [Linux](https://github.com/torvalds/linux) kernel's `arch/arm64/kernel/signal.c` builds it and returns through `rt_sigreturn`, so proot does not stop the thread for it. Wine's process list reads each process's memory counters from `/proc//status` in `fill_vm_counters` ([Wine](https://gitlab.winehq.org/wine/wine) `dlls/ntdll/unix/process.c`, LGPL-2.1-or-later), so libblsession gives those reads the kernel's file instead of a copy with `TracerPid` cleared. droiddeck-ntsync is checked against the object, wait and error semantics documented for the [Linux](https://github.com/torvalds/linux) ntsync driver in `Documentation/userspace-api/ntsync.rst` (GPL-2.0). Xbox games load the Windows modules of [@domsvoboda](https://github.com/domsvoboda)'s [xodus-nexus](https://github.com/domsvoboda/xodus-nexus) runtime (LGPL-2.1-or-later), including its `wintypes.dll`, whose `ApiInformation` answer Minecraft for Windows needs to start; how Minecraft installs GameInput under Wine was checked against [@Wyze3306](https://github.com/Wyze3306)'s [BedrockOnLinux](https://github.com/Wyze3306/BedrockOnLinux) (MIT). GPUs other than Adreno draw through [MaliBridge by ASEbrahim](https://github.com/ASEbrahim/MaliBridge) (GPL-3.0-or-later, with the attribution terms in its NOTICE), built from the `external/MaliBridge` submodule; its DroidDeck integration is [@ASEbrahim](https://github.com/ASEbrahim)'s work from their [DroidDeck fork](https://github.com/ASEbrahim/DroidDeck), and it credits Vulkan-Headers, bcdec, Lee Gao's etc2_encode and Mali research, David Cimo, The412Banner and others; see [docs/third-party/malibridge](docs/third-party/malibridge/README.md). See [LICENSE](LICENSE). Steam and Proton belong to Valve Corporation; this project is not affiliated with Valve. XR glasses support builds on WinNative's VITURE glasses work. VITURE protocol details were checked against [XRLinuxDriver](https://github.com/wheaney/XRLinuxDriver) by [@wheaney](https://github.com/wheaney), including the VITURE protocol header it ships, [ar-drivers-rs](https://github.com/badicsalex/ar-drivers-rs) by [@badicsalex](https://github.com/badicsalex) and the [go-macos/iokit VITURE package](https://pkg.go.dev/github.com/go-macos/iokit/viture); the optional VITURE SDK belongs to VITURE and is not included. RayNeo support adapts [@informalTechCode](https://github.com/informalTechCode)'s [RayNeo-Air-Series-3DoF-Scaffold](https://github.com/informalTechCode/RayNeo-Air-Series-3DoF-Scaffold) (Apache-2.0) and references [@verncat](https://github.com/verncat)'s [RayNeo-Air-3S-Pro-OpenVR](https://github.com/verncat/RayNeo-Air-3S-Pro-OpenVR) (MIT) and [Monado](https://gitlab.freedesktop.org/monado/monado) (BSL-1.0); see [docs/third-party/rayneo](docs/third-party/rayneo/README.md). XREAL 1S support references [XRLinuxDriver](https://github.com/wheaney/XRLinuxDriver) and [xrealOneDeviceKit](https://github.com/wheaney/xrealOneDeviceKit) by @wheaney, [xreal_one_driver](https://github.com/rohitsangwan01/xreal_one_driver) by [@rohitsangwan01](https://github.com/rohitsangwan01) (MIT) and [xr-tools](https://github.com/0xcaff/xr-tools) by [@0xcaff](https://github.com/0xcaff). Rokid support follows the Rokid protocol notes in [ar-drivers-rs](https://github.com/badicsalex/ar-drivers-rs) and @badicsalex's [Void Computing write-ups](https://voidcomputing.hu/blog/worse-better-prettier/), and [Monado](https://gitlab.freedesktop.org/monado/monado)'s Rokid driver. The REDMAGIC glasses-display findings draw on [@mekhontsev](https://github.com/mekhontsev)'s [MagicDesk investigation](https://github.com/mekhontsev/magicdesk/blob/main/docs/xr-resolution-fix.md) and [@Coding-BR](https://github.com/Coding-BR)'s [decompiled Nubia kernel](https://github.com/Coding-BR/android_kernel_nubia_sm8850_qwjujube). VITURE, RayNeo, XREAL, Rokid and REDMAGIC are trademarks of their owners; this project is not affiliated with them. diff --git a/docs/third-party/malibridge/NOTICE b/docs/third-party/malibridge/NOTICE new file mode 100644 index 000000000..6f8ab48c2 --- /dev/null +++ b/docs/third-party/malibridge/NOTICE @@ -0,0 +1,21 @@ +MaliBridge +Copyright (C) 2026 ASEbrahim and MaliBridge contributors +https://github.com/ASEbrahim/MaliBridge + +MaliBridge is free software: you can redistribute it and/or modify it under the terms of the GNU +General Public License as published by the Free Software Foundation, either version 3 of the +License, or (at your option) any later version. See LICENSE. + +Additional terms under section 7 of the GNU GPL version 3: + +1. Attribution (section 7(b)). Anyone who conveys MaliBridge, or a work based on it, in source or + object form must keep the notice "MaliBridge by ASEbrahim" with a link to + https://github.com/ASEbrahim/MaliBridge in the conveyed work's documentation, and, where the + work has a user interface that shows credits, licences or an "about" screen, in that screen. + +2. Names (section 7(e)). This licence grants no right to use the name "MaliBridge" or the + author's name to name or promote a modified version. A modified version must be marked as + changed and must not be presented as MaliBridge or as the author's work. + +Third-party components keep their own licences and notices (third_party/ and the files that name +them). diff --git a/docs/third-party/malibridge/README.md b/docs/third-party/malibridge/README.md new file mode 100644 index 000000000..f9cf4117c --- /dev/null +++ b/docs/third-party/malibridge/README.md @@ -0,0 +1,32 @@ +# MaliBridge by ASEbrahim + +MaliBridge by ASEbrahim: https://github.com/ASEbrahim/MaliBridge +(GPL-3.0-or-later with the additional terms in NOTICE here, copied unchanged from the project). + +DroidDeck builds MaliBridge from the `external/MaliBridge` submodule, pinned at 669e668 +(v0.5.3.1) and not modified. Its Vulkan ICD runs inside the Linux runtime and forwards each call +over a Unix socket to its server, which runs in the app on the phone's own Vulkan driver. +DroidDeck uses it only on a GPU without Adreno's KGSL; an Adreno keeps Turnip. + +The DroidDeck side of the bridge (the Setup switches, the server's start and session wiring, the +Mali render node stand-in, the compositor's AHardwareBuffer import off Adreno, the Steam web helper +layout, the socket wait and the DXVK choice for older Vulkan drivers) is Ahmad Sayed Alsayed +Ebrahim's (ASEbrahim) work from https://github.com/ASEbrahim/DroidDeck, kept under their name in +this repository's history. + +MaliBridge's own credits, in its README, include: + +- Vulkan-Headers 1.4.341 (Khronos Group), Apache-2.0 OR MIT: https://github.com/KhronosGroup/Vulkan-Headers +- bcdec by Sergii Kudlai, MIT or Unlicense: https://github.com/iOrange/bcdec +- etc2_encode by Lee Gao, MIT: https://github.com/leegao/etc2_encode +- Lee Gao's Mali findings and SPIRV-Tools MaliOptimizationBarrierPass (Apache-2.0): + https://github.com/leegao/SPIRV-Tools, and compat_layer (MIT): https://github.com/leegao/compat_layer +- Julius Pinsker's bionic-vulkan-wrapper PR #228 (MIT) +- David Cimo's droiddeck-mali (GPL-3.0): https://github.com/DavidCimo/droiddeck-mali +- The412Banner's Mali compatibility layer and testing on the DroidDeck branch `test/non-adreno-all` +- taowen's libhybris `arlinux` branch (Apache-2.0): https://github.com/taowen/libhybris/tree/arlinux +- GameNative (GPL-3.0), wallentx's placed-memory layer for DroidDeck (MIT), Arm's published errata, + ANGLE's Mali workarounds, and design notes from Winlator's Vortek + +Each keeps its own licence and notice in the submodule (`third_party/` and the files that name +them). From c300342a292fe0e5e7a35513c4457a9cde7bbd44 Mon Sep 17 00:00:00 2001 From: maxjivi05 Date: Mon, 26 Oct 2026 14:08:24 -0400 Subject: [PATCH 19/38] Update MaliBridge to v0.5.4 v0.5.4 backs the exported memory with AHardwareBuffers on phones without a dma-buf heap (older Mali such as the G68, G77 and G78) and fixes green and red textures on the Dimensity 9000 series. --- README.md | 2 +- docs/third-party/malibridge/README.md | 5 +++-- external/MaliBridge | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0876bac79..897d78c21 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ Compatibility and performance vary by device; hardware validation is limited. De ## Credits and licence -GPL-3.0. Runtime, shim, input, and controller work build on WinNative and Bannerlator (maxjivi05). Epic Games and GOG support build on [Phobos’s](https://github.com/phobos665) adaptation of [Legendary](https://github.com/legendary-gl/legendary) and [gogdl](https://github.com/Heroic-Games-Launcher/heroic-gogdl), respectively. Battle.net support is [@kayakyakr](https://github.com/kayakyakr)'s: it runs Blizzard's own Battle.net client, downloaded from Blizzard and not included, in Proton, and shows the key art from each game's [Battle.net Shop](https://shop.battle.net) page; without the Steam client its games see DroidDeck's pad as an Xbox 360 controller through `PROTON_SPOOF_STEAMINPUT_VIDPID` in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/winebus.sys`. Its games install from Stores through Blizzard's own Agent and the local HTTP API it serves, driven the way [@barncastle](https://github.com/barncastle)'s [Battle.Net-Installer](https://github.com/barncastle/Battle.Net-Installer) drives it, with the requests described on [wowdev.wiki](https://wowdev.wiki/Agent); how other launchers find, install and start Blizzard games was read in [@mubaraknumann](https://github.com/mubaraknumann)'s [unifideck](https://github.com/mubaraknumann/unifideck), [@djmittens](https://github.com/djmittens)'s [neo-mittens](https://github.com/djmittens/neo-mittens) `bnetswitch`, [@BCD1210](https://github.com/BCD1210)'s [soju](https://github.com/BCD1210/soju) and [Lutris](https://github.com/lutris/lutris)'s `product.db` reader, without taking their code. The registry entries a GOG game's install script (`goggame-.script`) sets are read the way [Heroic Games Launcher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher)'s GOG setup (GPL-3.0) reads them. LSFG frame generation is from the work of Camille LaVey and the [Eden](https://eden-emu.dev) emulator project, following [lsfg-vk](https://github.com/PancakeTAS/lsfg-vk), ported to WinNative and DroidDeck by [@maxjivi05](https://github.com/maxjivi05); it needs your own copy of [Lossless Scaling](https://store.steampowered.com/app/993090/) and ships none of its shaders. x86 AppImages, and any whose own runtime cannot unpack them, are unpacked with [uruntime](https://github.com/VHSgunzo/uruntime) by VHSgunzo (MIT), shipped unmodified with its licence, which also starts the arm64 emulator AppImages whose own runtime cannot run its extractor on Android. x86 AppImages packed with [sharun](https://github.com/VHSgunzo/sharun) by VHSgunzo (MIT) start because DroidDeck's own [FEX](https://github.com/FEX-Emu/FEX) build (MIT) puts the platform name under `AT_PLATFORM`, which sharun's [userland-execve](https://crates.io/crates/userland-execve) loader (MIT) requires; FEX filed it under `AT_BASE_PLATFORM`. The Steam client's audio goes through [@The412Banner](https://github.com/The412Banner)'s [DirectAudio](https://github.com/The412Banner/directaudio) PulseAudio sink (LGPL-2.1-or-later), built from `tools/directaudio/sink` with its request size kept to its ring so clients are not asked to queue 100 ms ahead. mmap ring-buffer controller input was developed by ribbit384 ([WinNative #345](https://github.com/WinNative-Emu/WinNative/pull/345)). Why the x86-64 Steam client refused the arm64 client's sign-in was checked by reading Steam's saved token with the `ConnectCache` format from [deadlock-api-ingest](https://github.com/deadlock-api/deadlock-api-ingest). x86 programs that link OpenSSL 3 under FEX use the copy in the [Steam Linux Runtime 4.0](https://gitlab.steamos.cloud/steamrt/steamrt) platform. Hooks written with `WriteProcessMemory` into code [FEX](https://github.com/FEX-Emu/FEX) has translated go through `/proc//mem` again when the kernel refuses `process_vm_writev`, as [Wine](https://gitlab.winehq.org/wine/wine)'s `server/ptrace.c` wrote them before Wine 11. x86 Linux games under FEX get the same `/etc/asound.conf` that [pressure-vessel](https://gitlab.steamos.cloud/steamrt/steam-runtime-tools) writes into the Steam Linux Runtime, so ALSA plays through PulseAudio. Games render with [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Turnip's own per-render-pass choice between tile memory and system memory, while the Steam client keeps `TU_DEBUG=sysmem`; [FEX](https://github.com/FEX-Emu/FEX)'s code disk cache was checked in its source and is already on through Proton. The proot fast path picks the guest name of a host file bound under several names in the order [PRoot](https://github.com/proot-me/proot)'s `path/binding.c` (GPL-2.0-or-later) sorts its bindings, so links and `/proc/self/fd` read back as they do through proot. The session's [PipeWire](https://gitlab.freedesktop.org/pipewire/pipewire) (MIT) opens its sockets with the per-socket access settings documented in its `module-access.c`, and [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) (MIT) keeps those clients at full permissions through its `access.rules`. Wine write watches use the userfaultfd support in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/ntdll/unix/virtual.c` (LGPL-2.1-or-later): libblsession gives it the arm64 syscall number and answers its `PAGEMAP_SCAN` from `/proc/self/pagemap` where Android refuses the ioctl. Wine on arm64 sets a thread's full context by raising `SIGUSR2` from `syscall_dispatcher_return_slowpath` in [Wine](https://gitlab.winehq.org/wine/wine)'s `dlls/ntdll/unix/signal_arm64.c` (LGPL-2.1-or-later); libblsession runs that handler in place on a frame laid out as the [Linux](https://github.com/torvalds/linux) kernel's `arch/arm64/kernel/signal.c` builds it and returns through `rt_sigreturn`, so proot does not stop the thread for it. Wine's process list reads each process's memory counters from `/proc//status` in `fill_vm_counters` ([Wine](https://gitlab.winehq.org/wine/wine) `dlls/ntdll/unix/process.c`, LGPL-2.1-or-later), so libblsession gives those reads the kernel's file instead of a copy with `TracerPid` cleared. droiddeck-ntsync is checked against the object, wait and error semantics documented for the [Linux](https://github.com/torvalds/linux) ntsync driver in `Documentation/userspace-api/ntsync.rst` (GPL-2.0). Xbox games load the Windows modules of [@domsvoboda](https://github.com/domsvoboda)'s [xodus-nexus](https://github.com/domsvoboda/xodus-nexus) runtime (LGPL-2.1-or-later), including its `wintypes.dll`, whose `ApiInformation` answer Minecraft for Windows needs to start; how Minecraft installs GameInput under Wine was checked against [@Wyze3306](https://github.com/Wyze3306)'s [BedrockOnLinux](https://github.com/Wyze3306/BedrockOnLinux) (MIT). GPUs other than Adreno draw through [MaliBridge by ASEbrahim](https://github.com/ASEbrahim/MaliBridge) (GPL-3.0-or-later, with the attribution terms in its NOTICE), built from the `external/MaliBridge` submodule; its DroidDeck integration is [@ASEbrahim](https://github.com/ASEbrahim)'s work from their [DroidDeck fork](https://github.com/ASEbrahim/DroidDeck), and it credits Vulkan-Headers, bcdec, Lee Gao's etc2_encode and Mali research, David Cimo, The412Banner and others; see [docs/third-party/malibridge](docs/third-party/malibridge/README.md). See [LICENSE](LICENSE). Steam and Proton belong to Valve Corporation; this project is not affiliated with Valve. +GPL-3.0. Runtime, shim, input, and controller work build on WinNative and Bannerlator (maxjivi05). Epic Games and GOG support build on [Phobos’s](https://github.com/phobos665) adaptation of [Legendary](https://github.com/legendary-gl/legendary) and [gogdl](https://github.com/Heroic-Games-Launcher/heroic-gogdl), respectively. Battle.net support is [@kayakyakr](https://github.com/kayakyakr)'s: it runs Blizzard's own Battle.net client, downloaded from Blizzard and not included, in Proton, and shows the key art from each game's [Battle.net Shop](https://shop.battle.net) page; without the Steam client its games see DroidDeck's pad as an Xbox 360 controller through `PROTON_SPOOF_STEAMINPUT_VIDPID` in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/winebus.sys`. Its games install from Stores through Blizzard's own Agent and the local HTTP API it serves, driven the way [@barncastle](https://github.com/barncastle)'s [Battle.Net-Installer](https://github.com/barncastle/Battle.Net-Installer) drives it, with the requests described on [wowdev.wiki](https://wowdev.wiki/Agent); how other launchers find, install and start Blizzard games was read in [@mubaraknumann](https://github.com/mubaraknumann)'s [unifideck](https://github.com/mubaraknumann/unifideck), [@djmittens](https://github.com/djmittens)'s [neo-mittens](https://github.com/djmittens/neo-mittens) `bnetswitch`, [@BCD1210](https://github.com/BCD1210)'s [soju](https://github.com/BCD1210/soju) and [Lutris](https://github.com/lutris/lutris)'s `product.db` reader, without taking their code. The registry entries a GOG game's install script (`goggame-.script`) sets are read the way [Heroic Games Launcher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher)'s GOG setup (GPL-3.0) reads them. LSFG frame generation is from the work of Camille LaVey and the [Eden](https://eden-emu.dev) emulator project, following [lsfg-vk](https://github.com/PancakeTAS/lsfg-vk), ported to WinNative and DroidDeck by [@maxjivi05](https://github.com/maxjivi05); it needs your own copy of [Lossless Scaling](https://store.steampowered.com/app/993090/) and ships none of its shaders. x86 AppImages, and any whose own runtime cannot unpack them, are unpacked with [uruntime](https://github.com/VHSgunzo/uruntime) by VHSgunzo (MIT), shipped unmodified with its licence, which also starts the arm64 emulator AppImages whose own runtime cannot run its extractor on Android. x86 AppImages packed with [sharun](https://github.com/VHSgunzo/sharun) by VHSgunzo (MIT) start because DroidDeck's own [FEX](https://github.com/FEX-Emu/FEX) build (MIT) puts the platform name under `AT_PLATFORM`, which sharun's [userland-execve](https://crates.io/crates/userland-execve) loader (MIT) requires; FEX filed it under `AT_BASE_PLATFORM`. The Steam client's audio goes through [@The412Banner](https://github.com/The412Banner)'s [DirectAudio](https://github.com/The412Banner/directaudio) PulseAudio sink (LGPL-2.1-or-later), built from `tools/directaudio/sink` with its request size kept to its ring so clients are not asked to queue 100 ms ahead. mmap ring-buffer controller input was developed by ribbit384 ([WinNative #345](https://github.com/WinNative-Emu/WinNative/pull/345)). Why the x86-64 Steam client refused the arm64 client's sign-in was checked by reading Steam's saved token with the `ConnectCache` format from [deadlock-api-ingest](https://github.com/deadlock-api/deadlock-api-ingest). x86 programs that link OpenSSL 3 under FEX use the copy in the [Steam Linux Runtime 4.0](https://gitlab.steamos.cloud/steamrt/steamrt) platform. Hooks written with `WriteProcessMemory` into code [FEX](https://github.com/FEX-Emu/FEX) has translated go through `/proc//mem` again when the kernel refuses `process_vm_writev`, as [Wine](https://gitlab.winehq.org/wine/wine)'s `server/ptrace.c` wrote them before Wine 11. x86 Linux games under FEX get the same `/etc/asound.conf` that [pressure-vessel](https://gitlab.steamos.cloud/steamrt/steam-runtime-tools) writes into the Steam Linux Runtime, so ALSA plays through PulseAudio. Games render with [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Turnip's own per-render-pass choice between tile memory and system memory, while the Steam client keeps `TU_DEBUG=sysmem`; [FEX](https://github.com/FEX-Emu/FEX)'s code disk cache was checked in its source and is already on through Proton. The proot fast path picks the guest name of a host file bound under several names in the order [PRoot](https://github.com/proot-me/proot)'s `path/binding.c` (GPL-2.0-or-later) sorts its bindings, so links and `/proc/self/fd` read back as they do through proot. The session's [PipeWire](https://gitlab.freedesktop.org/pipewire/pipewire) (MIT) opens its sockets with the per-socket access settings documented in its `module-access.c`, and [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) (MIT) keeps those clients at full permissions through its `access.rules`. Wine write watches use the userfaultfd support in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/ntdll/unix/virtual.c` (LGPL-2.1-or-later): libblsession gives it the arm64 syscall number and answers its `PAGEMAP_SCAN` from `/proc/self/pagemap` where Android refuses the ioctl. Wine on arm64 sets a thread's full context by raising `SIGUSR2` from `syscall_dispatcher_return_slowpath` in [Wine](https://gitlab.winehq.org/wine/wine)'s `dlls/ntdll/unix/signal_arm64.c` (LGPL-2.1-or-later); libblsession runs that handler in place on a frame laid out as the [Linux](https://github.com/torvalds/linux) kernel's `arch/arm64/kernel/signal.c` builds it and returns through `rt_sigreturn`, so proot does not stop the thread for it. Wine's process list reads each process's memory counters from `/proc//status` in `fill_vm_counters` ([Wine](https://gitlab.winehq.org/wine/wine) `dlls/ntdll/unix/process.c`, LGPL-2.1-or-later), so libblsession gives those reads the kernel's file instead of a copy with `TracerPid` cleared. droiddeck-ntsync is checked against the object, wait and error semantics documented for the [Linux](https://github.com/torvalds/linux) ntsync driver in `Documentation/userspace-api/ntsync.rst` (GPL-2.0). Xbox games load the Windows modules of [@domsvoboda](https://github.com/domsvoboda)'s [xodus-nexus](https://github.com/domsvoboda/xodus-nexus) runtime (LGPL-2.1-or-later), including its `wintypes.dll`, whose `ApiInformation` answer Minecraft for Windows needs to start; how Minecraft installs GameInput under Wine was checked against [@Wyze3306](https://github.com/Wyze3306)'s [BedrockOnLinux](https://github.com/Wyze3306/BedrockOnLinux) (MIT). GPUs other than Adreno draw through [MaliBridge by ASEbrahim](https://github.com/ASEbrahim/MaliBridge) (GPL-3.0-or-later, with the attribution terms in its NOTICE), built from the `external/MaliBridge` submodule; its DroidDeck integration is [@ASEbrahim](https://github.com/ASEbrahim)'s work from their [DroidDeck fork](https://github.com/ASEbrahim/DroidDeck), and it credits Vulkan-Headers, Arm's HWCPipe, bcdec, Lee Gao's etc2_encode and Mali research, David Cimo, The412Banner and others; see [docs/third-party/malibridge](docs/third-party/malibridge/README.md). See [LICENSE](LICENSE). Steam and Proton belong to Valve Corporation; this project is not affiliated with Valve. XR glasses support builds on WinNative's VITURE glasses work. VITURE protocol details were checked against [XRLinuxDriver](https://github.com/wheaney/XRLinuxDriver) by [@wheaney](https://github.com/wheaney), including the VITURE protocol header it ships, [ar-drivers-rs](https://github.com/badicsalex/ar-drivers-rs) by [@badicsalex](https://github.com/badicsalex) and the [go-macos/iokit VITURE package](https://pkg.go.dev/github.com/go-macos/iokit/viture); the optional VITURE SDK belongs to VITURE and is not included. RayNeo support adapts [@informalTechCode](https://github.com/informalTechCode)'s [RayNeo-Air-Series-3DoF-Scaffold](https://github.com/informalTechCode/RayNeo-Air-Series-3DoF-Scaffold) (Apache-2.0) and references [@verncat](https://github.com/verncat)'s [RayNeo-Air-3S-Pro-OpenVR](https://github.com/verncat/RayNeo-Air-3S-Pro-OpenVR) (MIT) and [Monado](https://gitlab.freedesktop.org/monado/monado) (BSL-1.0); see [docs/third-party/rayneo](docs/third-party/rayneo/README.md). XREAL 1S support references [XRLinuxDriver](https://github.com/wheaney/XRLinuxDriver) and [xrealOneDeviceKit](https://github.com/wheaney/xrealOneDeviceKit) by @wheaney, [xreal_one_driver](https://github.com/rohitsangwan01/xreal_one_driver) by [@rohitsangwan01](https://github.com/rohitsangwan01) (MIT) and [xr-tools](https://github.com/0xcaff/xr-tools) by [@0xcaff](https://github.com/0xcaff). Rokid support follows the Rokid protocol notes in [ar-drivers-rs](https://github.com/badicsalex/ar-drivers-rs) and @badicsalex's [Void Computing write-ups](https://voidcomputing.hu/blog/worse-better-prettier/), and [Monado](https://gitlab.freedesktop.org/monado/monado)'s Rokid driver. The REDMAGIC glasses-display findings draw on [@mekhontsev](https://github.com/mekhontsev)'s [MagicDesk investigation](https://github.com/mekhontsev/magicdesk/blob/main/docs/xr-resolution-fix.md) and [@Coding-BR](https://github.com/Coding-BR)'s [decompiled Nubia kernel](https://github.com/Coding-BR/android_kernel_nubia_sm8850_qwjujube). VITURE, RayNeo, XREAL, Rokid and REDMAGIC are trademarks of their owners; this project is not affiliated with them. diff --git a/docs/third-party/malibridge/README.md b/docs/third-party/malibridge/README.md index f9cf4117c..97882e8a6 100644 --- a/docs/third-party/malibridge/README.md +++ b/docs/third-party/malibridge/README.md @@ -3,8 +3,8 @@ MaliBridge by ASEbrahim: https://github.com/ASEbrahim/MaliBridge (GPL-3.0-or-later with the additional terms in NOTICE here, copied unchanged from the project). -DroidDeck builds MaliBridge from the `external/MaliBridge` submodule, pinned at 669e668 -(v0.5.3.1) and not modified. Its Vulkan ICD runs inside the Linux runtime and forwards each call +DroidDeck builds MaliBridge from the `external/MaliBridge` submodule, pinned at 48477fe +(v0.5.4) and not modified. Its Vulkan ICD runs inside the Linux runtime and forwards each call over a Unix socket to its server, which runs in the app on the phone's own Vulkan driver. DroidDeck uses it only on a GPU without Adreno's KGSL; an Adreno keeps Turnip. @@ -17,6 +17,7 @@ this repository's history. MaliBridge's own credits, in its README, include: - Vulkan-Headers 1.4.341 (Khronos Group), Apache-2.0 OR MIT: https://github.com/KhronosGroup/Vulkan-Headers +- Arm's HWCPipe (MIT), whose counter layouts its GPU counter reader follows: https://github.com/ARM-software/HWCPipe - bcdec by Sergii Kudlai, MIT or Unlicense: https://github.com/iOrange/bcdec - etc2_encode by Lee Gao, MIT: https://github.com/leegao/etc2_encode - Lee Gao's Mali findings and SPIRV-Tools MaliOptimizationBarrierPass (Apache-2.0): diff --git a/external/MaliBridge b/external/MaliBridge index 669e668cf..48477fe6c 160000 --- a/external/MaliBridge +++ b/external/MaliBridge @@ -1 +1 @@ -Subproject commit 669e668cf4a380757dd532d991a35673307a70c3 +Subproject commit 48477fe6c4eb550dccc08ade257240abedabd848 From 018d0e1db933af4757a85a836a79c9b171f1da45 Mon Sep 17 00:00:00 2001 From: K11MCH1 <81425424+K11MCH1@users.noreply.github.com> Date: Tue, 27 Oct 2026 11:20:06 +0900 Subject: [PATCH 20/38] Steam UI on the Mali bridge: gamescope composites every frame Through the Mali bridge the Steam UI flickered: frames alternated with and without its footer while gamescope handed its layers to the phone's compositor as separate planes. Turning gamescope's overlay planes off nearly stopped it (2 flips), and a composited image has none (Mali-G76 MC4 r26p0 at rest: 145 footer flips in 6 s, 0 composited). Where in the plane path it goes wrong is not known. Steam sessions on the bridge set gamescope_composite_force=1 unless it is already set. --- tools/linuxfs/overlay/usr/local/bin/droiddeck-session | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index b91057000..0038778d4 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -307,6 +307,13 @@ if [ -z "${BL_INSIDE:-}" ]; then if [ "$mode" = steam ] && [ "${BL_CURSOR_COMPOSITE:-0}" = 1 ]; then export gamescope_cursor_composite=2 fi + # Through the Mali bridge, Steam's UI flickered while gamescope handed its layers to the phone's + # compositor as separate planes, for a reason not yet found; one composited image does not + # (Mali-G76 MC4: 145 footer flips in 6 s at rest, 0 composited). + if [ "$mode" = steam ] && [ "${BL_VKBRIDGE:-0}" = 1 ] && [ -z "${gamescope_composite_force:-}" ]; then + export gamescope_composite_force=1 + echo "== gamescope: composites every frame (Mali bridge: the Steam UI flickers on separate planes)" + fi args=(--backend wayland --expose-wayland -f -W "$width" -H "$height" -w "$nested" -h "$nested_h") if [ "$nested" != "$width" ] || [ "$nested_h" != "$height" ]; then args+=(-S stretch) From e450765eb6419a7dc2efbe3c619d6ab2de218d0d Mon Sep 17 00:00:00 2001 From: K11MCH1 <81425424+K11MCH1@users.noreply.github.com> Date: Tue, 27 Oct 2026 11:20:06 +0900 Subject: [PATCH 21/38] Mali bridge with under 4 GB of RAM: Steam's browser UI in software On a 2.9 GB Mali-G76 MC4 phone the GPU-drawn Steam UI took about 400 MB, and Android's low-memory killer ended DroidDeck itself while The Binding of Isaac loaded; with the UI in software Isaac reached its title screen. Below 4 GB of RAM, bridge sessions now default BL_VKBRIDGE_CEF_GPU to 0; a value already set is kept. The software UI takes about a core while it animates and idles while a game has focus. --- tools/linuxfs/overlay/usr/local/bin/droiddeck-session | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index 0038778d4..1e67b14d6 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -1039,6 +1039,15 @@ BUSCONF _bl_ui=(-nobigpicture) fi if [ "${BL_VKBRIDGE:-0}" = 1 ]; then + # On the GPU the Steam UI held about 400 MB through the bridge (Mali-G76 MC4, 3 GB of RAM); with + # a game loading beside it, Android's low-memory killer took the whole session down. + if [ -z "${BL_VKBRIDGE_CEF_GPU:-}" ]; then + _bl_mem_kb=$(awk '/^MemTotal:/ {print $2}' /proc/meminfo 2>/dev/null) + if [ "${_bl_mem_kb:-0}" -gt 0 ] && [ "$_bl_mem_kb" -lt 4194304 ]; then + BL_VKBRIDGE_CEF_GPU=0 + echo "== steam: $((_bl_mem_kb / 1024)) MB of RAM: the browser UI draws in software to leave games the memory" + fi + fi if [ "${BL_VKBRIDGE_CEF_GPU:-1}" = 0 ]; then _bl_cef=(-cef-disable-gpu -cef-disable-gpu-compositing) echo "== steam: browser UI in software (Mali bridge)" From 69ffc0966be9354488b5c1e18d3d3a3684189efc Mon Sep 17 00:00:00 2001 From: DroidDeck Merge Date: Sat, 31 Oct 2026 19:02:12 +0800 Subject: [PATCH 22/38] chore(mali): sync MaliBridge to v0.5.4.2 and document Mali support --- README.md | 2 +- external/MaliBridge | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a8a131da5..745508237 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ DroidDeck brings the SteamOS experience to Android: Valve's Steam client in Big ## Install -1. Android 9 or newer on Adreno 730 or newer, or any 8xx. Adreno 6xx is experimental. Mali, Xclipse, PowerVR and Adreno 710 are unsupported. No root needed. +1. Android 9 or newer. Adreno 730 or newer, or any 8xx. Adreno 6xx is experimental. Mali and Immortalis GPUs go through the MaliBridge Vulkan bridge on the phone's own driver; Xclipse, PowerVR and Adreno 710 are unsupported. No root needed. 2. About 3 GB free for the runtime, plus 1.1 GB for the desktop and emulators. 3. Install the [APK](https://github.com/Droid-Deck/DroidDeck/releases/download/0.6.7/DroidDeck-0.6.7.apk), install the Linux runtime, press **Play** and sign in to Steam. 4. On Android 14 and newer, turn on **Disable child process restrictions** in Developer options. On Android 12 and 13, Steam's first launch shows a **Fix it for me** button that walks you through it. diff --git a/external/MaliBridge b/external/MaliBridge index 48477fe6c..95a1e600a 160000 --- a/external/MaliBridge +++ b/external/MaliBridge @@ -1 +1 @@ -Subproject commit 48477fe6c4eb550dccc08ade257240abedabd848 +Subproject commit 95a1e600a51299294e06bb09db2db8cc509fe6a3 From 9419a19c66cc0cbe6d03a32b52628fa70c126f73 Mon Sep 17 00:00:00 2001 From: openMali Date: Sun, 1 Nov 2026 15:17:41 +0800 Subject: [PATCH 23/38] local: MaliBridge rc4, auto local DNS, KWin render node --- .signing.env.example | 4 +++ app/build.gradle | 3 +- .../com/droiddeck/launcher/DriverMenus.kt | 4 +-- .../droiddeck/launcher/core/DeviceReport.kt | 2 +- .../com/droiddeck/launcher/gpu/DeviceInfo.kt | 6 ++-- .../com/droiddeck/launcher/gpu/GpuInfo.kt | 12 +++++++ .../runtime/LinuxNetworkLinkComponent.kt | 26 ++++++++++++++- .../launcher/runtime/LinuxRuntime.java | 33 +++++++++++++++++-- app/src/main/res/values-zh-rCN/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ tools/linuxfs/desktop/droiddeck-desktop | 6 ++-- 11 files changed, 86 insertions(+), 14 deletions(-) create mode 100644 .signing.env.example diff --git a/.signing.env.example b/.signing.env.example new file mode 100644 index 000000000..7b497c6a7 --- /dev/null +++ b/.signing.env.example @@ -0,0 +1,4 @@ +# Copy to .signing.env, fill in, chmod 600 .signing.env +RELEASE_KEYSTORE=/path/to/release.p12 +RELEASE_STORE_PASSWORD=change-me +RELEASE_KEY_ALIAS=droiddeck diff --git a/app/build.gradle b/app/build.gradle index bcfe5ba52..4ca43011d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -219,8 +219,7 @@ android { jniLibs { useLegacyPackaging = true pickFirsts += ['**/libtermux.so'] - // Shipped in the proot and tracking packs (tools/packs) and run or loaded from there. - excludes += ['**/libproot.so', '**/libproot-loader.so', '**/libopencv_java4.so', '**/libmediapipe_tasks_jni.so'] + excludes += ['**/libopencv_java4.so', '**/libmediapipe_tasks_jni.so'] } } diff --git a/app/src/main/java/com/droiddeck/launcher/DriverMenus.kt b/app/src/main/java/com/droiddeck/launcher/DriverMenus.kt index 344aa7452..200deb55a 100644 --- a/app/src/main/java/com/droiddeck/launcher/DriverMenus.kt +++ b/app/src/main/java/com/droiddeck/launcher/DriverMenus.kt @@ -65,7 +65,7 @@ internal class DriverMenus(private val activity: Activity, private val ui: Handl } fun state() = GpuDriversState( - gpuName = gpu.displayName(activity), gpuFamily = gpu.family.label(activity), soc = gpu.soc, supportText = gpu.supportText(activity), + gpuName = gpu.displayName(activity), gpuFamily = gpu.family.label(activity), soc = gpu.soc, supportText = gpu.supportText(activity, com.droiddeck.launcher.core.DeviceSupport.vkBridge(activity)), supported = gpu.support == GpuInfo.Support.TESTED, unsupported = gpu.support == GpuInfo.Support.UNSUPPORTED, auto = mode == SessionPrefs.GPU_DRIVERS_AUTO, pairs = pairRows, busy = pairBusy, percent = pairPercent, autoStatus = autoStatus, releaseStatus = releaseStatus.ifEmpty { activity.getString(R.string.drivers_not_checked) }, checking = releaseChecking, @@ -264,7 +264,7 @@ internal class DriverMenus(private val activity: Activity, private val ui: Handl return } if (DriverPairs.recommendedKey(gpu, emptyList()) == null) { - autoStatus = activity.getString(R.string.drivers_none_to_set, gpu.supportText(activity).lowercase()) + autoStatus = activity.getString(R.string.drivers_none_to_set, gpu.supportText(activity, com.droiddeck.launcher.core.DeviceSupport.vkBridge(activity)).lowercase()) return } releaseChecking = true diff --git a/app/src/main/java/com/droiddeck/launcher/core/DeviceReport.kt b/app/src/main/java/com/droiddeck/launcher/core/DeviceReport.kt index 4163eb4a3..295604411 100644 --- a/app/src/main/java/com/droiddeck/launcher/core/DeviceReport.kt +++ b/app/src/main/java/com/droiddeck/launcher/core/DeviceReport.kt @@ -209,7 +209,7 @@ object DeviceReport { h("Drivers") val gpu = com.droiddeck.launcher.gpu.GpuInfo.detect() - k("GPU", "${gpu.name} · ${gpu.family.label} · ${gpu.supportText}" + if (gpu.oneUi8Gen2) " · One UI 8 Gen 2" else "") + k("GPU", "${gpu.name} · ${gpu.family.label} · ${gpu.supportText(SessionPrefs.vkBridge(context))}" + if (gpu.oneUi8Gen2) " · One UI 8 Gen 2" else "") if (gpu.model == 740) { val hint = com.droiddeck.launcher.gpu.TpUbwcHint k("TP UBWC hint", hint.forThisDevice(context) ?: "driver default") diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/DeviceInfo.kt b/app/src/main/java/com/droiddeck/launcher/gpu/DeviceInfo.kt index 9a5fb1182..2d9aab902 100644 --- a/app/src/main/java/com/droiddeck/launcher/gpu/DeviceInfo.kt +++ b/app/src/main/java/com/droiddeck/launcher/gpu/DeviceInfo.kt @@ -16,7 +16,7 @@ object DeviceInfo { val vk = VulkanInfo.query() val gpu = GpuInfo.detect() return listOf( - chip(), gpu(gpu), cpu(), memory(context), system(), vulkan(context, vk), drivers(context, gpu), + chip(), gpu(context, gpu), cpu(), memory(context), system(), vulkan(context, vk), drivers(context, gpu), ).filter { it.rows.isNotEmpty() } } @@ -51,7 +51,7 @@ object DeviceInfo { add("Family", read("/sys/devices/soc0/family")) }) - private fun gpu(gpu: GpuInfo) = Section("GPU", buildList> { + private fun gpu(context: Context, gpu: GpuInfo) = Section("GPU", buildList> { add("GPU", gpu.name) add("Family", gpu.family.label) add("Model found from", when (gpu.modelSource) { @@ -66,7 +66,7 @@ object DeviceInfo { add("Clock range", gpuRange()) add("Load", read("$kgsl/gpu_busy_percentage")?.let { if (it.endsWith("%")) it else "$it %" }) add("Temperature", read("$kgsl/temp")?.toLongOrNull()?.let { if (it > 1000) "${it / 1000} °C" else "$it °C" }) - add("Support", gpu.supportText) + add("Support", gpu.supportText(SessionPrefs.vkBridge(context))) }) private fun cpu() = Section("CPU", buildList> { diff --git a/app/src/main/java/com/droiddeck/launcher/gpu/GpuInfo.kt b/app/src/main/java/com/droiddeck/launcher/gpu/GpuInfo.kt index c137e666f..9b0a1897e 100644 --- a/app/src/main/java/com/droiddeck/launcher/gpu/GpuInfo.kt +++ b/app/src/main/java/com/droiddeck/launcher/gpu/GpuInfo.kt @@ -53,6 +53,18 @@ data class GpuInfo( Support.UNSUPPORTED -> "Not supported: DroidDeck needs an Adreno (Snapdragon) GPU" } + fun supportText(bridge: Boolean): String = when { + support != Support.UNSUPPORTED -> supportText + bridge -> "Runs through the Mali bridge, on the phone's own Vulkan driver" + else -> "Not supported with the Mali bridge off: Turnip needs an Adreno (Snapdragon) GPU" + } + + fun supportText(context: Context, bridge: Boolean): String = when { + support != Support.UNSUPPORTED -> supportText(context) + bridge -> context.getString(R.string.gpuinfo_bridge) + else -> context.getString(R.string.gpuinfo_bridge_off) + } + fun supportText(context: Context): String = context.getString(when (support) { Support.TESTED -> R.string.gpuinfo_supported Support.UNTESTED -> when { diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt index 45f07471b..d16a372ac 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt @@ -251,12 +251,36 @@ class LinuxNetworkLinkComponent( } } + private fun localDnsServers(): List { + val servers = LinkedHashSet() + for (network in connectivity.allNetworks) { + val capabilities = connectivity.getNetworkCapabilities(network) ?: continue + if (!capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) continue + if (!capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) && + !capabilities.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET)) continue + val link = connectivity.getLinkProperties(network) ?: continue + for (address in link.dnsServers) { + if (address.isLinkLocalAddress || address.isLoopbackAddress || address.isAnyLocalAddress) continue + address.hostAddress?.substringBefore('%')?.let { servers.add(it) } + } + link.routes.firstOrNull { it.isDefaultRoute }?.gateway?.let { gateway -> + if (gateway is Inet4Address && !gateway.isLoopbackAddress && !gateway.isAnyLocalAddress) { + gateway.hostAddress?.substringBefore('%')?.let { servers.add(it) } + } + } + } + return servers.sortedWith(compareBy( + { if (it.startsWith("192.168.") || it.startsWith("10.")) 0 else 1 }, + { if (it.contains(':')) 1 else 0 }, + )).take(6) + } + private fun writeResolver(properties: LinkProperties?) { val own = properties?.dnsServers.orEmpty() .filter { !it.isLinkLocalAddress && !it.isLoopbackAddress && !it.isAnyLocalAddress } .sortedBy { if (it is Inet4Address) 0 else 1 } .mapNotNull { it.hostAddress?.substringBefore('%') } - val servers = (own + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888")).distinct().take(6) + val servers = (localDnsServers() + own + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888")).distinct().take(6) val text = buildString { append("# Written by the app from the device's active network; edits are overwritten.\n") for (server in servers) append("nameserver $server\n") diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java index 3c8d90e59..4448c3bc8 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java @@ -65,6 +65,7 @@ public final class LinuxRuntime { private static final String HOST_DIR = "opt/android-host"; /** The downloaded add-on pack. The APK does not ship this binary. */ public static final String PROOT_PACK = "add-on pack"; + public static final String PROOT_PACKAGED = "packaged"; /** Termux's unpatched proot inside the rootfs. Developer switch only. */ public static final String PROOT_ROOTFS = "rootfs fallback"; public static final String PROOT_MISSING = "missing"; @@ -81,18 +82,32 @@ public final class LinuxRuntime { return rootfsProot(context).isFile() && rootfsLoader(context).isFile(); } + private static File packagedProot(Context context) { + return new File(context.getApplicationInfo().nativeLibraryDir, "libproot.so"); + } + + private static File packagedLoader(Context context) { + return new File(context.getApplicationInfo().nativeLibraryDir, "libproot-loader.so"); + } + + private static boolean packagedProotReady(Context context) { + return packagedProot(context).isFile() && packagedLoader(context).isFile(); + } + /** Patched proot is the add-on pack. The rootfs copy is not that binary. */ public static boolean patchedProot(Context context) { return AddonPack.PROOT.installed(context); } public static File prootBinary(Context context) { + if (packagedProotReady(context)) return packagedProot(context); if (AddonPack.PROOT.installed(context)) return AddonPack.PROOT.file(context, "libproot.so"); if (SessionPrefs.allowStockProot(context)) return rootfsProot(context); return AddonPack.PROOT.file(context, "libproot.so"); } public static File prootLoader(Context context) { + if (packagedProotReady(context)) return packagedLoader(context); if (AddonPack.PROOT.installed(context)) return AddonPack.PROOT.file(context, "libproot-loader.so"); if (SessionPrefs.allowStockProot(context)) return rootfsLoader(context); return AddonPack.PROOT.file(context, "libproot-loader.so"); @@ -102,6 +117,8 @@ public final class LinuxRuntime { public static String prootSource(Context context) { File bin = prootBinary(context); if (!bin.isFile()) return PROOT_MISSING; + if (packagedProotReady(context) + && bin.getPath().equals(packagedProot(context).getPath())) return PROOT_PACKAGED; if (AddonPack.PROOT.installed(context) && bin.getPath().equals(AddonPack.PROOT.file(context, "libproot.so").getPath())) return PROOT_PACK; return PROOT_ROOTFS; @@ -113,7 +130,7 @@ public final class LinuxRuntime { } public static boolean isInstalled(Context context) { - return hasRootfs(context) && (patchedProot(context) || rootfsProotReady(context)); + return hasRootfs(context) && (packagedProotReady(context) || patchedProot(context) || rootfsProotReady(context)); } /** The rootfs alone: enough to read the game library, while the proot pack can still be downloading. */ @@ -284,11 +301,21 @@ public final class LinuxRuntime { return false; } - private static final String MALI_DEVICE = "/dev/mali0"; + static final String MALI_DEVICE = "/dev/mali0"; + + static final String[] DRM_RENDER_NODES = { + "/dev/dri/renderD128", "/dev/dri/renderD129", "/dev/dri/renderD130", "/dev/dri/renderD131", + }; public static String gpuStandIn(Context context) { if (new File(KGSL_DEVICE).exists()) return KGSL_DEVICE; - if (com.droiddeck.launcher.core.DeviceSupport.INSTANCE.vkBridge(context) && new File(MALI_DEVICE).exists()) return MALI_DEVICE; + if (!com.droiddeck.launcher.core.DeviceSupport.INSTANCE.vkBridge(context)) return null; + return bridgeStandIn(path -> new File(path).exists()); + } + + static String bridgeStandIn(java.util.function.Predicate exists) { + if (exists.test(MALI_DEVICE)) return MALI_DEVICE; + for (String node : DRM_RENDER_NODES) if (exists.test(node)) return node; return null; } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 7255a85bd..306174dae 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -2032,6 +2032,8 @@ Adreno 850 实验支持:需要配套的实验版显示驱动和游戏驱动;尚未在此设备上验证 低于已测试的硬件(Adreno 725 及更新):可能无法运行 不受支持:DroidDeck 需要 Adreno(骁龙)GPU + 通过 Mali 桥接运行,使用手机自带的 Vulkan 驱动 + 关闭 Mali 桥接时不受支持:Turnip 需要 Adreno(骁龙)GPU 已达到 GitHub 的请求频率限制 — 请稍后重试 GitHub 返回 HTTP %1$d diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1f12625f2..4356f7f0c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2111,6 +2111,8 @@ Experimental Adreno 850 support: requires compatible experimental display and game drivers; not verified on this device Below tested hardware (Adreno 725 and newer): it may not run Not supported: DroidDeck needs an Adreno (Snapdragon) GPU + Runs through the Mali bridge, on the phone\'s own Vulkan driver + Not supported with the Mali bridge off: Turnip needs an Adreno (Snapdragon) GPU GitHub\'s rate limit was hit - try again later GitHub answered HTTP %1$d diff --git a/tools/linuxfs/desktop/droiddeck-desktop b/tools/linuxfs/desktop/droiddeck-desktop index 30e95c70e..15c5b3773 100644 --- a/tools/linuxfs/desktop/droiddeck-desktop +++ b/tools/linuxfs/desktop/droiddeck-desktop @@ -107,8 +107,10 @@ fi if [ "$(cat /usr/share/droiddeck/kwin-compositor 2>/dev/null)" = opengl ]; then unset LIBGL_ALWAYS_SOFTWARE QT_QUICK_BACKEND export KWIN_COMPOSE=O2 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink LIBGL_KOPPER_DRI2=true - if [ -z "${KWIN_RENDER_NODES:-}" ] && [ -c /dev/dri/renderD0 ]; then - export KWIN_RENDER_NODES=/dev/dri/renderD0 + if [ -z "${KWIN_RENDER_NODES:-}" ]; then + for node in /dev/dri/renderD0 /dev/dri/renderD307 /dev/dri/renderD*; do + if [ -c "$node" ]; then export KWIN_RENDER_NODES="$node"; break; fi + done fi mkdir -p /run/droiddeck/kwin printf '#!/bin/sh\nGALLIUM_THREAD=0 exec /usr/bin/kwin_wayland "$@"\n' > /run/droiddeck/kwin/kwin_wayland From 234b1373286ca1ade393a3eeb43013d47de4d5d8 Mon Sep 17 00:00:00 2001 From: openMali Date: Sun, 1 Nov 2026 15:57:32 +0800 Subject: [PATCH 24/38] local: show GPU via Mali bridge in Setup --- app/build.gradle | 4 ++-- .../main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt | 9 +++++---- app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4ca43011d..55e216f51 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -134,8 +134,8 @@ android { applicationId "com.droiddeck.launcher" minSdkVersion 26 targetSdkVersion 28 - versionCode 16 - versionName "0.6.7" + versionCode 19 + versionName "0.6.7-dnsfix" buildConfigField "String", "BUILD_LABEL", "\"${escapedBuildLabel}\"" buildConfigField "String", "SOURCE_COMMIT", "\"${sourceCommit}\"" buildConfigField "int", "PR_NUMBER", "${prNumber}" diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt index 753c16314..8dff4375f 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt @@ -170,7 +170,7 @@ internal fun SetupPanel( val colors = MaterialTheme.colorScheme val pal = LocalPalette.current val gpu = remember { com.droiddeck.launcher.gpu.GpuInfo.detect() } - val gpuOk = gpu.support == com.droiddeck.launcher.gpu.GpuInfo.Support.TESTED + val gpuOk = gpu.support == com.droiddeck.launcher.gpu.GpuInfo.Support.TESTED || s.vkBridge val gpuName = remember { DeviceSupport.gpuName(ctx) } val limitBlocks = PhantomProcessLimit.blocksSteam(s.phantomProcessStatus) val signedIn = s.offlineAccount != null @@ -236,9 +236,10 @@ internal fun SetupPanel( val gpuCheck: @Composable (Boolean) -> Unit = { divider -> CheckRow( if (gpuOk) CheckState.OK else CheckState.WARN, - when (gpu.support) { - com.droiddeck.launcher.gpu.GpuInfo.Support.TESTED -> stringResource(R.string.setup_gpu_supported) - com.droiddeck.launcher.gpu.GpuInfo.Support.UNTESTED -> stringResource(R.string.setup_gpu_untested) + when { + gpu.support == com.droiddeck.launcher.gpu.GpuInfo.Support.TESTED -> stringResource(R.string.setup_gpu_supported) + gpu.support == com.droiddeck.launcher.gpu.GpuInfo.Support.UNTESTED -> stringResource(R.string.setup_gpu_untested) + s.vkBridge -> stringResource(R.string.setup_gpu_bridged) else -> stringResource(R.string.setup_gpu_unsupported) }, when (gpu.support) { diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 306174dae..87b648815 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -786,6 +786,7 @@ 设备受支持 未经测试的 GPU GPU 不受支持 + GPU 通过 Mali 桥接 %1$s · %2$s %1$s:%2$s Steam 需要 Adreno 驱动;%1$s 可能显示黑屏 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4356f7f0c..86b9c7299 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -851,6 +851,7 @@ Device supported Untested GPU GPU not supported + GPU via Mali bridge %1$s · %2$s %1$s: %2$s Steam needs an Adreno driver; %1$s may show a black screen From a3d76b9a9407bb8038747c15333954eb752b6879 Mon Sep 17 00:00:00 2001 From: openMali Date: Sun, 1 Nov 2026 16:03:31 +0800 Subject: [PATCH 25/38] local: keep GPU bridge row visible after data clear --- app/build.gradle | 2 +- app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 55e216f51..1f4d02ca9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -134,7 +134,7 @@ android { applicationId "com.droiddeck.launcher" minSdkVersion 26 targetSdkVersion 28 - versionCode 19 + versionCode 20 versionName "0.6.7-dnsfix" buildConfigField "String", "BUILD_LABEL", "\"${escapedBuildLabel}\"" buildConfigField "String", "SOURCE_COMMIT", "\"${sourceCommit}\"" diff --git a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt index 8dff4375f..c696ff615 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/FrontEndSetup.kt @@ -219,7 +219,7 @@ internal fun SetupPanel( val runtimeOk = s.ready && !s.busy && !s.removalPending val checks = listOf(gpuOk, runtimeOk, !limitBlocks, signedIn) val passing = checks.count { it } - var showChecks by rememberSaveable { mutableStateOf(false) } + var showChecks by rememberSaveable { mutableStateOf(s.vkBridge) } Rise(0, Modifier.fillMaxSize()) { Column( modifier = Modifier.fillMaxSize().bumpers( From e31a6eef1838aa83c2e29d86991c967b78870e82 Mon Sep 17 00:00:00 2001 From: openMali Date: Sun, 1 Nov 2026 17:24:06 +0800 Subject: [PATCH 26/38] local: hide unreadable Mali HUD GPU metrics --- app/build.gradle | 2 +- .../com/droiddeck/launcher/hud/DroidDeckHudView.kt | 11 +++++++---- .../java/com/droiddeck/launcher/hud/MangoReadings.kt | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 1f4d02ca9..a4b037b5c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -134,7 +134,7 @@ android { applicationId "com.droiddeck.launcher" minSdkVersion 26 targetSdkVersion 28 - versionCode 20 + versionCode 21 versionName "0.6.7-dnsfix" buildConfigField "String", "BUILD_LABEL", "\"${escapedBuildLabel}\"" buildConfigField "String", "SOURCE_COMMIT", "\"${sourceCommit}\"" diff --git a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt index a60846ad7..eec914248 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt @@ -741,6 +741,9 @@ class DroidDeckHudView(context: Context) : View(context) { contentW = max(contentW, pad + w + pad) } + private fun hasGpuStats(s: HudMetrics.Snapshot): Boolean = + s.gpuPercent != null || s.gpuTempC != null || s.gpuClockMhz != null + private fun buildFull(s: HudMetrics.Snapshot) { val rowPx = sp(12f); val unitPx = rowPx * 0.62f val pad = sp(10f); val lineGap = sp(4f); val lvGap = sp(8f) @@ -752,7 +755,7 @@ class DroidDeckHudView(context: Context) : View(context) { rows.add(HudRow(Span("DISP", colDisp, rowPx), listOf(Span(displayServer, colValue, rowPx)))) if (hdrState != DroidDeckHudHdr.NONE) rows.add(HudRow(Span("HDR", colHdr, rowPx), hdrValue(rowPx))) - if (showGPU) { + if (showGPU && hasGpuStats(s)) { val v = ArrayList() v += numUnit(s.gpuPercent?.toString(), "%", rowPx, unitPx) if (showGpuTemp) tempSpans(s.gpuTempC, HudMetrics.TempSensor.GPU, rowPx, unitPx) @@ -846,7 +849,7 @@ class DroidDeckHudView(context: Context) : View(context) { "${fmt1(fpsAvg)} avg · ${lowText(lows.low1Fps) ?: "—"} 1%", false)) if (showFPS) tiles.add(Tile("FRAME", colDim, numUnit(fmt1(1000f / max(fpsNow, 1f)), "ms", valPx, unitPx), "${fmt1(graphMinMs)} – ${fmt1(graphMaxMs)}", false)) - if (showGPU) tiles.add(Tile("GPU", colGpu, numUnit(s.gpuPercent?.toString(), "%", valPx, unitPx), + if (showGPU && hasGpuStats(s)) tiles.add(Tile("GPU", colGpu, numUnit(s.gpuPercent?.toString(), "%", valPx, unitPx), if (showGpuTemp && s.gpuTempC != null) HudMetrics.formatTemp(s.gpuTempC.toFloat(), tempDisplay, false) else s.gpuClockMhz?.let { "${it}MHz" }, false)) if (showCPU) tiles.add(Tile("CPU", colCpu, numUnit(s.cpuPercent?.toString(), "%", valPx, unitPx), @@ -938,7 +941,7 @@ class DroidDeckHudView(context: Context) : View(context) { val gpuName = if (showGpuModel && gpuNameText().isNotBlank()) gpuModelSpans(stkPx, colDim, compact = true) else null run { val l = ArrayList() - if (showGPU) { l += Span("GPU ${s.gpuPercent ?: "—"}%", colGpu, stkPx) } + if (showGPU && s.gpuPercent != null) { l += Span("GPU ${s.gpuPercent}%", colGpu, stkPx) } if (showCPU) { if (l.isNotEmpty()) l += Span(" · ", colDim, stkPx); l += Span("CPU ${s.cpuPercent ?: "—"}%", colCpu, stkPx) } if (l.isNotEmpty()) stack.add(l) } @@ -1133,7 +1136,7 @@ class DroidDeckHudView(context: Context) : View(context) { val left = ArrayList() if (showGpuModel && gpuNameText().isNotBlank()) left.add(HudRow(Span("GPU", colGpu, rowPx), gpuModelSpans(rowPx, colValue))) - if (showGPU) { + if (showGPU && hasGpuStats(s)) { val v = ArrayList() v += numUnit(s.gpuPercent?.toString(), "%", rowPx, unitPx) if (showGpuTemp) tempSpans(s.gpuTempC, HudMetrics.TempSensor.GPU, rowPx, unitPx) diff --git a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt index 828bcc0f5..a91cff5c3 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt @@ -103,7 +103,7 @@ internal class MangoReadings(private val sessionDir: File, private val rootDir: } /** The KGSL total DroidDeck shares with the session (GpuMemComponent). */ - fun vramBytes(): Long? = fresh(File(rootDir, VRAM_FILE), VRAM_FRESH_MS)?.let(::readLong) + fun vramBytes(): Long? = fresh(File(rootDir, VRAM_FILE), VRAM_FRESH_MS)?.let(::readLong)?.takeIf { it > 0 } /** BAT* under the session's power_supply (BatteryComponent): no watts while charging, full or unknown. */ fun battery(): Battery? { From 6d4961f7b63270b031338be677202a9484c5f46f Mon Sep 17 00:00:00 2001 From: openMali Date: Sun, 1 Nov 2026 17:32:51 +0800 Subject: [PATCH 27/38] local: session resolution and desktop HUD visibility --- app/build.gradle | 2 +- .../launcher/hud/DroidDeckHudHost.kt | 22 +++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index a4b037b5c..ac21ba906 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -134,7 +134,7 @@ android { applicationId "com.droiddeck.launcher" minSdkVersion 26 targetSdkVersion 28 - versionCode 21 + versionCode 22 versionName "0.6.7-dnsfix" buildConfigField "String", "BUILD_LABEL", "\"${escapedBuildLabel}\"" buildConfigField "String", "SOURCE_COMMIT", "\"${sourceCommit}\"" diff --git a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt index 07ed74843..fd0ed7e77 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt @@ -12,7 +12,10 @@ import android.widget.FrameLayout import com.droiddeck.launcher.gpu.FrameGen import com.droiddeck.launcher.gpu.GpuInfo import com.droiddeck.launcher.runtime.LinuxRuntime +import com.droiddeck.launcher.session.SessionDisplay import com.droiddeck.launcher.session.SessionPrefs +import com.droiddeck.launcher.session.SessionService +import com.droiddeck.launcher.session.SessionState import com.droiddeck.launcher.ui.Motion import com.droiddeck.launcher.wayland.WaylandCompositor import java.io.File @@ -54,7 +57,10 @@ class DroidDeckHudHost(context: Context) { if (!gpuName.isNullOrBlank()) handler.post { this@DroidDeckHudHost.gpuName = cleanGpuName(gpuName) } if (window != null && window != lastWindow) { lastWindow = window - handler.post { onPresentingWindowChanged?.invoke() } + handler.post { + onPresentingWindowChanged?.invoke() + applyShown() + } } } @@ -154,7 +160,7 @@ class DroidDeckHudHost(context: Context) { private fun applyShown() { if (!running) return - val show = !hidden && !backgrounded + val show = !hidden && !backgrounded && SessionState.mode != SessionService.MODE_DESKTOP view?.visibility = if (show) View.VISIBLE else View.GONE showing = show // Frames are read once per display frame only while the HUD is drawn. @@ -188,14 +194,22 @@ class DroidDeckHudHost(context: Context) { file }.getOrNull() + private fun sessionResolution(): String { + val panel = SessionDisplay.panelSize(context) + val choice = SessionPrefs.resolutionChoice(context, SessionState.mode, panel) + val (width, height) = SessionDisplay.resolveChoice(panel, choice) + return "${width}x${height}" + } + private fun refreshLabels(hud: DroidDeckHudView) { if (feed.engine.isNotBlank() && !feed.steamFocused) engine = feed.engine hud.setEngineLabel(engine) if (gpuName.isNotBlank()) hud.setGpuModel(gpuName) - hud.setResolution(if (feed.outputWidth > 0 && feed.outputHeight > 0) buildString { + val feedResolution = if (feed.outputWidth > 0 && feed.outputHeight > 0) buildString { append(feed.outputWidth).append('x').append(feed.outputHeight) if (feed.refreshMilliHz > 0) append(" @ ").append((feed.refreshMilliHz + 499) / 1000).append("Hz") - } else "") + } else "" + hud.setResolution(feedResolution.ifBlank { sessionResolution() }) val pid = feed.pid if (pid > 0 && pid != protonPid) { protonPid = pid From e97e6b29dfbcf221e36abbbff5fc88f5c2f0caef Mon Sep 17 00:00:00 2001 From: openMali Date: Sun, 1 Nov 2026 17:54:04 +0800 Subject: [PATCH 28/38] local: CPU clock before temperature in HUD --- app/build.gradle | 2 +- .../java/com/droiddeck/launcher/hud/DroidDeckHudView.kt | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ac21ba906..2eeb282f2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -134,7 +134,7 @@ android { applicationId "com.droiddeck.launcher" minSdkVersion 26 targetSdkVersion 28 - versionCode 22 + versionCode 24 versionName "0.6.7-dnsfix" buildConfigField "String", "BUILD_LABEL", "\"${escapedBuildLabel}\"" buildConfigField "String", "SOURCE_COMMIT", "\"${sourceCommit}\"" diff --git a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt index eec914248..b6e7bbf07 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudView.kt @@ -766,9 +766,9 @@ class DroidDeckHudView(context: Context) : View(context) { if (showCPU) { val v = ArrayList() v += numUnit(s.cpuPercent?.toString(), "%", rowPx, unitPx) + v += gap(unitPx); v += numUnit(s.cpuClockMhz?.toString(), "MHz", rowPx, unitPx) if (showCpuTemp) tempSpans(s.cpuTempC, HudMetrics.TempSensor.CPU, rowPx, unitPx) .let { if (it.isNotEmpty()) { v += gap(unitPx); v += it } } - v += gap(unitPx); v += numUnit(s.cpuClockMhz?.toString(), "MHz", rowPx, unitPx) rows.add(HudRow(Span("CPU", colCpu, rowPx), v)) } if (showVram && s.vramText() != null) @@ -853,8 +853,9 @@ class DroidDeckHudView(context: Context) : View(context) { if (showGpuTemp && s.gpuTempC != null) HudMetrics.formatTemp(s.gpuTempC.toFloat(), tempDisplay, false) else s.gpuClockMhz?.let { "${it}MHz" }, false)) if (showCPU) tiles.add(Tile("CPU", colCpu, numUnit(s.cpuPercent?.toString(), "%", valPx, unitPx), - listOfNotNull(if (showCpuTemp) s.cpuTempC?.let { HudMetrics.formatTemp(it.toFloat(), tempDisplay, false) } else null, - s.cpuClockMhz?.toString()).joinToString(" · ").ifBlank { null }, false)) + listOfNotNull(s.cpuClockMhz?.let { "${it}MHz" }, + if (showCpuTemp) s.cpuTempC?.let { HudMetrics.formatTemp(it.toFloat(), tempDisplay, false) } else null) + .joinToString(" · ").ifBlank { null }, false)) if (showVram && s.vramText() != null) tiles.add(Tile("VRAM", colVram, valueUnit(s.vramText()!!, valPx, unitPx), null, false)) if (showRAM) tiles.add(Tile("RAM", colRam, numUnit(s.ramPercent.roundToInt().toString(), "%", valPx, unitPx), "${s.ramUsedText()} / ${s.ramTotalText()}", false)) @@ -1147,9 +1148,9 @@ class DroidDeckHudView(context: Context) : View(context) { if (showCPU) { val v = ArrayList() v += numUnit(s.cpuPercent?.toString(), "%", rowPx, unitPx) + v += gap(unitPx); v += numUnit(s.cpuClockMhz?.toString(), "MHz", rowPx, unitPx) if (showCpuTemp) tempSpans(s.cpuTempC, HudMetrics.TempSensor.CPU, rowPx, unitPx) .let { if (it.isNotEmpty()) { v += gap(unitPx); v += it } } - v += gap(unitPx); v += numUnit(s.cpuClockMhz?.toString(), "MHz", rowPx, unitPx) left.add(HudRow(Span("CPU", colCpu, rowPx), v)) } if (showPerCore) { From 65e2c55e9bef0f546f8d7c19641cdc3ebc52b164 Mon Sep 17 00:00:00 2001 From: DroidDeck Merge Date: Sun, 1 Nov 2026 18:20:40 +0800 Subject: [PATCH 29/38] fix: fall back to builtin mscoree when dotnet40 has no native --- tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents | 6 +++++- tools/tests/test_wincomponents.py | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents b/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents index d98e6d66a..02d66bca3 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents @@ -649,7 +649,11 @@ def overrides_value(names): name = name.strip().lower() if name and re.fullmatch(r"[a-z0-9._-]+", name) and re.fullmatch(r"[nb,]*", mode): modes.pop(name, None) - modes[name] = mode if "=" in entry else "n,b" + mode = mode if "=" in entry else "n,b" + # dotnet40 has no native mscoree.dll; native-only would hide Wine's loader and fail IL-only apps. + if name == "mscoree" and mode == "n": + mode = "n,b" + modes[name] = mode return ";".join("%s=%s" % item for item in modes.items()) diff --git a/tools/tests/test_wincomponents.py b/tools/tests/test_wincomponents.py index d7686ebf1..ee4f250c7 100644 --- a/tools/tests/test_wincomponents.py +++ b/tools/tests/test_wincomponents.py @@ -261,6 +261,7 @@ class WinComponentsTest(unittest.TestCase): def test_overrides_value_last_word_wins_and_refuses_junk(self): self.assertEqual(MODULE["overrides_value"](["a", "b=n", "a=b", "bad;name", "c=x"]), "b=n;a=b") + self.assertEqual(MODULE["overrides_value"](["mscoree=n"]), "mscoree=n,b") class PendingWaitTest(unittest.TestCase): From 22a806d05a9e038ed66d99033da739a3411c367d Mon Sep 17 00:00:00 2001 From: DroidDeck Merge Date: Sun, 1 Nov 2026 18:22:54 +0800 Subject: [PATCH 30/38] local: CPU temperature fallback from adb feeder --- .../java/com/droiddeck/launcher/hud/MangoReadings.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt index a91cff5c3..116eac8ca 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt @@ -1,7 +1,9 @@ package com.droiddeck.launcher.hud +import android.os.Environment import com.droiddeck.launcher.runtime.LinuxRuntime import java.io.File +import kotlin.math.roundToInt /** * The readings Steam's performance overlay shows in a DroidDeck session (Valve's mangohud 20260902.1, @@ -57,6 +59,7 @@ internal class MangoReadings(private val sessionDir: File, private val rootDir: /** Average of the zones the session types cpuN-thermal, truncated. */ fun cpuTempC(): Int? { + externalCpuTemp()?.let { return it } var sum = 0f var count = 0 for (zone in LinuxRuntime.cpuTempZones()) { @@ -67,6 +70,13 @@ internal class MangoReadings(private val sessionDir: File, private val rootDir: return if (count == 0) null else (sum / count).toInt() } + /** Optional ADB helper feed: /sdcard/DroidDeck/cpu-temp, refreshed by tools/update_cpu_temp.sh. */ + private fun externalCpuTemp(): Int? { + val file = File(Environment.getExternalStorageDirectory(), "DroidDeck/cpu-temp") + if (!file.isFile || System.currentTimeMillis() - file.lastModified() > CPU_TEMP_FRESH_MS) return null + return readFloat(file)?.roundToInt()?.takeIf { it in -20..150 } + } + fun gpuPercent(): Int? { val feed = fresh(File(sessionDir, "sys/kgsl-3d0/perf_now")) val source = feed ?: LinuxRuntime.gpuLoadSource()?.let(::File) ?: return null @@ -144,6 +154,7 @@ internal class MangoReadings(private val sessionDir: File, private val rootDir: const val VRAM_FILE = "run/droiddeck-hud/gpu-mem" private const val FEED_FRESH_MS = 10_000L private const val VRAM_FRESH_MS = 15_000L + private const val CPU_TEMP_FRESH_MS = 10_000L private val WHITESPACE = Regex("\\s+") private fun readLong(file: File): Long? = runCatching { file.readText().trim().toLong() }.getOrNull() From ddfc94d7ce1d990994edf37b898e722c460603cf Mon Sep 17 00:00:00 2001 From: DroidDeck Merge Date: Sun, 1 Nov 2026 18:29:08 +0800 Subject: [PATCH 31/38] local: version 25 with mscoree fallback --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 2eeb282f2..fb5f81bf6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -134,8 +134,8 @@ android { applicationId "com.droiddeck.launcher" minSdkVersion 26 targetSdkVersion 28 - versionCode 24 - versionName "0.6.7-dnsfix" + versionCode 25 + versionName "0.6.7-dnsfix-v25" buildConfigField "String", "BUILD_LABEL", "\"${escapedBuildLabel}\"" buildConfigField "String", "SOURCE_COMMIT", "\"${sourceCommit}\"" buildConfigField "int", "PR_NUMBER", "${prNumber}" From 67197aafeca3d4b18ea2f2c40619239f082e3f86 Mon Sep 17 00:00:00 2001 From: DroidDeck Merge Date: Sun, 1 Nov 2026 19:47:33 +0800 Subject: [PATCH 32/38] docs: add openMali MaliBridge v25 worklog --- docs/images/droiddeck-hud-v25-terraria.png | Bin 0 -> 1147235 bytes docs/openmali/README.md | 244 +++++++++++++++++++++ 2 files changed, 244 insertions(+) create mode 100644 docs/images/droiddeck-hud-v25-terraria.png create mode 100644 docs/openmali/README.md diff --git a/docs/images/droiddeck-hud-v25-terraria.png b/docs/images/droiddeck-hud-v25-terraria.png new file mode 100644 index 0000000000000000000000000000000000000000..2739bf59022f64c181e74691f1cb7596c58372b3 GIT binary patch literal 1147235 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

u%-PH|wEI9l72FS(=y>@iA4V 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

  • w*Wdy7%zw% z7E9R+y`oQNwz15i40s<3oNR}qDj1?da|QW?~v|

    GS~V+}M+6LL}|Snn}T+-`01N5OQk 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 z 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

    ^^S>C0dh@%jBknzV49i&`s0Z(DRTB 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

    @s6Y3mV~cD2 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

    Fa_MJ@L;D)D^rRGnkY=4Qq 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

    8ZS9^FznUw_HdTYF>cjEb% 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 literal 0 HcmV?d00001 diff --git a/docs/openmali/README.md b/docs/openmali/README.md new file mode 100644 index 000000000..7c61036d3 --- /dev/null +++ b/docs/openmali/README.md @@ -0,0 +1,244 @@ +# openMali 工作区记录 + +> 本文件记录 2026-10-31 ~ 2026-11-01 在本机与小米平板上的 MaliBridge + DroidDeck 0.6.7 合并、构建、调试和性能测试结果。 +> 这是本地工程记录,不是上游发布文档。未特别说明的 APK 均为 testkey 签名。 + +## 1. 目标与结论 + +- 目标:把 MaliBridge v0.5.4.2 的 Mali GPU 支持合并进 DroidDeck 0.6.7 主线,构建可安装 APK,并在平板上进入桌面、跑通 Steam 和性能测试。 +- 已做到: + - 0.6.7 + MaliBridge v0.5.4.2 的合并包可安装。 + - Ubuntu rc4 运行时 + 内置最新 proot + KWin Zink/Mali 桥接,成功进入 KDE 桌面。 + - Steam 客户端下载/更新 100% 完成,进入 Steam 大屏幕登录页(二维码/账号密码)。 + - 完成 CPU、GPU、IO、内存、温度基线测试。 +- 关键结论:Mali 桥接本身没有成为瓶颈;真正的问题集中在 **运行时 DNS、proot 与 KWin 渲染栈**。当前 rc4 + packaged proot + render-node 是已验证可用的组合。 + +## 2. 设备与环境 + +- 设备:Xiaomi M367FC,SoC xring_o3_asic,GPU Mali-G2-Ultra-NX MC16,Android 17,内核 6.18.21。 +- CPU:10 核;内存 15.7 GB;存储 229 GB;屏幕 3408x2272;120 Hz。 +- Mali 驱动:ARM proprietary,Vulkan 1.4.345;桥接暴露 1.4.341。 +- 新 App:com.droiddeck.launcher,DroidDeck 0.6.7,versionCode 25(0.6.7-dnsfix-v25),testkey。 +- 旧 App:com.droiddeck.launcher.mali,DroidDeck-MaliBridge v0.5.4.2,versionCode 5042;保留用于对比,桌面可用。 + +## 3. 关键路径 + +- 新工程:/home/g/openMali/DroidDeck +- MaliBridge 子模块:/home/g/openMali/DroidDeck/external/MaliBridge,v0.5.4.2,提交 95a1e60 +- 合并基线:main 69ffc096,tag mali-0.6.7-v0.5.4.2 +- 旧版源码:/home/g/openMali/reference/mali0542-src +- 旧版 APK:/home/g/openMali/reference/DroidDeck-MaliBridge-v0.5.4.2.apk +- 最终 APK:/home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4.apk +- 基准/参考工具:/home/g/openMali/reference/vkbridge-bench,/home/g/openMali/reference/oldapk + +## 4. 已验证的修改 + +### 4.1 运行时与 proot + +- 运行时 catalog 从 Debian linuxfs.json(r9) 切到 Ubuntu: + - app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntimeInstaller.java + - CATALOG_URL = .../linuxfs-ubuntu.json +- 实际安装:ubuntu-r1-rc4;运行时约 3 GB;桌面栈另下载约 898 MB。 +- APK 不再排除 proot,改为内置最新官方 pack: + - pack-proot-172bb48b00150b42 + - 压缩包 SHA-256:172bb48b00150b4292ba171089abecdf7243c06edddd68bf42dddb8c5bb24e4e + - app/src/main/jniLibs/arm64-v8a/libproot.so(246,512 B) + - app/src/main/jniLibs/arm64-v8a/libproot-loader.so(18,136 B) + - app/build.gradle 移除 libproot.so / libproot-loader.so 的 excludes +- LinuxRuntime: + - 优先使用 nativeLibraryDir 中的 packaged proot/loader。 + - 新增 PROOT_PACKAGED 来源;isInstalled 接受 packaged proot。 + - prootSource 显示 packaged;ProotFastPath 只允许 PROOT_PACK,因此当前 fast path 关闭。 +- 旧 r9 + 旧 session/helper/host 的 0.6.7 组合已尝试但放弃: + - KWin 曾能打开 3408x2272 窗口,但新 host 不显示、会话不稳定。 + - 该路线不作为最终方案。 + +### 4.2 proot fast path 实验 + +- 临时允许 packaged proot 走 fast path,实测反而更慢: + - fast path off(当前):sha256 256 MB 207 ms,gzip -1 405 ms,read 3.9 GB/s。 + - fast path on:sha256 259 ms,gzip 461 ms,read 3.8 GB/s。 +- 结论:该 pack 的 fast path 对 CPU/IO 是负优化,已恢复默认关闭;源码 ProotFastPath 也恢复为只允许 PROOT_PACK。 + +### 4.3 桌面 / KWin / Mali 桥接 + +- tools/linuxfs/desktop/droiddeck-desktop 的 KWin OpenGL 分支: + - 设置 KWIN_COMPOSE=O2、MESA_LOADER_DRIVER_OVERRIDE=zink、GALLIUM_DRIVER=zink、LIBGL_KOPPER_DRI2=true。 + - KWIN_RENDER_NODES 自动选择 /dev/dri/renderD0、/dev/dri/renderD307 或任意 /dev/dri/renderD*。 + - 在平板上实际使用 /dev/dri/renderD307(由 /dev/mali0 绑定)。 +- /usr/share/droiddeck/kwin-compositor 为 opengl。 +- 效果: + - DroidDeckWayland 日志出现 [window] opened KDE Wayland Compositor 1280x720。 + - host 统计出现 GPU frames,不再出现 kwin software fallback / black picture。 + - KDE 桌面、任务栏、应用菜单正常。 +- 分辨率: + - displayResolution.lxqt 设为 720p(1280x720)。 + - 720p 与 900p 的 vkgears 都是约 119.8 FPS,说明 GPU 已到 120 Hz 上限;720p 只减少缩放/带宽。 +- Steam 大屏幕模式: + - app 的“游玩 Steam”使用 gamescope/Big Picture。 + - DroidDeckWayland 日志:Steam 大屏幕模式 1280x720,86.4 fps,875 GPU frames。 + - 可用 Steam 登录页。 + +### 4.4 UI / 桥接文案 + +- GpuInfo 恢复 bridge-aware supportText(bridge),新增 gpuinfo_bridge / gpuinfo_bridge_off 字符串。 +- DeviceInfo / DeviceReport / DriverMenus 使用当前 Mali 桥接状态显示支持文案。 +- LinuxRuntime 恢复 bridgeStandIn 的 DRM render node 回退逻辑。 +- 注意:Setup 顶部仍可能显示“GPU 不受支持”的旧标签(GpuDriversState 的 unsupported 标志),但下方已显示“实验性 Vulkan 桥接已开启”,桥接实际工作正常。 + +## 5. DNS 与 Steam + +### 5.1 根因 + +- guest /etc/resolv.conf 被写成: + - 1.1.1.1 + - 8.8.8.8 + - 2001:4860:4860::8888 +- 当前网络下这些公共 DNS 解析超时: + - curl: (28) Resolving timed out after 10001 milliseconds +- 设备实际 WiFi DNS 是 192.168.1.1;guest 改用该 DNS 后: + - getent 能解析 client-update.steamstatic.com。 + - curl -I https://client-update.steamstatic.com/steam_client_linuxarm64 返回 200。 +- 结论:Steam 下载失败是 DNS,不是 Steam/GPU/代理。 + +### 5.2 已修复:App 自动获取本地 DNS + +- 修改 app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt: + - 新增 localDnsServers(),用 ConnectivityManager.allNetworks 遍历 WiFi/Ethernet 网络(排除 VPN)。 + - 收集这些网络的 DNS,并把默认路由 gateway 作为本地 DNS 兜底。 + - 私有地址(192.168/10.x)和 IPv4 优先。 + - writeResolver 的顺序:localDnsServers() + 当前 active network DNS + 公共 DNS 兜底。 +- 验证(2026-11-01,dnsfix APK): + - logcat:LinuxNetworkLink: resolver: 192.168.1.1 8.8.8.8 1.1.1.1 2001:4860:4860::8888 + - guest /etc/resolv.conf 第一行是 nameserver 192.168.1.1。 + - getent hosts store.steampowered.com 正常;curl -I https://store.steampowered.com 返回 200。 + - 旧 guest DNS 守护 /root/.config/plasma-workspace/env/01-dns-guard.sh 已删除;没有守护进程仍正常。 +- 说明:只取 WiFi/Ethernet 的本地 DNS;没有 WiFi/Ethernet 时回退到 active network/公共 DNS。VPN 的 10.10.14.1 不会被误当 DNS。 + +### 5.3 Steam 客户端修复 + +- Steam 主程序下载后权限为 666: + - /root/.local/share/Steam/steamrtarm64/steam + - 需 chmod +x;更新后变为 700 也可执行。 +- 需要数据目录软链接: + - /root/.steam/steam -> /root/.local/share/Steam + - /root/.steam/root -> /root/.local/share/Steam +- stale pid: + - /root/.steam/steam.pid 可能残留已死 PID,导致 “Steam is already running”;启动前删除。 +- 不要在 Konsole 里用桌面 UI 方式启动 steam: + - 会走 Xwayland/CEF,遇到 XRRGetOutputInfo() is not available / 无窗口。 + - 应从 DroidDeck 的“游玩 Steam”启动 Big Picture/gamescope。 +- 已验证(2026-11-01): + - Steam 客户端更新 575,927 KB 到 100%。 + - Big Picture 已登录,库中显示 Shadow of the Tomb Raider 等游戏。 + - 32 位 steamrtarm32/steam-runtime-launcher-service 缺失的日志仍会出现,但 Big Picture 可用;游戏启动尚未验证。 + +## 6. 性能测试 + +### 6.1 存储 IO + +| 路径 | 写 | 读 | +|---|---:|---:| +| Android /data/local/tmp | 1.0 GB/s | 4.7 GB/s | +| Android /sdcard | 0.94 GB/s | 4.3 GB/s | +| Guest proot(fast path off) | 1.2 GB/s | 3.9 GB/s | + +Guest 读取比 host 低约 17%,是 proot 路径开销;写入不慢。 + +### 6.2 CPU + +| 项目 | Host | Guest | +|---|---:|---:| +| sha256 256 MB 单线程 | 267 ms | 207 ms | +| sha256 4x256 MB 4 线程 | 256 ms(约 4 GB/s 聚合) | 216 ms(约 4.7 GB/s 聚合) | +| gzip -1 256 MB | 307 ms | 405 ms(+32%) | + +注意:host/guest 的 sha256 实现不同,不能直接比较;gzip 更接近,proot 下约慢 30%。 + +### 6.3 GPU + +- vkgears:119.86 FPS(600 帧/5 秒),720p 与 900p 基本一致,已到 120 Hz 上限。 +- 早期桥接基准:128 MiB copy 20.5 GB/s;空 submit 约 70 µs;4 KiB copy+submit 约 285 µs。 +- Steam Big Picture:1280x720,约 86.4 fps,875 GPU frames。 +- vkcube 在纹理路径触发断言(demo_prepare_texture_image),属于桥接兼容性问题,不是性能问题。 + +### 6.4 温度 / 内存 + +- CPU 29–33 °C,GPU 31–46.5 °C,Thermal Status 0,无节流。 +- 电池约 28 °C,64%。 +- 内存:15.7 GB 总,约 8.3 GB 已用,7.1 GB 可用,swap 约 2.6 GB。 +- 没有内存告急,但 swap 偏高;游戏前可重启/关闭后台。 + +### 6.5 v25 复测(2026-11-01 18:32) + +环境:DroidDeck v25;GPU/IO 在 lxqt 桌面 1920x1080@120 测,CPU 分别测桌面和 Steam 会话;游戏 FPS 取自 Terraria 世界内 HUD。Thermal Status 0,CPU 32.8 °C,GPU max 34.8–46.5 °C,电池 31.8 °C / 92%。 + +| 项目 | v25 实测 | 说明 | +|---|---:|---| +| sha256 256 MB 单线程 | 桌面 283–322 ms;Steam 219–241 ms | Steam 会话约 230 ms,接近此前 207 ms | +| gzip -1 256 MB | 桌面 514–534 ms;Steam 355–357 ms | Steam 会话约 356 ms;此前约 405 ms | +| sha256 4×256 MB | Steam 222–269 ms;桌面 262–275 ms | 4 线程 | +| Host /data/local/tmp O_DIRECT | 写 1060 / 读 1450 MB/s | 绕过 page cache | +| Guest /root ext4 | 写 876 / 读 2337 MB/s | fdatasync;O_DIRECT 写 1270 MB/s | +| Guest /root/Storage | 写 920 / 读 3029 MB/s | 读受 page cache 影响 | +| vkgears 1280x720 | 115.8 FPS,p50 111.1,p99 25 ms | 4 秒采样 | +| vkgears 1920x1080 | 113.2 FPS,p99 31 ms | 2 秒采样 | +| Terraria 1280x720@120 | 59.9 FPS,AVG 49.3,1% 22.7 | HUD;CPU 36% / 2668 MHz / 33 °C,GPU 1% | +| 内存 | 总 15.7 GB,可用 8.7 GB | Guest 已用 6.7 GB,swap 2.2 GB | + +结论:GPU 与之前 119.86 FPS 基本一致(低约 3–4%),Terraria 稳定 60 FPS;IO 正常;测试期间无热节流。CPU 在 Steam 会话约 230 ms / 356 ms,接近或优于此前 207 ms / 405 ms;桌面会话因升频状态较低,v25 无 CPU 回归。 + +## 7. 构建与安装 + +- 构建: + - cd /home/g/openMali/DroidDeck + - ./gradlew :app:assembleRelease -PndkVersion=27.3.13750724 +- 修改 runtime inputs 后先记录: + - python3 tools/release/runtime_inputs.py record +- APK(DNS 自动修复 + GPU 状态文案 + HUD/CPU 温度 + mscoree 兜底,当前安装): + - /home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4-dnsfix-v25.apk + - 76 MB;versionCode 25;versionName 0.6.7-dnsfix-v25 + - SHA-256 9808a8ab17f2d9a39e0b3abc9a05c2ee1c07ec7f4ac7cfa77866b2229fb6eb82 + - 上一版保留:v24(SHA-256 56b0ab03c0120c2a7a6ad0e4ed8d30a748021d7fe9e99a13b60f62a41e13b5e0)、v23(SHA-256 b0fadc5c...)、v22(SHA-256 69cd4f5f...)、v21(SHA-256 508294a6...)、v20(SHA-256 afd1ce12...)、v19(SHA-256 f63f4eae...)、v18(SHA-256 cc469703...)、v16 DroidDeck-0.6.7-Mali-rc4-dnsfix.apk(SHA-256 6c5f8c1f...)和 DroidDeck-0.6.7-Mali-rc4.apk(无 App 内 DNS 修复,SHA-256 c58fcc58...)。 + - testkey 签名;官方 release 私钥不在本机。 +- MIUI 安装: + - 对已安装的旧包,adb push + adb shell pm install -r 可更新。 + - 对全新安装,MIUI 会报 INSTALL_FAILED_USER_RESTRICTED;需用文件管理器打开 APK,走 PackageInstaller,并在“是否允许 Shell 安装应用”点允许。 + - 官方 0.6.9 是 release key,testkey 包不能就地升级/降级;必须完整卸载,App 数据会被清空。 + +## 8. 当前安装状态 + +- com.droiddeck.launcher:0.6.7-dnsfix-v25(versionCode 25,testkey),2026-11-01 18:25 就地更新安装,App 数据保留。 +- GPU 状态:Setup 概览显示“GPU 通过 Mali 桥接”,绿色通过;不再显示“GPU 不受支持”。实现为 FrontEndSetup 的 gpuOk 包含 s.vkBridge,并新增 setup_gpu_bridged 文案。 +- 修复“清数据重启后 GPU 菜单消失”:showChecks 默认值从 false 改为 s.vkBridge;桥接开启时详情默认展开,GPU 行直接可见。已在 pm clear 后重新启动验证。 +- HUD:XRing/Mali 的 GPU load/clock/temp/thermal sysfs 对普通 App 拒绝访问,日志为 thermal zones 0、gpu load none、kgsl gpubusy refused。v21 在无数据时隐藏 GPU 统计行、VRAM=0 时隐藏 VRAM,只保留 GPU 型号;真正 GPU% / 温度 / 共享显存需要 root 或厂商遥测。 +- HUD 分辨率/卡死:v22 的 RES 不再用 Android displayMetrics 兜底,改用会话逻辑分辨率;桌面模式隐藏游戏 HUD,Steam/游戏模式显示。实测 Steam 下 HUD 为 RES 1280x720 @ 120Hz、FPS 42.8 / AVG 53.0。 +- CPU 温度/频率:v23 增加 USB/adb 辅助的 CPU 温度输入(/sdcard/DroidDeck/cpu-temp,由 update_cpu_temp.sh 每 2 秒写 cpu_therm);v24 把 HUD 的 CPU 行顺序改为“占用 → 频率 → 温度”,Full/Mega/Tiles 三种布局都生效。 +- 安装方式:官方 0.6.9(release key)与 testkey 不兼容,完整卸载 0.6.9 后通过 PackageInstaller 安装;App 数据已被清空,当前是全新状态(首次启动显示配置页)。 +- DNS 自动修复已在 APK 内;运行时 ubuntu-r1-rc4、Mali 桥接、proot、桌面需要重新下载/配置;此前 Steam Big Picture 和 1280x720 KWin 已验证,但当前新数据需重新登录。 +- com.droiddeck.launcher.mali:旧 0.5.4.2 仍安装,桌面可用,用于对比。 +- 注意:Steam chmod/软链接/pid 清理仍是 guest 运行时修改;清除 App 数据或重装运行时会丢失。 +- Terraria 1.4.5.8 启动修复(2026-11-01):`dotnet40` 组件把 `WINEDLLOVERRIDES` 设为 `mscoree=n`,但该组件没有原生 `mscoree.dll`,Wine 报 `mscoree.dll not found` 后直接退出。v25 的 `droiddeck-wincomponents` 对 `mscoree=n` 自动追加 builtin 回退(`mscoree=n,b`);`dotnet40` 仍启用时,Terraria 已稳定进入世界并显示 HUD。 + +## 9. 已知问题 / 下一步 + +1. DNS 自动修复已完成(见 5.2);仍需在不同 WiFi/无 WiFi 环境下回归,确认 localDnsServers 的回退行为。 +2. Steam 桌面 UI 在 Xwayland 下仍可能无窗口;继续使用“游玩 Steam”/Big Picture,不要用 Konsole 直接 steam。 +3. Steam 32 位组件 steamrtarm32 / steam-runtime-launcher-service 缺失;Big Picture 可用。Terraria 1.4.5.8 已进入世界,其他游戏仍待验证。 +4. vkcube 纹理断言是桥接兼容性 bug,可单独排查。 +5. 真实游戏帧率/Proton/DXVK 尚未测试;当前性能数据主要是桌面、vkgears、IO/CPU。 +6. 仍是 testkey;如需官方升级安装,需要官方 release keystore。 +7. 官方 0.6.9 与 testkey 不兼容:只能完整卸载后安装,App 数据会丢;官方 APK 备份在 /tmp/installed-069.apk(宿主)和 /sdcard/Download/DroidDeck-0.6.9.apk(平板),回滚同样要先卸载。 +8. HUD 的 Mali GPU load/temp/VRAM 受驱动 sysfs 权限限制;除非 root/厂商接口,普通 App 无法获取。v21 已移除误导性的 GPU - 和 VRAM 0.0,保留 GPU 型号。 + +## 10. 已放弃 / 不再使用 + +- r9 + 旧 session/helper/host 组合:KWin 窗口不稳定/黑屏,放弃。 +- proot fast path:实测负优化,关闭。 +- 代理强制给 Steam:本地 DNS 直连更稳定;Steam 更新器对 proxy 环境并不可靠。 + +## 截图 + +Terraria 1.4.5.8 在 DroidDeck v25 + Mali 桥接 + Wine Mono 下进入世界。HUD 的 CPU 行是“占用 → 频率 → 温度”: + +![DroidDeck v25 HUD / Terraria](../images/droiddeck-hud-v25-terraria.png) From 55897a47a9c7140f01160d06f172d1a4e74dfd46 Mon Sep 17 00:00:00 2001 From: DroidDeck Merge Date: Sun, 1 Nov 2026 19:51:53 +0800 Subject: [PATCH 33/38] docs: show openMali worklog on repository home --- README.md | 317 +++++++++++++++++++++++++--------------- docs/openmali/README.md | 244 ------------------------------- 2 files changed, 200 insertions(+), 361 deletions(-) delete mode 100644 docs/openmali/README.md diff --git a/README.md b/README.md index 745508237..abfbf5f2f 100644 --- a/README.md +++ b/README.md @@ -1,161 +1,244 @@ -

    - - - DroidDeck - -

    +# openMali 工作区记录 -DroidDeck brings the SteamOS experience to Android: Valve's Steam client in Big Picture on your Adreno handheld, with Windows games through Valve's ARM64 Proton. +> 本文件记录 2026-10-31 ~ 2026-11-01 在本机与小米平板上的 MaliBridge + DroidDeck 0.6.7 合并、构建、调试和性能测试结果。 +> 这是本地工程记录,不是上游发布文档。未特别说明的 APK 均为 testkey 签名。 -

    100% open source. No ads. No telemetry. No source withheld.

    +## 1. 目标与结论 -

    - Download DroidDeck 0.6.7 - Join the DroidDeck Discord -

    +- 目标:把 MaliBridge v0.5.4.2 的 Mali GPU 支持合并进 DroidDeck 0.6.7 主线,构建可安装 APK,并在平板上进入桌面、跑通 Steam 和性能测试。 +- 已做到: + - 0.6.7 + MaliBridge v0.5.4.2 的合并包可安装。 + - Ubuntu rc4 运行时 + 内置最新 proot + KWin Zink/Mali 桥接,成功进入 KDE 桌面。 + - Steam 客户端下载/更新 100% 完成,进入 Steam 大屏幕登录页(二维码/账号密码)。 + - 完成 CPU、GPU、IO、内存、温度基线测试。 +- 关键结论:Mali 桥接本身没有成为瓶颈;真正的问题集中在 **运行时 DNS、proot 与 KWin 渲染栈**。当前 rc4 + packaged proot + render-node 是已验证可用的组合。 -

    - Star History Rank -

    +## 2. 设备与环境 -

    - Droid-Deck%2FDroidDeck | Trendshift - Droid-Deck%2FDroidDeck | Trendshift -

    +- 设备:Xiaomi M367FC,SoC xring_o3_asic,GPU Mali-G2-Ultra-NX MC16,Android 17,内核 6.18.21。 +- CPU:10 核;内存 15.7 GB;存储 229 GB;屏幕 3408x2272;120 Hz。 +- Mali 驱动:ARM proprietary,Vulkan 1.4.345;桥接暴露 1.4.341。 +- 新 App:com.droiddeck.launcher,DroidDeck 0.6.7,versionCode 25(0.6.7-dnsfix-v25),testkey。 +- 旧 App:com.droiddeck.launcher.mali,DroidDeck-MaliBridge v0.5.4.2,versionCode 5042;保留用于对比,桌面可用。 -

    On a Retroid Pocket Duo: Play Steam from the DroidDeck launcher, open Pac-Man in Steam Big Picture and play it, exit the game, then Switch to Desktop from the Power menu

    +## 3. 关键路径 -> DroidDeck has no website. Only download it from this repository's [Releases](https://github.com/Droid-Deck/DroidDeck/releases). +- 新工程:/home/g/openMali/DroidDeck +- MaliBridge 子模块:/home/g/openMali/DroidDeck/external/MaliBridge,v0.5.4.2,提交 95a1e60 +- 合并基线:main 69ffc096,tag mali-0.6.7-v0.5.4.2 +- 旧版源码:/home/g/openMali/reference/mali0542-src +- 旧版 APK:/home/g/openMali/reference/DroidDeck-MaliBridge-v0.5.4.2.apk +- 最终 APK:/home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4.apk +- 基准/参考工具:/home/g/openMali/reference/vkbridge-bench,/home/g/openMali/reference/oldapk -

    - The Library switching source chips, changing the card size and opening the Filter menu - A Windows game running through Proton with the on-screen controls - Two controllers playing split screen on one handheld - The Kubuntu desktop with Discover open -

    +## 4. 已验证的修改 -## Install +### 4.1 运行时与 proot -1. Android 9 or newer. Adreno 730 or newer, or any 8xx. Adreno 6xx is experimental. Mali and Immortalis GPUs go through the MaliBridge Vulkan bridge on the phone's own driver; Xclipse, PowerVR and Adreno 710 are unsupported. No root needed. -2. About 3 GB free for the runtime, plus 1.1 GB for the desktop and emulators. -3. Install the [APK](https://github.com/Droid-Deck/DroidDeck/releases/download/0.6.7/DroidDeck-0.6.7.apk), install the Linux runtime, press **Play** and sign in to Steam. -4. On Android 14 and newer, turn on **Disable child process restrictions** in Developer options. On Android 12 and 13, Steam's first launch shows a **Fix it for me** button that walks you through it. +- 运行时 catalog 从 Debian linuxfs.json(r9) 切到 Ubuntu: + - app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntimeInstaller.java + - CATALOG_URL = .../linuxfs-ubuntu.json +- 实际安装:ubuntu-r1-rc4;运行时约 3 GB;桌面栈另下载约 898 MB。 +- APK 不再排除 proot,改为内置最新官方 pack: + - pack-proot-172bb48b00150b42 + - 压缩包 SHA-256:172bb48b00150b4292ba171089abecdf7243c06edddd68bf42dddb8c5bb24e4e + - app/src/main/jniLibs/arm64-v8a/libproot.so(246,512 B) + - app/src/main/jniLibs/arm64-v8a/libproot-loader.so(18,136 B) + - app/build.gradle 移除 libproot.so / libproot-loader.so 的 excludes +- LinuxRuntime: + - 优先使用 nativeLibraryDir 中的 packaged proot/loader。 + - 新增 PROOT_PACKAGED 来源;isInstalled 接受 packaged proot。 + - prootSource 显示 packaged;ProotFastPath 只允许 PROOT_PACK,因此当前 fast path 关闭。 +- 旧 r9 + 旧 session/helper/host 的 0.6.7 组合已尝试但放弃: + - KWin 曾能打开 3408x2272 窗口,但新 host 不显示、会话不稳定。 + - 该路线不作为最终方案。 -Smart glasses setup is in the [support matrix](docs/smart-glasses-support.md). Release notes are in [docs/releases](docs/releases). +### 4.2 proot fast path 实验 -Help, Preview builds and device reports are on [Discord](https://discord.gg/JRGAvawjsm). For bugs, post in **#bug-reports** with the zip from **Share logs**. +- 临时允许 packaged proot 走 fast path,实测反而更慢: + - fast path off(当前):sha256 256 MB 207 ms,gzip -1 405 ms,read 3.9 GB/s。 + - fast path on:sha256 259 ms,gzip 461 ms,read 3.8 GB/s。 +- 结论:该 pack 的 fast path 对 CPU/IO 是负优化,已恢复默认关闭;源码 ProotFastPath 也恢复为只允许 PROOT_PACK。 -## Build +### 4.3 桌面 / KWin / Mali 桥接 -Needs Docker, Java 17, the Android SDK and NDK, Rust via rustup, GitHub CLI, Python 3 and `zstd`. +- tools/linuxfs/desktop/droiddeck-desktop 的 KWin OpenGL 分支: + - 设置 KWIN_COMPOSE=O2、MESA_LOADER_DRIVER_OVERRIDE=zink、GALLIUM_DRIVER=zink、LIBGL_KOPPER_DRI2=true。 + - KWIN_RENDER_NODES 自动选择 /dev/dri/renderD0、/dev/dri/renderD307 或任意 /dev/dri/renderD*。 + - 在平板上实际使用 /dev/dri/renderD307(由 /dev/mali0 绑定)。 +- /usr/share/droiddeck/kwin-compositor 为 opengl。 +- 效果: + - DroidDeckWayland 日志出现 [window] opened KDE Wayland Compositor 1280x720。 + - host 统计出现 GPU frames,不再出现 kwin software fallback / black picture。 + - KDE 桌面、任务栏、应用菜单正常。 +- 分辨率: + - displayResolution.lxqt 设为 720p(1280x720)。 + - 720p 与 900p 的 vkgears 都是约 119.8 FPS,说明 GPU 已到 120 Hz 上限;720p 只减少缩放/带宽。 +- Steam 大屏幕模式: + - app 的“游玩 Steam”使用 gamescope/Big Picture。 + - DroidDeckWayland 日志:Steam 大屏幕模式 1280x720,86.4 fps,875 GPU frames。 + - 可用 Steam 登录页。 -```bash -tools/build_local.sh -``` +### 4.4 UI / 桥接文案 -The APK lands in `app/build/outputs/apk/release/`. Install it with `tools/deploy_local.sh`. After the first run, `./gradlew :app:assembleRelease` reuses the prepared inputs. Unit tests run with `./gradlew -PskipRust=true :app:testDebugUnitTest`, and the helper and preload suite with `bash tools/test_local.sh`. +- GpuInfo 恢复 bridge-aware supportText(bridge),新增 gpuinfo_bridge / gpuinfo_bridge_off 字符串。 +- DeviceInfo / DeviceReport / DriverMenus 使用当前 Mali 桥接状态显示支持文案。 +- LinuxRuntime 恢复 bridgeStandIn 的 DRM render node 回退逻辑。 +- 注意:Setup 顶部仍可能显示“GPU 不受支持”的旧标签(GpuDriversState 的 unsupported 标志),但下方已显示“实验性 Vulkan 桥接已开启”,桥接实际工作正常。 -On Windows, see `tools/run_windows.ps1` and `tools/prepare_windows_runtime.py`. +## 5. DNS 与 Steam -## Limits +### 5.1 根因 -Compatibility and performance vary by device. Desktop compositing is software rendered, and Firefox sandboxing is reduced under proot. +- guest /etc/resolv.conf 被写成: + - 1.1.1.1 + - 8.8.8.8 + - 2001:4860:4860::8888 +- 当前网络下这些公共 DNS 解析超时: + - curl: (28) Resolving timed out after 10001 milliseconds +- 设备实际 WiFi DNS 是 192.168.1.1;guest 改用该 DNS 后: + - getent 能解析 client-update.steamstatic.com。 + - curl -I https://client-update.steamstatic.com/steam_client_linuxarm64 返回 200。 +- 结论:Steam 下载失败是 DNS,不是 Steam/GPU/代理。 -## Credits and licence +### 5.2 已修复:App 自动获取本地 DNS -DroidDeck is [GPL-3.0](LICENSE). Steam and Proton belong to Valve Corporation. VITURE, RayNeo, XREAL, Rokid, REDMAGIC, Nintendo Switch and Joy-Con are trademarks of their owners. This project is not affiliated with any of them. +- 修改 app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt: + - 新增 localDnsServers(),用 ConnectivityManager.allNetworks 遍历 WiFi/Ethernet 网络(排除 VPN)。 + - 收集这些网络的 DNS,并把默认路由 gateway 作为本地 DNS 兜底。 + - 私有地址(192.168/10.x)和 IPv4 优先。 + - writeResolver 的顺序:localDnsServers() + 当前 active network DNS + 公共 DNS 兜底。 +- 验证(2026-11-01,dnsfix APK): + - logcat:LinuxNetworkLink: resolver: 192.168.1.1 8.8.8.8 1.1.1.1 2001:4860:4860::8888 + - guest /etc/resolv.conf 第一行是 nameserver 192.168.1.1。 + - getent hosts store.steampowered.com 正常;curl -I https://store.steampowered.com 返回 200。 + - 旧 guest DNS 守护 /root/.config/plasma-workspace/env/01-dns-guard.sh 已删除;没有守护进程仍正常。 +- 说明:只取 WiFi/Ethernet 的本地 DNS;没有 WiFi/Ethernet 时回退到 active network/公共 DNS。VPN 的 10.10.14.1 不会被误当 DNS。 -
    -Mali GPUs +### 5.3 Steam 客户端修复 -- GPUs other than Adreno draw through [MaliBridge by ASEbrahim](https://github.com/ASEbrahim/MaliBridge) (GPL-3.0-or-later, with the attribution terms in its NOTICE), built from the `external/MaliBridge` submodule. Its DroidDeck integration is [@ASEbrahim](https://github.com/ASEbrahim)'s work from their [DroidDeck fork](https://github.com/ASEbrahim/DroidDeck); it credits Vulkan-Headers, Arm's HWCPipe, bcdec, Lee Gao's etc2_encode and Mali research, David Cimo, The412Banner and others. See [docs/third-party/malibridge](docs/third-party/malibridge/README.md). +- Steam 主程序下载后权限为 666: + - /root/.local/share/Steam/steamrtarm64/steam + - 需 chmod +x;更新后变为 700 也可执行。 +- 需要数据目录软链接: + - /root/.steam/steam -> /root/.local/share/Steam + - /root/.steam/root -> /root/.local/share/Steam +- stale pid: + - /root/.steam/steam.pid 可能残留已死 PID,导致 “Steam is already running”;启动前删除。 +- 不要在 Konsole 里用桌面 UI 方式启动 steam: + - 会走 Xwayland/CEF,遇到 XRRGetOutputInfo() is not available / 无窗口。 + - 应从 DroidDeck 的“游玩 Steam”启动 Big Picture/gamescope。 +- 已验证(2026-11-01): + - Steam 客户端更新 575,927 KB 到 100%。 + - Big Picture 已登录,库中显示 Shadow of the Tomb Raider 等游戏。 + - 32 位 steamrtarm32/steam-runtime-launcher-service 缺失的日志仍会出现,但 Big Picture 可用;游戏启动尚未验证。 -
    +## 6. 性能测试 -
    -Runtime, Wine and Proton +### 6.1 存储 IO -- Runtime, shim, input and controller work build on WinNative and Bannerlator by maxjivi05. -- mmap ring buffer controller input by ribbit384 ([WinNative #345](https://github.com/WinNative-Emu/WinNative/pull/345)). -- [FEX](https://github.com/FEX-Emu/FEX) (MIT) runs x86 code. DroidDeck's build puts the platform name under `AT_PLATFORM` so [sharun](https://github.com/VHSgunzo/sharun) AppImages by VHSgunzo (MIT) start through its [userland-execve](https://crates.io/crates/userland-execve) loader (MIT). FEX's code disk cache was checked in its source. -- x86 AppImages, and arm64 ones whose runtime can't unpack on Android, are unpacked with [uruntime](https://github.com/VHSgunzo/uruntime) by VHSgunzo (MIT), shipped unmodified with its licence. -- x86 programs linking OpenSSL 3 use the copy in the [Steam Linux Runtime 4.0](https://gitlab.steamos.cloud/steamrt/steamrt). x86 Linux games get the `/etc/asound.conf` that [pressure-vessel](https://gitlab.steamos.cloud/steamrt/steam-runtime-tools) writes. -- `WriteProcessMemory` hooks fall back to `/proc//mem` the way [Wine](https://gitlab.winehq.org/wine/wine)'s `server/ptrace.c` did before Wine 11. -- Wine write watches use userfaultfd support in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/ntdll/unix/virtual.c` (LGPL-2.1-or-later). libblsession supplies the arm64 syscall number and answers `PAGEMAP_SCAN` from `/proc/self/pagemap`. -- libblsession runs Wine's arm64 `SIGUSR2` context handler (`dlls/ntdll/unix/signal_arm64.c`, LGPL-2.1-or-later) in place on a frame laid out like [Linux](https://github.com/torvalds/linux)'s `arch/arm64/kernel/signal.c`, and serves `fill_vm_counters` in `dlls/ntdll/unix/process.c` the kernel's own `/proc//status`. -- droiddeck-ntsync follows the [Linux](https://github.com/torvalds/linux) ntsync semantics in `Documentation/userspace-api/ntsync.rst` (GPL-2.0). -- The proot fast path orders bindings like [PRoot](https://github.com/proot-me/proot)'s `path/binding.c` (GPL-2.0-or-later). -- Games use [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Turnip's per render pass memory choice. The Steam client keeps `TU_DEBUG=sysmem`. -- Black Ops III and Dark Souls Remastered start without [umu-protonfixes](https://github.com/Open-Wine-Components/umu-protonfixes) (BSD-2-Clause), whose `311210.py` and `570940.py` fail under ARM64 Proton. -- [ReSkate](https://github.com/Dingo-Shenanigans/ReSkate) (GPL-3.0) by Dingo Shenanigans uses the launch option from its README and D3D12 feature level 12_1. -- The arm64 client's sign in was checked by reading Steam's saved token with the `ConnectCache` format from [deadlock-api-ingest](https://github.com/deadlock-api/deadlock-api-ingest). +| 路径 | 写 | 读 | +|---|---:|---:| +| Android /data/local/tmp | 1.0 GB/s | 4.7 GB/s | +| Android /sdcard | 0.94 GB/s | 4.3 GB/s | +| Guest proot(fast path off) | 1.2 GB/s | 3.9 GB/s | -
    +Guest 读取比 host 低约 17%,是 proot 路径开销;写入不慢。 -
    -Stores +### 6.2 CPU -- Epic Games and GOG build on [Phobos](https://github.com/phobos665)'s adaptation of [Legendary](https://github.com/legendary-gl/legendary) and [gogdl](https://github.com/Heroic-Games-Launcher/heroic-gogdl). GOG install script registry entries are read the way [Heroic Games Launcher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) (GPL-3.0) reads them. -- Epic's official Linux launcher preview runs through FEX. That setup is outside Epic's listed Linux support. -- Battle.net is by [@kayakyakr](https://github.com/kayakyakr). It runs Blizzard's own client in Proton (downloaded from Blizzard, not included) and shows key art from the [Battle.net Shop](https://shop.battle.net). Without Steam, its games see the pad as an Xbox 360 controller via `PROTON_SPOOF_STEAMINPUT_VIDPID` in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/winebus.sys`. -- Battle.net installs drive Blizzard's Agent the way [@barncastle](https://github.com/barncastle)'s [Battle.Net-Installer](https://github.com/barncastle/Battle.Net-Installer) does, with requests from [wowdev.wiki](https://wowdev.wiki/Agent). Read without taking code: [@mubaraknumann](https://github.com/mubaraknumann)'s [unifideck](https://github.com/mubaraknumann/unifideck), [@djmittens](https://github.com/djmittens)'s [neo-mittens](https://github.com/djmittens/neo-mittens) `bnetswitch`, [@BCD1210](https://github.com/BCD1210)'s [soju](https://github.com/BCD1210/soju) and [Lutris](https://github.com/lutris/lutris)'s `product.db` reader. -- Xbox games load [@domsvoboda](https://github.com/domsvoboda)'s [xodus-nexus](https://github.com/domsvoboda/xodus-nexus) modules (LGPL-2.1-or-later), including `wintypes.dll`. Minecraft's GameInput setup was checked against [@Wyze3306](https://github.com/Wyze3306)'s [BedrockOnLinux](https://github.com/Wyze3306/BedrockOnLinux) (MIT). -- The itch.io butler pack ships butler's `7z.so`, itch.io's build of [7-Zip](https://www.7-zip.org) by Igor Pavlov (LGPL-2.1, unRAR restriction on RAR code), unmodified. Other archives use Apache Commons Compress and the runtime's bsdtar (libarchive). -- The Store uses [Flatpak](https://github.com/flatpak/flatpak) (LGPL-2.1) through DroidDeck's own bubblewrap shim. Chromium and Electron apps start directly, since [zypak](https://github.com/refi64/zypak) by [@refi64](https://github.com/refi64) (BSD-3-Clause) always uses Flatpak's spawn portal. +| 项目 | Host | Guest | +|---|---:|---:| +| sha256 256 MB 单线程 | 267 ms | 207 ms | +| sha256 4x256 MB 4 线程 | 256 ms(约 4 GB/s 聚合) | 216 ms(约 4.7 GB/s 聚合) | +| gzip -1 256 MB | 307 ms | 405 ms(+32%) | -
    +注意:host/guest 的 sha256 实现不同,不能直接比较;gzip 更接近,proot 下约慢 30%。 -
    -Audio, video and HUD +### 6.3 GPU -- Steam audio goes through [@The412Banner](https://github.com/The412Banner)'s [DirectAudio](https://github.com/The412Banner/directaudio) PulseAudio sink (LGPL-2.1-or-later), built from `tools/directaudio/sink`. -- The DroidDeck HUD is [@The412Banner](https://github.com/The412Banner)'s [FusionHUD](https://github.com/The412Banner/FusionHUD) (GPL-3.0 with an attribution term). Its readings match Valve's [MangoHud](https://github.com/flightlessmango/MangoHud) build (MIT), with frame times from gamescope patch 0125. -- LSFG frame generation comes from Camille LaVey and the [Eden](https://eden-emu.dev) project, following [lsfg-vk](https://github.com/PancakeTAS/lsfg-vk), ported by [@maxjivi05](https://github.com/maxjivi05). It needs your own copy of [Lossless Scaling](https://store.steampowered.com/app/993090/) and ships none of its shaders. -- Remote Play decodes through Android's MediaCodec or the [FFmpeg](https://ffmpeg.org) (LGPL-2.1-or-later) in Steam's runtime. Qualcomm low latency settings follow [Moonlight](https://github.com/moonlight-stream/moonlight-android) (GPL-3.0). -- [PipeWire](https://gitlab.freedesktop.org/pipewire/pipewire) (MIT) sockets use the settings in its `module-access.c`, and [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) (MIT) keeps those clients at full permissions. +- vkgears:119.86 FPS(600 帧/5 秒),720p 与 900p 基本一致,已到 120 Hz 上限。 +- 早期桥接基准:128 MiB copy 20.5 GB/s;空 submit 约 70 µs;4 KiB copy+submit 约 285 µs。 +- Steam Big Picture:1280x720,约 86.4 fps,875 GPU frames。 +- vkcube 在纹理路径触发断言(demo_prepare_texture_image),属于桥接兼容性问题,不是性能问题。 -
    +### 6.4 温度 / 内存 -
    -Desktop +- CPU 29–33 °C,GPU 31–46.5 °C,Thermal Status 0,无节流。 +- 电池约 28 °C,64%。 +- 内存:15.7 GB 总,约 8.3 GB 已用,7.1 GB 可用,swap 约 2.6 GB。 +- 没有内存告急,但 swap 偏高;游戏前可重启/关闭后台。 -- The KDE pacman repository snapshots [Arch Linux ARM](https://archlinuxarm.org) and installs with [pacman](https://gitlab.archlinux.org/pacman/pacman) (GPL-2.0-or-later). -- [KWin](https://invent.kde.org/plasma/kwin) (GPL-2.0-or-later) is patched to pass on the scroll data its `wayland_backend.cpp` leaves as a TODO. -- Read without taking code: [Qt](https://code.qt.io/cgit/qt/qtbase.git)'s `qwaylandinputdevice.cpp` and `qguiapplication.cpp`, [Konsole](https://invent.kde.org/utilities/konsole)'s `TerminalDisplay.cpp`, and [Mesa](https://gitlab.freedesktop.org/mesa/mesa)'s `u_threaded_context.c` and `zink_resource.c`. -- The Steam Keyboard window rule follows Valve's `steamdeck-kde-presets` with [Bazzite](https://github.com/ublue-os/bazzite)'s `0001-steam-virtual-keyboard.patch`. -- Steam's Browse buttons open a GTK 3 file chooser via PyGObject (LGPL-2.1-or-later), shown over Steam by [gamescope](https://github.com/ValveSoftware/gamescope) (BSD-2-Clause) through `GetAppIdFromReaper`. -- The AYN Odin 2 phantom second display was confirmed by [@SapphireRhodonite](https://github.com/SapphireRhodonite)'s [WatermelonDS 0.0.5](https://github.com/SapphireRhodonite/WatermelonDS/releases/tag/0.0.5) notes and [iiSU #363](https://github.com/iisu-network/iiSU/issues/363), without taking their code. +### 6.5 v25 复测(2026-11-01 18:32) -
    +环境:DroidDeck v25;GPU/IO 在 lxqt 桌面 1920x1080@120 测,CPU 分别测桌面和 Steam 会话;游戏 FPS 取自 Terraria 世界内 HUD。Thermal Status 0,CPU 32.8 °C,GPU max 34.8–46.5 °C,电池 31.8 °C / 92%。 -
    -Smart glasses +| 项目 | v25 实测 | 说明 | +|---|---:|---| +| sha256 256 MB 单线程 | 桌面 283–322 ms;Steam 219–241 ms | Steam 会话约 230 ms,接近此前 207 ms | +| gzip -1 256 MB | 桌面 514–534 ms;Steam 355–357 ms | Steam 会话约 356 ms;此前约 405 ms | +| sha256 4×256 MB | Steam 222–269 ms;桌面 262–275 ms | 4 线程 | +| Host /data/local/tmp O_DIRECT | 写 1060 / 读 1450 MB/s | 绕过 page cache | +| Guest /root ext4 | 写 876 / 读 2337 MB/s | fdatasync;O_DIRECT 写 1270 MB/s | +| Guest /root/Storage | 写 920 / 读 3029 MB/s | 读受 page cache 影响 | +| vkgears 1280x720 | 115.8 FPS,p50 111.1,p99 25 ms | 4 秒采样 | +| vkgears 1920x1080 | 113.2 FPS,p99 31 ms | 2 秒采样 | +| Terraria 1280x720@120 | 59.9 FPS,AVG 49.3,1% 22.7 | HUD;CPU 36% / 2668 MHz / 33 °C,GPU 1% | +| 内存 | 总 15.7 GB,可用 8.7 GB | Guest 已用 6.7 GB,swap 2.2 GB | -- Builds on WinNative's VITURE work. Protocol checked against [@wheaney](https://github.com/wheaney)'s [XRLinuxDriver](https://github.com/wheaney/XRLinuxDriver), [@badicsalex](https://github.com/badicsalex)'s [ar-drivers-rs](https://github.com/badicsalex/ar-drivers-rs) and [go-macos/iokit](https://pkg.go.dev/github.com/go-macos/iokit/viture). The optional VITURE SDK is not included. -- RayNeo adapts [@informalTechCode](https://github.com/informalTechCode)'s [RayNeo-Air-Series-3DoF-Scaffold](https://github.com/informalTechCode/RayNeo-Air-Series-3DoF-Scaffold) (Apache-2.0) and references [@verncat](https://github.com/verncat)'s [RayNeo-Air-3S-Pro-OpenVR](https://github.com/verncat/RayNeo-Air-3S-Pro-OpenVR) (MIT) and [Monado](https://gitlab.freedesktop.org/monado/monado) (BSL-1.0). See [docs/third-party/rayneo](docs/third-party/rayneo/README.md). -- XREAL 1S references XRLinuxDriver and [xrealOneDeviceKit](https://github.com/wheaney/xrealOneDeviceKit) by @wheaney, [@rohitsangwan01](https://github.com/rohitsangwan01)'s [xreal_one_driver](https://github.com/rohitsangwan01/xreal_one_driver) (MIT) and [@0xcaff](https://github.com/0xcaff)'s [xr-tools](https://github.com/0xcaff/xr-tools). -- Rokid follows ar-drivers-rs, @badicsalex's [Void Computing write-ups](https://voidcomputing.hu/blog/worse-better-prettier/) and Monado's Rokid driver. -- REDMAGIC display findings draw on [@mekhontsev](https://github.com/mekhontsev)'s [MagicDesk investigation](https://github.com/mekhontsev/magicdesk/blob/main/docs/xr-resolution-fix.md) and [@Coding-BR](https://github.com/Coding-BR)'s [decompiled Nubia kernel](https://github.com/Coding-BR/android_kernel_nubia_sm8850_qwjujube). +结论:GPU 与之前 119.86 FPS 基本一致(低约 3–4%),Terraria 稳定 60 FPS;IO 正常;测试期间无热节流。CPU 在 Steam 会话约 230 ms / 356 ms,接近或优于此前 207 ms / 405 ms;桌面会话因升频状态较低,v25 无 CPU 回归。 -
    +## 7. 构建与安装 -
    -VR, Joy-Con and hand tracking +- 构建: + - cd /home/g/openMali/DroidDeck + - ./gradlew :app:assembleRelease -PndkVersion=27.3.13750724 +- 修改 runtime inputs 后先记录: + - python3 tools/release/runtime_inputs.py record +- APK(DNS 自动修复 + GPU 状态文案 + HUD/CPU 温度 + mscoree 兜底,当前安装): + - /home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4-dnsfix-v25.apk + - 76 MB;versionCode 25;versionName 0.6.7-dnsfix-v25 + - SHA-256 9808a8ab17f2d9a39e0b3abc9a05c2ee1c07ec7f4ac7cfa77866b2229fb6eb82 + - 上一版保留:v24(SHA-256 56b0ab03c0120c2a7a6ad0e4ed8d30a748021d7fe9e99a13b60f62a41e13b5e0)、v23(SHA-256 b0fadc5c...)、v22(SHA-256 69cd4f5f...)、v21(SHA-256 508294a6...)、v20(SHA-256 afd1ce12...)、v19(SHA-256 f63f4eae...)、v18(SHA-256 cc469703...)、v16 DroidDeck-0.6.7-Mali-rc4-dnsfix.apk(SHA-256 6c5f8c1f...)和 DroidDeck-0.6.7-Mali-rc4.apk(无 App 内 DNS 修复,SHA-256 c58fcc58...)。 + - testkey 签名;官方 release 私钥不在本机。 +- MIUI 安装: + - 对已安装的旧包,adb push + adb shell pm install -r 可更新。 + - 对全新安装,MIUI 会报 INSTALL_FAILED_USER_RESTRICTED;需用文件管理器打开 APK,走 PackageInstaller,并在“是否允许 Shell 安装应用”点允许。 + - 官方 0.6.9 是 release key,testkey 包不能就地升级/降级;必须完整卸载,App 数据会被清空。 -- Joy-Con VR ports the arm model from Google's [GVR SDK for Unity](https://github.com/googlevr/gvr-unity-sdk) (Apache-2.0) and adapts the hand skeleton from Valve's [OpenVR](https://github.com/ValveSoftware/openvr) `handskeletonsimulation` sample (BSD-3-Clause), which follows Moshi Turner's work in Monado. Index offsets come from Monado's `vive_poses.c` (BSL-1.0). -- Joy-Con research: Linux's [hid-nintendo](https://github.com/torvalds/linux/blob/master/drivers/hid/hid-nintendo.c) by Daniel J. Ogorchock, [@dekuNukem](https://github.com/dekuNukem)'s [Nintendo_Switch_Reverse_Engineering](https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering), [SDL](https://github.com/libsdl-org/SDL) and AOSP. Checked against [ALVR](https://github.com/alvr-org/ALVR), [OpenComposite](https://gitlab.com/znixian/OpenOVR), [PSMoveSteamVRBridge](https://github.com/HipsterSloth/PSMoveSteamVRBridge), [@F8LEFT](https://github.com/F8LEFT)'s [JoyConVr](https://github.com/F8LEFT/JoyConVr), [@krnelpan1c](https://github.com/krnelpan1c)'s [Daydream-Controller-SteamVR](https://github.com/krnelpan1c/Daydream-Controller-SteamVR), [@yoyobuae](https://github.com/yoyobuae)'s [joyconvr](https://github.com/yoyobuae/joyconvr), [Moonlight](https://github.com/moonlight-stream/moonlight-android) and [Dolphin](https://github.com/dolphin-emu/dolphin). See [docs/third-party/joycon](docs/third-party/joycon/README.md). -- Camera hand tracking runs Google's [MediaPipe](https://github.com/google-ai-edge/mediapipe) Pose Landmarker (Lite), BlazePose GHUM 3D and Hand Landmarker (Apache-2.0) on [CameraX](https://developer.android.com/jetpack/androidx/releases/camera) frames (Apache-2.0), with usage reports off. Checked against JoyConVr's camera app (MIT). -- Tracking math: the GVR arm model's accelerometer mode, Eric Foxlin's zero velocity updates, Frosio, Pedersini and Borghese's accelerometer autocalibration, a Kalman filter (Kalman, 1960), Horn's quaternion method (1987) and the 1€ filter (Casiez, Roussel and Vogel, 2012). -- Gestures follow [ALVR](https://github.com/alvr-org/ALVR)'s `hand_gestures.rs` (MIT) and Meta Quest's menu pinch, tuned on [HaGRID](https://github.com/hukenovs/hagrid) photos (CC BY-SA 4.0, not included). -- The glove model follows OpenVR's render model reference, is meshed with surface nets (Gibson, 1998; Mikola Lysenko), and uses Inigo Quilez's smooth minimum, distance field ambient occlusion and polygon distance (MIT). See [docs/third-party/handtracking](docs/third-party/handtracking/README.md). +## 8. 当前安装状态 -
    +- com.droiddeck.launcher:0.6.7-dnsfix-v25(versionCode 25,testkey),2026-11-01 18:25 就地更新安装,App 数据保留。 +- GPU 状态:Setup 概览显示“GPU 通过 Mali 桥接”,绿色通过;不再显示“GPU 不受支持”。实现为 FrontEndSetup 的 gpuOk 包含 s.vkBridge,并新增 setup_gpu_bridged 文案。 +- 修复“清数据重启后 GPU 菜单消失”:showChecks 默认值从 false 改为 s.vkBridge;桥接开启时详情默认展开,GPU 行直接可见。已在 pm clear 后重新启动验证。 +- HUD:XRing/Mali 的 GPU load/clock/temp/thermal sysfs 对普通 App 拒绝访问,日志为 thermal zones 0、gpu load none、kgsl gpubusy refused。v21 在无数据时隐藏 GPU 统计行、VRAM=0 时隐藏 VRAM,只保留 GPU 型号;真正 GPU% / 温度 / 共享显存需要 root 或厂商遥测。 +- HUD 分辨率/卡死:v22 的 RES 不再用 Android displayMetrics 兜底,改用会话逻辑分辨率;桌面模式隐藏游戏 HUD,Steam/游戏模式显示。实测 Steam 下 HUD 为 RES 1280x720 @ 120Hz、FPS 42.8 / AVG 53.0。 +- CPU 温度/频率:v23 增加 USB/adb 辅助的 CPU 温度输入(/sdcard/DroidDeck/cpu-temp,由 update_cpu_temp.sh 每 2 秒写 cpu_therm);v24 把 HUD 的 CPU 行顺序改为“占用 → 频率 → 温度”,Full/Mega/Tiles 三种布局都生效。 +- 安装方式:官方 0.6.9(release key)与 testkey 不兼容,完整卸载 0.6.9 后通过 PackageInstaller 安装;App 数据已被清空,当前是全新状态(首次启动显示配置页)。 +- DNS 自动修复已在 APK 内;运行时 ubuntu-r1-rc4、Mali 桥接、proot、桌面需要重新下载/配置;此前 Steam Big Picture 和 1280x720 KWin 已验证,但当前新数据需重新登录。 +- com.droiddeck.launcher.mali:旧 0.5.4.2 仍安装,桌面可用,用于对比。 +- 注意:Steam chmod/软链接/pid 清理仍是 guest 运行时修改;清除 App 数据或重装运行时会丢失。 +- Terraria 1.4.5.8 启动修复(2026-11-01):`dotnet40` 组件把 `WINEDLLOVERRIDES` 设为 `mscoree=n`,但该组件没有原生 `mscoree.dll`,Wine 报 `mscoree.dll not found` 后直接退出。v25 的 `droiddeck-wincomponents` 对 `mscoree=n` 自动追加 builtin 回退(`mscoree=n,b`);`dotnet40` 仍启用时,Terraria 已稳定进入世界并显示 HUD。 -## Star history +## 9. 已知问题 / 下一步 - - - - Star history chart - - +1. DNS 自动修复已完成(见 5.2);仍需在不同 WiFi/无 WiFi 环境下回归,确认 localDnsServers 的回退行为。 +2. Steam 桌面 UI 在 Xwayland 下仍可能无窗口;继续使用“游玩 Steam”/Big Picture,不要用 Konsole 直接 steam。 +3. Steam 32 位组件 steamrtarm32 / steam-runtime-launcher-service 缺失;Big Picture 可用。Terraria 1.4.5.8 已进入世界,其他游戏仍待验证。 +4. vkcube 纹理断言是桥接兼容性 bug,可单独排查。 +5. 真实游戏帧率/Proton/DXVK 尚未测试;当前性能数据主要是桌面、vkgears、IO/CPU。 +6. 仍是 testkey;如需官方升级安装,需要官方 release keystore。 +7. 官方 0.6.9 与 testkey 不兼容:只能完整卸载后安装,App 数据会丢;官方 APK 备份在 /tmp/installed-069.apk(宿主)和 /sdcard/Download/DroidDeck-0.6.9.apk(平板),回滚同样要先卸载。 +8. HUD 的 Mali GPU load/temp/VRAM 受驱动 sysfs 权限限制;除非 root/厂商接口,普通 App 无法获取。v21 已移除误导性的 GPU - 和 VRAM 0.0,保留 GPU 型号。 + +## 10. 已放弃 / 不再使用 + +- r9 + 旧 session/helper/host 组合:KWin 窗口不稳定/黑屏,放弃。 +- proot fast path:实测负优化,关闭。 +- 代理强制给 Steam:本地 DNS 直连更稳定;Steam 更新器对 proxy 环境并不可靠。 + +## 截图 + +Terraria 1.4.5.8 在 DroidDeck v25 + Mali 桥接 + Wine Mono 下进入世界。HUD 的 CPU 行是“占用 → 频率 → 温度”: + +![DroidDeck v25 HUD / Terraria](docs/images/droiddeck-hud-v25-terraria.png) diff --git a/docs/openmali/README.md b/docs/openmali/README.md deleted file mode 100644 index 7c61036d3..000000000 --- a/docs/openmali/README.md +++ /dev/null @@ -1,244 +0,0 @@ -# openMali 工作区记录 - -> 本文件记录 2026-10-31 ~ 2026-11-01 在本机与小米平板上的 MaliBridge + DroidDeck 0.6.7 合并、构建、调试和性能测试结果。 -> 这是本地工程记录,不是上游发布文档。未特别说明的 APK 均为 testkey 签名。 - -## 1. 目标与结论 - -- 目标:把 MaliBridge v0.5.4.2 的 Mali GPU 支持合并进 DroidDeck 0.6.7 主线,构建可安装 APK,并在平板上进入桌面、跑通 Steam 和性能测试。 -- 已做到: - - 0.6.7 + MaliBridge v0.5.4.2 的合并包可安装。 - - Ubuntu rc4 运行时 + 内置最新 proot + KWin Zink/Mali 桥接,成功进入 KDE 桌面。 - - Steam 客户端下载/更新 100% 完成,进入 Steam 大屏幕登录页(二维码/账号密码)。 - - 完成 CPU、GPU、IO、内存、温度基线测试。 -- 关键结论:Mali 桥接本身没有成为瓶颈;真正的问题集中在 **运行时 DNS、proot 与 KWin 渲染栈**。当前 rc4 + packaged proot + render-node 是已验证可用的组合。 - -## 2. 设备与环境 - -- 设备:Xiaomi M367FC,SoC xring_o3_asic,GPU Mali-G2-Ultra-NX MC16,Android 17,内核 6.18.21。 -- CPU:10 核;内存 15.7 GB;存储 229 GB;屏幕 3408x2272;120 Hz。 -- Mali 驱动:ARM proprietary,Vulkan 1.4.345;桥接暴露 1.4.341。 -- 新 App:com.droiddeck.launcher,DroidDeck 0.6.7,versionCode 25(0.6.7-dnsfix-v25),testkey。 -- 旧 App:com.droiddeck.launcher.mali,DroidDeck-MaliBridge v0.5.4.2,versionCode 5042;保留用于对比,桌面可用。 - -## 3. 关键路径 - -- 新工程:/home/g/openMali/DroidDeck -- MaliBridge 子模块:/home/g/openMali/DroidDeck/external/MaliBridge,v0.5.4.2,提交 95a1e60 -- 合并基线:main 69ffc096,tag mali-0.6.7-v0.5.4.2 -- 旧版源码:/home/g/openMali/reference/mali0542-src -- 旧版 APK:/home/g/openMali/reference/DroidDeck-MaliBridge-v0.5.4.2.apk -- 最终 APK:/home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4.apk -- 基准/参考工具:/home/g/openMali/reference/vkbridge-bench,/home/g/openMali/reference/oldapk - -## 4. 已验证的修改 - -### 4.1 运行时与 proot - -- 运行时 catalog 从 Debian linuxfs.json(r9) 切到 Ubuntu: - - app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntimeInstaller.java - - CATALOG_URL = .../linuxfs-ubuntu.json -- 实际安装:ubuntu-r1-rc4;运行时约 3 GB;桌面栈另下载约 898 MB。 -- APK 不再排除 proot,改为内置最新官方 pack: - - pack-proot-172bb48b00150b42 - - 压缩包 SHA-256:172bb48b00150b4292ba171089abecdf7243c06edddd68bf42dddb8c5bb24e4e - - app/src/main/jniLibs/arm64-v8a/libproot.so(246,512 B) - - app/src/main/jniLibs/arm64-v8a/libproot-loader.so(18,136 B) - - app/build.gradle 移除 libproot.so / libproot-loader.so 的 excludes -- LinuxRuntime: - - 优先使用 nativeLibraryDir 中的 packaged proot/loader。 - - 新增 PROOT_PACKAGED 来源;isInstalled 接受 packaged proot。 - - prootSource 显示 packaged;ProotFastPath 只允许 PROOT_PACK,因此当前 fast path 关闭。 -- 旧 r9 + 旧 session/helper/host 的 0.6.7 组合已尝试但放弃: - - KWin 曾能打开 3408x2272 窗口,但新 host 不显示、会话不稳定。 - - 该路线不作为最终方案。 - -### 4.2 proot fast path 实验 - -- 临时允许 packaged proot 走 fast path,实测反而更慢: - - fast path off(当前):sha256 256 MB 207 ms,gzip -1 405 ms,read 3.9 GB/s。 - - fast path on:sha256 259 ms,gzip 461 ms,read 3.8 GB/s。 -- 结论:该 pack 的 fast path 对 CPU/IO 是负优化,已恢复默认关闭;源码 ProotFastPath 也恢复为只允许 PROOT_PACK。 - -### 4.3 桌面 / KWin / Mali 桥接 - -- tools/linuxfs/desktop/droiddeck-desktop 的 KWin OpenGL 分支: - - 设置 KWIN_COMPOSE=O2、MESA_LOADER_DRIVER_OVERRIDE=zink、GALLIUM_DRIVER=zink、LIBGL_KOPPER_DRI2=true。 - - KWIN_RENDER_NODES 自动选择 /dev/dri/renderD0、/dev/dri/renderD307 或任意 /dev/dri/renderD*。 - - 在平板上实际使用 /dev/dri/renderD307(由 /dev/mali0 绑定)。 -- /usr/share/droiddeck/kwin-compositor 为 opengl。 -- 效果: - - DroidDeckWayland 日志出现 [window] opened KDE Wayland Compositor 1280x720。 - - host 统计出现 GPU frames,不再出现 kwin software fallback / black picture。 - - KDE 桌面、任务栏、应用菜单正常。 -- 分辨率: - - displayResolution.lxqt 设为 720p(1280x720)。 - - 720p 与 900p 的 vkgears 都是约 119.8 FPS,说明 GPU 已到 120 Hz 上限;720p 只减少缩放/带宽。 -- Steam 大屏幕模式: - - app 的“游玩 Steam”使用 gamescope/Big Picture。 - - DroidDeckWayland 日志:Steam 大屏幕模式 1280x720,86.4 fps,875 GPU frames。 - - 可用 Steam 登录页。 - -### 4.4 UI / 桥接文案 - -- GpuInfo 恢复 bridge-aware supportText(bridge),新增 gpuinfo_bridge / gpuinfo_bridge_off 字符串。 -- DeviceInfo / DeviceReport / DriverMenus 使用当前 Mali 桥接状态显示支持文案。 -- LinuxRuntime 恢复 bridgeStandIn 的 DRM render node 回退逻辑。 -- 注意:Setup 顶部仍可能显示“GPU 不受支持”的旧标签(GpuDriversState 的 unsupported 标志),但下方已显示“实验性 Vulkan 桥接已开启”,桥接实际工作正常。 - -## 5. DNS 与 Steam - -### 5.1 根因 - -- guest /etc/resolv.conf 被写成: - - 1.1.1.1 - - 8.8.8.8 - - 2001:4860:4860::8888 -- 当前网络下这些公共 DNS 解析超时: - - curl: (28) Resolving timed out after 10001 milliseconds -- 设备实际 WiFi DNS 是 192.168.1.1;guest 改用该 DNS 后: - - getent 能解析 client-update.steamstatic.com。 - - curl -I https://client-update.steamstatic.com/steam_client_linuxarm64 返回 200。 -- 结论:Steam 下载失败是 DNS,不是 Steam/GPU/代理。 - -### 5.2 已修复:App 自动获取本地 DNS - -- 修改 app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt: - - 新增 localDnsServers(),用 ConnectivityManager.allNetworks 遍历 WiFi/Ethernet 网络(排除 VPN)。 - - 收集这些网络的 DNS,并把默认路由 gateway 作为本地 DNS 兜底。 - - 私有地址(192.168/10.x)和 IPv4 优先。 - - writeResolver 的顺序:localDnsServers() + 当前 active network DNS + 公共 DNS 兜底。 -- 验证(2026-11-01,dnsfix APK): - - logcat:LinuxNetworkLink: resolver: 192.168.1.1 8.8.8.8 1.1.1.1 2001:4860:4860::8888 - - guest /etc/resolv.conf 第一行是 nameserver 192.168.1.1。 - - getent hosts store.steampowered.com 正常;curl -I https://store.steampowered.com 返回 200。 - - 旧 guest DNS 守护 /root/.config/plasma-workspace/env/01-dns-guard.sh 已删除;没有守护进程仍正常。 -- 说明:只取 WiFi/Ethernet 的本地 DNS;没有 WiFi/Ethernet 时回退到 active network/公共 DNS。VPN 的 10.10.14.1 不会被误当 DNS。 - -### 5.3 Steam 客户端修复 - -- Steam 主程序下载后权限为 666: - - /root/.local/share/Steam/steamrtarm64/steam - - 需 chmod +x;更新后变为 700 也可执行。 -- 需要数据目录软链接: - - /root/.steam/steam -> /root/.local/share/Steam - - /root/.steam/root -> /root/.local/share/Steam -- stale pid: - - /root/.steam/steam.pid 可能残留已死 PID,导致 “Steam is already running”;启动前删除。 -- 不要在 Konsole 里用桌面 UI 方式启动 steam: - - 会走 Xwayland/CEF,遇到 XRRGetOutputInfo() is not available / 无窗口。 - - 应从 DroidDeck 的“游玩 Steam”启动 Big Picture/gamescope。 -- 已验证(2026-11-01): - - Steam 客户端更新 575,927 KB 到 100%。 - - Big Picture 已登录,库中显示 Shadow of the Tomb Raider 等游戏。 - - 32 位 steamrtarm32/steam-runtime-launcher-service 缺失的日志仍会出现,但 Big Picture 可用;游戏启动尚未验证。 - -## 6. 性能测试 - -### 6.1 存储 IO - -| 路径 | 写 | 读 | -|---|---:|---:| -| Android /data/local/tmp | 1.0 GB/s | 4.7 GB/s | -| Android /sdcard | 0.94 GB/s | 4.3 GB/s | -| Guest proot(fast path off) | 1.2 GB/s | 3.9 GB/s | - -Guest 读取比 host 低约 17%,是 proot 路径开销;写入不慢。 - -### 6.2 CPU - -| 项目 | Host | Guest | -|---|---:|---:| -| sha256 256 MB 单线程 | 267 ms | 207 ms | -| sha256 4x256 MB 4 线程 | 256 ms(约 4 GB/s 聚合) | 216 ms(约 4.7 GB/s 聚合) | -| gzip -1 256 MB | 307 ms | 405 ms(+32%) | - -注意:host/guest 的 sha256 实现不同,不能直接比较;gzip 更接近,proot 下约慢 30%。 - -### 6.3 GPU - -- vkgears:119.86 FPS(600 帧/5 秒),720p 与 900p 基本一致,已到 120 Hz 上限。 -- 早期桥接基准:128 MiB copy 20.5 GB/s;空 submit 约 70 µs;4 KiB copy+submit 约 285 µs。 -- Steam Big Picture:1280x720,约 86.4 fps,875 GPU frames。 -- vkcube 在纹理路径触发断言(demo_prepare_texture_image),属于桥接兼容性问题,不是性能问题。 - -### 6.4 温度 / 内存 - -- CPU 29–33 °C,GPU 31–46.5 °C,Thermal Status 0,无节流。 -- 电池约 28 °C,64%。 -- 内存:15.7 GB 总,约 8.3 GB 已用,7.1 GB 可用,swap 约 2.6 GB。 -- 没有内存告急,但 swap 偏高;游戏前可重启/关闭后台。 - -### 6.5 v25 复测(2026-11-01 18:32) - -环境:DroidDeck v25;GPU/IO 在 lxqt 桌面 1920x1080@120 测,CPU 分别测桌面和 Steam 会话;游戏 FPS 取自 Terraria 世界内 HUD。Thermal Status 0,CPU 32.8 °C,GPU max 34.8–46.5 °C,电池 31.8 °C / 92%。 - -| 项目 | v25 实测 | 说明 | -|---|---:|---| -| sha256 256 MB 单线程 | 桌面 283–322 ms;Steam 219–241 ms | Steam 会话约 230 ms,接近此前 207 ms | -| gzip -1 256 MB | 桌面 514–534 ms;Steam 355–357 ms | Steam 会话约 356 ms;此前约 405 ms | -| sha256 4×256 MB | Steam 222–269 ms;桌面 262–275 ms | 4 线程 | -| Host /data/local/tmp O_DIRECT | 写 1060 / 读 1450 MB/s | 绕过 page cache | -| Guest /root ext4 | 写 876 / 读 2337 MB/s | fdatasync;O_DIRECT 写 1270 MB/s | -| Guest /root/Storage | 写 920 / 读 3029 MB/s | 读受 page cache 影响 | -| vkgears 1280x720 | 115.8 FPS,p50 111.1,p99 25 ms | 4 秒采样 | -| vkgears 1920x1080 | 113.2 FPS,p99 31 ms | 2 秒采样 | -| Terraria 1280x720@120 | 59.9 FPS,AVG 49.3,1% 22.7 | HUD;CPU 36% / 2668 MHz / 33 °C,GPU 1% | -| 内存 | 总 15.7 GB,可用 8.7 GB | Guest 已用 6.7 GB,swap 2.2 GB | - -结论:GPU 与之前 119.86 FPS 基本一致(低约 3–4%),Terraria 稳定 60 FPS;IO 正常;测试期间无热节流。CPU 在 Steam 会话约 230 ms / 356 ms,接近或优于此前 207 ms / 405 ms;桌面会话因升频状态较低,v25 无 CPU 回归。 - -## 7. 构建与安装 - -- 构建: - - cd /home/g/openMali/DroidDeck - - ./gradlew :app:assembleRelease -PndkVersion=27.3.13750724 -- 修改 runtime inputs 后先记录: - - python3 tools/release/runtime_inputs.py record -- APK(DNS 自动修复 + GPU 状态文案 + HUD/CPU 温度 + mscoree 兜底,当前安装): - - /home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4-dnsfix-v25.apk - - 76 MB;versionCode 25;versionName 0.6.7-dnsfix-v25 - - SHA-256 9808a8ab17f2d9a39e0b3abc9a05c2ee1c07ec7f4ac7cfa77866b2229fb6eb82 - - 上一版保留:v24(SHA-256 56b0ab03c0120c2a7a6ad0e4ed8d30a748021d7fe9e99a13b60f62a41e13b5e0)、v23(SHA-256 b0fadc5c...)、v22(SHA-256 69cd4f5f...)、v21(SHA-256 508294a6...)、v20(SHA-256 afd1ce12...)、v19(SHA-256 f63f4eae...)、v18(SHA-256 cc469703...)、v16 DroidDeck-0.6.7-Mali-rc4-dnsfix.apk(SHA-256 6c5f8c1f...)和 DroidDeck-0.6.7-Mali-rc4.apk(无 App 内 DNS 修复,SHA-256 c58fcc58...)。 - - testkey 签名;官方 release 私钥不在本机。 -- MIUI 安装: - - 对已安装的旧包,adb push + adb shell pm install -r 可更新。 - - 对全新安装,MIUI 会报 INSTALL_FAILED_USER_RESTRICTED;需用文件管理器打开 APK,走 PackageInstaller,并在“是否允许 Shell 安装应用”点允许。 - - 官方 0.6.9 是 release key,testkey 包不能就地升级/降级;必须完整卸载,App 数据会被清空。 - -## 8. 当前安装状态 - -- com.droiddeck.launcher:0.6.7-dnsfix-v25(versionCode 25,testkey),2026-11-01 18:25 就地更新安装,App 数据保留。 -- GPU 状态:Setup 概览显示“GPU 通过 Mali 桥接”,绿色通过;不再显示“GPU 不受支持”。实现为 FrontEndSetup 的 gpuOk 包含 s.vkBridge,并新增 setup_gpu_bridged 文案。 -- 修复“清数据重启后 GPU 菜单消失”:showChecks 默认值从 false 改为 s.vkBridge;桥接开启时详情默认展开,GPU 行直接可见。已在 pm clear 后重新启动验证。 -- HUD:XRing/Mali 的 GPU load/clock/temp/thermal sysfs 对普通 App 拒绝访问,日志为 thermal zones 0、gpu load none、kgsl gpubusy refused。v21 在无数据时隐藏 GPU 统计行、VRAM=0 时隐藏 VRAM,只保留 GPU 型号;真正 GPU% / 温度 / 共享显存需要 root 或厂商遥测。 -- HUD 分辨率/卡死:v22 的 RES 不再用 Android displayMetrics 兜底,改用会话逻辑分辨率;桌面模式隐藏游戏 HUD,Steam/游戏模式显示。实测 Steam 下 HUD 为 RES 1280x720 @ 120Hz、FPS 42.8 / AVG 53.0。 -- CPU 温度/频率:v23 增加 USB/adb 辅助的 CPU 温度输入(/sdcard/DroidDeck/cpu-temp,由 update_cpu_temp.sh 每 2 秒写 cpu_therm);v24 把 HUD 的 CPU 行顺序改为“占用 → 频率 → 温度”,Full/Mega/Tiles 三种布局都生效。 -- 安装方式:官方 0.6.9(release key)与 testkey 不兼容,完整卸载 0.6.9 后通过 PackageInstaller 安装;App 数据已被清空,当前是全新状态(首次启动显示配置页)。 -- DNS 自动修复已在 APK 内;运行时 ubuntu-r1-rc4、Mali 桥接、proot、桌面需要重新下载/配置;此前 Steam Big Picture 和 1280x720 KWin 已验证,但当前新数据需重新登录。 -- com.droiddeck.launcher.mali:旧 0.5.4.2 仍安装,桌面可用,用于对比。 -- 注意:Steam chmod/软链接/pid 清理仍是 guest 运行时修改;清除 App 数据或重装运行时会丢失。 -- Terraria 1.4.5.8 启动修复(2026-11-01):`dotnet40` 组件把 `WINEDLLOVERRIDES` 设为 `mscoree=n`,但该组件没有原生 `mscoree.dll`,Wine 报 `mscoree.dll not found` 后直接退出。v25 的 `droiddeck-wincomponents` 对 `mscoree=n` 自动追加 builtin 回退(`mscoree=n,b`);`dotnet40` 仍启用时,Terraria 已稳定进入世界并显示 HUD。 - -## 9. 已知问题 / 下一步 - -1. DNS 自动修复已完成(见 5.2);仍需在不同 WiFi/无 WiFi 环境下回归,确认 localDnsServers 的回退行为。 -2. Steam 桌面 UI 在 Xwayland 下仍可能无窗口;继续使用“游玩 Steam”/Big Picture,不要用 Konsole 直接 steam。 -3. Steam 32 位组件 steamrtarm32 / steam-runtime-launcher-service 缺失;Big Picture 可用。Terraria 1.4.5.8 已进入世界,其他游戏仍待验证。 -4. vkcube 纹理断言是桥接兼容性 bug,可单独排查。 -5. 真实游戏帧率/Proton/DXVK 尚未测试;当前性能数据主要是桌面、vkgears、IO/CPU。 -6. 仍是 testkey;如需官方升级安装,需要官方 release keystore。 -7. 官方 0.6.9 与 testkey 不兼容:只能完整卸载后安装,App 数据会丢;官方 APK 备份在 /tmp/installed-069.apk(宿主)和 /sdcard/Download/DroidDeck-0.6.9.apk(平板),回滚同样要先卸载。 -8. HUD 的 Mali GPU load/temp/VRAM 受驱动 sysfs 权限限制;除非 root/厂商接口,普通 App 无法获取。v21 已移除误导性的 GPU - 和 VRAM 0.0,保留 GPU 型号。 - -## 10. 已放弃 / 不再使用 - -- r9 + 旧 session/helper/host 组合:KWin 窗口不稳定/黑屏,放弃。 -- proot fast path:实测负优化,关闭。 -- 代理强制给 Steam:本地 DNS 直连更稳定;Steam 更新器对 proxy 环境并不可靠。 - -## 截图 - -Terraria 1.4.5.8 在 DroidDeck v25 + Mali 桥接 + Wine Mono 下进入世界。HUD 的 CPU 行是“占用 → 频率 → 温度”: - -![DroidDeck v25 HUD / Terraria](../images/droiddeck-hud-v25-terraria.png) From 99dce74b095c93f1222ab2333b70edebaf8f02be Mon Sep 17 00:00:00 2001 From: DroidDeck Merge Date: Mon, 2 Nov 2026 10:43:42 +0800 Subject: [PATCH 34/38] fix: address maintainer review (restore README, revert version bump) --- README.md | 321 +++++++++++++++------------------------- app/build.gradle | 4 +- docs/openmali/README.md | 244 ++++++++++++++++++++++++++++++ 3 files changed, 364 insertions(+), 205 deletions(-) create mode 100644 docs/openmali/README.md diff --git a/README.md b/README.md index abfbf5f2f..646d70214 100644 --- a/README.md +++ b/README.md @@ -1,244 +1,159 @@ -# openMali 工作区记录 +

    + + + DroidDeck + +

    -> 本文件记录 2026-10-31 ~ 2026-11-01 在本机与小米平板上的 MaliBridge + DroidDeck 0.6.7 合并、构建、调试和性能测试结果。 -> 这是本地工程记录,不是上游发布文档。未特别说明的 APK 均为 testkey 签名。 +DroidDeck brings the SteamOS experience to Android: Steam Gaming Mode, full Linux desktop, integration with GOG, Epic Games, Xbox, and other storefronts, Steam VR, and more! -## 1. 目标与结论 +

    100% open source. No ads. No telemetry. No source withheld.

    -- 目标:把 MaliBridge v0.5.4.2 的 Mali GPU 支持合并进 DroidDeck 0.6.7 主线,构建可安装 APK,并在平板上进入桌面、跑通 Steam 和性能测试。 -- 已做到: - - 0.6.7 + MaliBridge v0.5.4.2 的合并包可安装。 - - Ubuntu rc4 运行时 + 内置最新 proot + KWin Zink/Mali 桥接,成功进入 KDE 桌面。 - - Steam 客户端下载/更新 100% 完成,进入 Steam 大屏幕登录页(二维码/账号密码)。 - - 完成 CPU、GPU、IO、内存、温度基线测试。 -- 关键结论:Mali 桥接本身没有成为瓶颈;真正的问题集中在 **运行时 DNS、proot 与 KWin 渲染栈**。当前 rc4 + packaged proot + render-node 是已验证可用的组合。 +

    + Download DroidDeck 0.6.7 + Join the DroidDeck Discord +

    -## 2. 设备与环境 +

    + Star History Rank +

    -- 设备:Xiaomi M367FC,SoC xring_o3_asic,GPU Mali-G2-Ultra-NX MC16,Android 17,内核 6.18.21。 -- CPU:10 核;内存 15.7 GB;存储 229 GB;屏幕 3408x2272;120 Hz。 -- Mali 驱动:ARM proprietary,Vulkan 1.4.345;桥接暴露 1.4.341。 -- 新 App:com.droiddeck.launcher,DroidDeck 0.6.7,versionCode 25(0.6.7-dnsfix-v25),testkey。 -- 旧 App:com.droiddeck.launcher.mali,DroidDeck-MaliBridge v0.5.4.2,versionCode 5042;保留用于对比,桌面可用。 +

    + Droid-Deck%2FDroidDeck | Trendshift + Droid-Deck%2FDroidDeck | Trendshift +

    -## 3. 关键路径 +

    On a Retroid Pocket Duo: Play Steam from the DroidDeck launcher, open Pac-Man in Steam Big Picture and play it, exit the game, then Switch to Desktop from the Power menu

    -- 新工程:/home/g/openMali/DroidDeck -- MaliBridge 子模块:/home/g/openMali/DroidDeck/external/MaliBridge,v0.5.4.2,提交 95a1e60 -- 合并基线:main 69ffc096,tag mali-0.6.7-v0.5.4.2 -- 旧版源码:/home/g/openMali/reference/mali0542-src -- 旧版 APK:/home/g/openMali/reference/DroidDeck-MaliBridge-v0.5.4.2.apk -- 最终 APK:/home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4.apk -- 基准/参考工具:/home/g/openMali/reference/vkbridge-bench,/home/g/openMali/reference/oldapk +> DroidDeck has no website. Only download it from this repository's [Releases](https://github.com/Droid-Deck/DroidDeck/releases). -## 4. 已验证的修改 +

    + The Library switching source chips, changing the card size and opening the Filter menu + A Windows game running through Proton with the on-screen controls + Two controllers playing split screen on one handheld + The Kubuntu desktop with Discover open +

    -### 4.1 运行时与 proot +## Install -- 运行时 catalog 从 Debian linuxfs.json(r9) 切到 Ubuntu: - - app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntimeInstaller.java - - CATALOG_URL = .../linuxfs-ubuntu.json -- 实际安装:ubuntu-r1-rc4;运行时约 3 GB;桌面栈另下载约 898 MB。 -- APK 不再排除 proot,改为内置最新官方 pack: - - pack-proot-172bb48b00150b42 - - 压缩包 SHA-256:172bb48b00150b4292ba171089abecdf7243c06edddd68bf42dddb8c5bb24e4e - - app/src/main/jniLibs/arm64-v8a/libproot.so(246,512 B) - - app/src/main/jniLibs/arm64-v8a/libproot-loader.so(18,136 B) - - app/build.gradle 移除 libproot.so / libproot-loader.so 的 excludes -- LinuxRuntime: - - 优先使用 nativeLibraryDir 中的 packaged proot/loader。 - - 新增 PROOT_PACKAGED 来源;isInstalled 接受 packaged proot。 - - prootSource 显示 packaged;ProotFastPath 只允许 PROOT_PACK,因此当前 fast path 关闭。 -- 旧 r9 + 旧 session/helper/host 的 0.6.7 组合已尝试但放弃: - - KWin 曾能打开 3408x2272 窗口,但新 host 不显示、会话不稳定。 - - 该路线不作为最终方案。 +1. Android 9 or newer on Adreno 730 or newer, or any 8xx. Adreno 6xx is experimental. Mali, Xclipse, PowerVR and Adreno 710 are unsupported. No root needed. +2. About 3 GB free for the runtime, plus 1.1 GB for the desktop and emulators. +3. Install the [APK](https://github.com/Droid-Deck/DroidDeck/releases/download/0.6.7/DroidDeck-0.6.7.apk), install the Linux runtime, press **Play** and sign in to Steam. +4. On Android 14 and newer, turn on **Disable child process restrictions** in Developer options. On Android 12 and 13, Steam's first launch shows a **Fix it for me** button that walks you through it. -### 4.2 proot fast path 实验 +Smart glasses setup is in the [support matrix](docs/smart-glasses-support.md). Release notes are in [docs/releases](docs/releases). -- 临时允许 packaged proot 走 fast path,实测反而更慢: - - fast path off(当前):sha256 256 MB 207 ms,gzip -1 405 ms,read 3.9 GB/s。 - - fast path on:sha256 259 ms,gzip 461 ms,read 3.8 GB/s。 -- 结论:该 pack 的 fast path 对 CPU/IO 是负优化,已恢复默认关闭;源码 ProotFastPath 也恢复为只允许 PROOT_PACK。 +Help, Preview builds and device reports are on [Discord](https://discord.gg/JRGAvawjsm). For bugs, post in **#bug-reports** with the zip from **Share logs**. -### 4.3 桌面 / KWin / Mali 桥接 +## Build -- tools/linuxfs/desktop/droiddeck-desktop 的 KWin OpenGL 分支: - - 设置 KWIN_COMPOSE=O2、MESA_LOADER_DRIVER_OVERRIDE=zink、GALLIUM_DRIVER=zink、LIBGL_KOPPER_DRI2=true。 - - KWIN_RENDER_NODES 自动选择 /dev/dri/renderD0、/dev/dri/renderD307 或任意 /dev/dri/renderD*。 - - 在平板上实际使用 /dev/dri/renderD307(由 /dev/mali0 绑定)。 -- /usr/share/droiddeck/kwin-compositor 为 opengl。 -- 效果: - - DroidDeckWayland 日志出现 [window] opened KDE Wayland Compositor 1280x720。 - - host 统计出现 GPU frames,不再出现 kwin software fallback / black picture。 - - KDE 桌面、任务栏、应用菜单正常。 -- 分辨率: - - displayResolution.lxqt 设为 720p(1280x720)。 - - 720p 与 900p 的 vkgears 都是约 119.8 FPS,说明 GPU 已到 120 Hz 上限;720p 只减少缩放/带宽。 -- Steam 大屏幕模式: - - app 的“游玩 Steam”使用 gamescope/Big Picture。 - - DroidDeckWayland 日志:Steam 大屏幕模式 1280x720,86.4 fps,875 GPU frames。 - - 可用 Steam 登录页。 +Needs Docker, Java 17, the Android SDK and NDK, Rust via rustup, GitHub CLI, Python 3 and `zstd`. -### 4.4 UI / 桥接文案 +```bash +tools/build_local.sh +``` -- GpuInfo 恢复 bridge-aware supportText(bridge),新增 gpuinfo_bridge / gpuinfo_bridge_off 字符串。 -- DeviceInfo / DeviceReport / DriverMenus 使用当前 Mali 桥接状态显示支持文案。 -- LinuxRuntime 恢复 bridgeStandIn 的 DRM render node 回退逻辑。 -- 注意:Setup 顶部仍可能显示“GPU 不受支持”的旧标签(GpuDriversState 的 unsupported 标志),但下方已显示“实验性 Vulkan 桥接已开启”,桥接实际工作正常。 +The APK lands in `app/build/outputs/apk/release/`. Install it with `tools/deploy_local.sh`. After the first run, `./gradlew :app:assembleRelease` reuses the prepared inputs. Unit tests run with `./gradlew -PskipRust=true :app:testDebugUnitTest`, and the helper and preload suite with `bash tools/test_local.sh`. -## 5. DNS 与 Steam +On Windows, see `tools/run_windows.ps1` and `tools/prepare_windows_runtime.py`. -### 5.1 根因 +## Limits -- guest /etc/resolv.conf 被写成: - - 1.1.1.1 - - 8.8.8.8 - - 2001:4860:4860::8888 -- 当前网络下这些公共 DNS 解析超时: - - curl: (28) Resolving timed out after 10001 milliseconds -- 设备实际 WiFi DNS 是 192.168.1.1;guest 改用该 DNS 后: - - getent 能解析 client-update.steamstatic.com。 - - curl -I https://client-update.steamstatic.com/steam_client_linuxarm64 返回 200。 -- 结论:Steam 下载失败是 DNS,不是 Steam/GPU/代理。 +Compatibility and performance vary by device. Desktop compositing is software rendered, and Firefox sandboxing is reduced under proot. -### 5.2 已修复:App 自动获取本地 DNS +## Credits and licence -- 修改 app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt: - - 新增 localDnsServers(),用 ConnectivityManager.allNetworks 遍历 WiFi/Ethernet 网络(排除 VPN)。 - - 收集这些网络的 DNS,并把默认路由 gateway 作为本地 DNS 兜底。 - - 私有地址(192.168/10.x)和 IPv4 优先。 - - writeResolver 的顺序:localDnsServers() + 当前 active network DNS + 公共 DNS 兜底。 -- 验证(2026-11-01,dnsfix APK): - - logcat:LinuxNetworkLink: resolver: 192.168.1.1 8.8.8.8 1.1.1.1 2001:4860:4860::8888 - - guest /etc/resolv.conf 第一行是 nameserver 192.168.1.1。 - - getent hosts store.steampowered.com 正常;curl -I https://store.steampowered.com 返回 200。 - - 旧 guest DNS 守护 /root/.config/plasma-workspace/env/01-dns-guard.sh 已删除;没有守护进程仍正常。 -- 说明:只取 WiFi/Ethernet 的本地 DNS;没有 WiFi/Ethernet 时回退到 active network/公共 DNS。VPN 的 10.10.14.1 不会被误当 DNS。 +DroidDeck is [GPL-3.0](LICENSE). Steam and Proton belong to Valve Corporation. VITURE, RayNeo, XREAL, Rokid, REDMAGIC, Nintendo Switch and Joy-Con are trademarks of their owners. This project is not affiliated with any of them. -### 5.3 Steam 客户端修复 +
    +Runtime, Wine and Proton -- Steam 主程序下载后权限为 666: - - /root/.local/share/Steam/steamrtarm64/steam - - 需 chmod +x;更新后变为 700 也可执行。 -- 需要数据目录软链接: - - /root/.steam/steam -> /root/.local/share/Steam - - /root/.steam/root -> /root/.local/share/Steam -- stale pid: - - /root/.steam/steam.pid 可能残留已死 PID,导致 “Steam is already running”;启动前删除。 -- 不要在 Konsole 里用桌面 UI 方式启动 steam: - - 会走 Xwayland/CEF,遇到 XRRGetOutputInfo() is not available / 无窗口。 - - 应从 DroidDeck 的“游玩 Steam”启动 Big Picture/gamescope。 -- 已验证(2026-11-01): - - Steam 客户端更新 575,927 KB 到 100%。 - - Big Picture 已登录,库中显示 Shadow of the Tomb Raider 等游戏。 - - 32 位 steamrtarm32/steam-runtime-launcher-service 缺失的日志仍会出现,但 Big Picture 可用;游戏启动尚未验证。 +- Runtime, shim, input and controller work build on WinNative and Bannerlator by maxjivi05. +- mmap ring buffer controller input by ribbit384 ([WinNative #345](https://github.com/WinNative-Emu/WinNative/pull/345)). +- [FEX](https://github.com/FEX-Emu/FEX) (MIT) runs x86 code. DroidDeck's build puts the platform name under `AT_PLATFORM` so [sharun](https://github.com/VHSgunzo/sharun) AppImages by VHSgunzo (MIT) start through its [userland-execve](https://crates.io/crates/userland-execve) loader (MIT). FEX's code disk cache was checked in its source. +- x86 AppImages, and arm64 ones whose runtime can't unpack on Android, are unpacked with [uruntime](https://github.com/VHSgunzo/uruntime) by VHSgunzo (MIT), shipped unmodified with its licence. +- x86 programs linking OpenSSL 3 use the copy in the [Steam Linux Runtime 4.0](https://gitlab.steamos.cloud/steamrt/steamrt). x86 Linux games get the `/etc/asound.conf` that [pressure-vessel](https://gitlab.steamos.cloud/steamrt/steam-runtime-tools) writes. +- `WriteProcessMemory` hooks fall back to `/proc//mem` the way [Wine](https://gitlab.winehq.org/wine/wine)'s `server/ptrace.c` did before Wine 11. +- Wine write watches use userfaultfd support in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/ntdll/unix/virtual.c` (LGPL-2.1-or-later). libblsession supplies the arm64 syscall number and answers `PAGEMAP_SCAN` from `/proc/self/pagemap`. +- libblsession runs Wine's arm64 `SIGUSR2` context handler (`dlls/ntdll/unix/signal_arm64.c`, LGPL-2.1-or-later) in place on a frame laid out like [Linux](https://github.com/torvalds/linux)'s `arch/arm64/kernel/signal.c`, and serves `fill_vm_counters` in `dlls/ntdll/unix/process.c` the kernel's own `/proc//status`. +- droiddeck-ntsync follows the [Linux](https://github.com/torvalds/linux) ntsync semantics in `Documentation/userspace-api/ntsync.rst` (GPL-2.0). +- The proot fast path orders bindings like [PRoot](https://github.com/proot-me/proot)'s `path/binding.c` (GPL-2.0-or-later). +- DiRT 3 and DiRT Showdown keep their telemetry socket the way RoccoC's DiRTTelemetryErrorFix (MIT) does, based on the fix by Carsten Gottschling. +- Games use [Mesa](https://gitlab.freedesktop.org/mesa/mesa) Turnip's per render pass memory choice. The Steam client keeps `TU_DEBUG=sysmem`. +- Black Ops III and Dark Souls Remastered start without [umu-protonfixes](https://github.com/Open-Wine-Components/umu-protonfixes) (BSD-2-Clause), whose `311210.py` and `570940.py` fail under ARM64 Proton. +- [ReSkate](https://github.com/Dingo-Shenanigans/ReSkate) (GPL-3.0) by Dingo Shenanigans uses the launch option from its README and D3D12 feature level 12_1. +- The arm64 client's sign in was checked by reading Steam's saved token with the `ConnectCache` format from [deadlock-api-ingest](https://github.com/deadlock-api/deadlock-api-ingest). -## 6. 性能测试 +
    -### 6.1 存储 IO +
    +Stores -| 路径 | 写 | 读 | -|---|---:|---:| -| Android /data/local/tmp | 1.0 GB/s | 4.7 GB/s | -| Android /sdcard | 0.94 GB/s | 4.3 GB/s | -| Guest proot(fast path off) | 1.2 GB/s | 3.9 GB/s | +- Epic Games and GOG build on [Phobos](https://github.com/phobos665)'s adaptation of [Legendary](https://github.com/legendary-gl/legendary) and [gogdl](https://github.com/Heroic-Games-Launcher/heroic-gogdl). GOG install script registry entries are read the way [Heroic Games Launcher](https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher) (GPL-3.0) reads them. +- Epic's official Linux launcher preview runs through FEX. That setup is outside Epic's listed Linux support. +- Battle.net is by [@kayakyakr](https://github.com/kayakyakr). It runs Blizzard's own client in Proton (downloaded from Blizzard, not included) and shows key art from the [Battle.net Shop](https://shop.battle.net). Without Steam, its games see the pad as an Xbox 360 controller via `PROTON_SPOOF_STEAMINPUT_VIDPID` in [Proton](https://github.com/ValveSoftware/wine)'s `dlls/winebus.sys`. +- Battle.net installs drive Blizzard's Agent the way [@barncastle](https://github.com/barncastle)'s [Battle.Net-Installer](https://github.com/barncastle/Battle.Net-Installer) does, with requests from [wowdev.wiki](https://wowdev.wiki/Agent). Read without taking code: [@mubaraknumann](https://github.com/mubaraknumann)'s [unifideck](https://github.com/mubaraknumann/unifideck), [@djmittens](https://github.com/djmittens)'s [neo-mittens](https://github.com/djmittens/neo-mittens) `bnetswitch`, [@BCD1210](https://github.com/BCD1210)'s [soju](https://github.com/BCD1210/soju) and [Lutris](https://github.com/lutris/lutris)'s `product.db` reader. +- Xbox games load [@domsvoboda](https://github.com/domsvoboda)'s [xodus-nexus](https://github.com/domsvoboda/xodus-nexus) modules (LGPL-2.1-or-later), including `wintypes.dll`. Minecraft's GameInput setup was checked against [@Wyze3306](https://github.com/Wyze3306)'s [BedrockOnLinux](https://github.com/Wyze3306/BedrockOnLinux) (MIT). +- The Xbox Cloud Gaming player uses the WebRTC client of [@unknownskl](https://github.com/unknownskl)'s [Greenlight](https://github.com/unknownskl/greenlight) (MIT), and its offer tweaks and sharpening follow [@redphx](https://github.com/redphx)'s [Better xCloud](https://github.com/redphx/better-xcloud) (MIT). See `tools/xcloud-player/NOTICE.md`. +- The itch.io butler pack ships butler's `7z.so`, itch.io's build of [7-Zip](https://www.7-zip.org) by Igor Pavlov (LGPL-2.1, unRAR restriction on RAR code), unmodified. Other archives use Apache Commons Compress and the runtime's bsdtar (libarchive). +- The Store uses [Flatpak](https://github.com/flatpak/flatpak) (LGPL-2.1) through DroidDeck's own bubblewrap shim. Chromium and Electron apps start directly, since [zypak](https://github.com/refi64/zypak) by [@refi64](https://github.com/refi64) (BSD-3-Clause) always uses Flatpak's spawn portal. +- Folder sync runs [Syncthing](https://github.com/syncthing/syncthing) (MPL-2.0), built from [@researchxxl](https://github.com/researchxxl)'s [syncthing-android](https://github.com/researchxxl/syncthing-android) fork (MPL-2.0). -Guest 读取比 host 低约 17%,是 proot 路径开销;写入不慢。 +
    -### 6.2 CPU +
    +Audio, video and HUD -| 项目 | Host | Guest | -|---|---:|---:| -| sha256 256 MB 单线程 | 267 ms | 207 ms | -| sha256 4x256 MB 4 线程 | 256 ms(约 4 GB/s 聚合) | 216 ms(约 4.7 GB/s 聚合) | -| gzip -1 256 MB | 307 ms | 405 ms(+32%) | +- Steam audio goes through [@The412Banner](https://github.com/The412Banner)'s [DirectAudio](https://github.com/The412Banner/directaudio) PulseAudio sink (LGPL-2.1-or-later), built from `tools/directaudio/sink`. +- The DroidDeck HUD is [@The412Banner](https://github.com/The412Banner)'s [FusionHUD](https://github.com/The412Banner/FusionHUD) (GPL-3.0 with an attribution term). Its readings match Valve's [MangoHud](https://github.com/flightlessmango/MangoHud) build (MIT), with frame times from gamescope patch 0125. +- The HUD's CPU, GPU load, thermal and battery readers come from [@xXJSONDeruloXx](https://github.com/xXJSONDeruloXx)'s work. +- LSFG frame generation comes from Camille LaVey and the [Eden](https://eden-emu.dev) project, following [lsfg-vk](https://github.com/PancakeTAS/lsfg-vk), ported by [@maxjivi05](https://github.com/maxjivi05). It needs your own copy of [Lossless Scaling](https://store.steampowered.com/app/993090/) and ships none of its shaders. +- Remote Play decodes through Android's MediaCodec or the [FFmpeg](https://ffmpeg.org) (LGPL-2.1-or-later) in Steam's runtime. Qualcomm low latency settings follow [Moonlight](https://github.com/moonlight-stream/moonlight-android) (GPL-3.0). +- [PipeWire](https://gitlab.freedesktop.org/pipewire/pipewire) (MIT) sockets use the settings in its `module-access.c`, and [WirePlumber](https://gitlab.freedesktop.org/pipewire/wireplumber) (MIT) keeps those clients at full permissions. -注意:host/guest 的 sha256 实现不同,不能直接比较;gzip 更接近,proot 下约慢 30%。 +
    -### 6.3 GPU +
    +Desktop -- vkgears:119.86 FPS(600 帧/5 秒),720p 与 900p 基本一致,已到 120 Hz 上限。 -- 早期桥接基准:128 MiB copy 20.5 GB/s;空 submit 约 70 µs;4 KiB copy+submit 约 285 µs。 -- Steam Big Picture:1280x720,约 86.4 fps,875 GPU frames。 -- vkcube 在纹理路径触发断言(demo_prepare_texture_image),属于桥接兼容性问题,不是性能问题。 +- The KDE pacman repository snapshots [Arch Linux ARM](https://archlinuxarm.org) and installs with [pacman](https://gitlab.archlinux.org/pacman/pacman) (GPL-2.0-or-later). +- [KWin](https://invent.kde.org/plasma/kwin) (GPL-2.0-or-later) is patched to pass on the scroll data its `wayland_backend.cpp` leaves as a TODO. +- Read without taking code: [Qt](https://code.qt.io/cgit/qt/qtbase.git)'s `qwaylandinputdevice.cpp` and `qguiapplication.cpp`, [Konsole](https://invent.kde.org/utilities/konsole)'s `TerminalDisplay.cpp`, and [Mesa](https://gitlab.freedesktop.org/mesa/mesa)'s `u_threaded_context.c` and `zink_resource.c`. +- The Steam Keyboard window rule follows Valve's `steamdeck-kde-presets` with [Bazzite](https://github.com/ublue-os/bazzite)'s `0001-steam-virtual-keyboard.patch`. +- Steam's Browse buttons open a GTK 3 file chooser via PyGObject (LGPL-2.1-or-later), shown over Steam by [gamescope](https://github.com/ValveSoftware/gamescope) (BSD-2-Clause) through `GetAppIdFromReaper`. +- The AYN Odin 2 phantom second display was confirmed by [@SapphireRhodonite](https://github.com/SapphireRhodonite)'s [WatermelonDS 0.0.5](https://github.com/SapphireRhodonite/WatermelonDS/releases/tag/0.0.5) notes and [iiSU #363](https://github.com/iisu-network/iiSU/issues/363), without taking their code. -### 6.4 温度 / 内存 +
    -- CPU 29–33 °C,GPU 31–46.5 °C,Thermal Status 0,无节流。 -- 电池约 28 °C,64%。 -- 内存:15.7 GB 总,约 8.3 GB 已用,7.1 GB 可用,swap 约 2.6 GB。 -- 没有内存告急,但 swap 偏高;游戏前可重启/关闭后台。 +
    +Smart glasses -### 6.5 v25 复测(2026-11-01 18:32) +- Builds on WinNative's VITURE work. Protocol checked against [@wheaney](https://github.com/wheaney)'s [XRLinuxDriver](https://github.com/wheaney/XRLinuxDriver), [@badicsalex](https://github.com/badicsalex)'s [ar-drivers-rs](https://github.com/badicsalex/ar-drivers-rs) and [go-macos/iokit](https://pkg.go.dev/github.com/go-macos/iokit/viture). The optional VITURE SDK is not included. +- The VITURE protocol V2 frames adapt [@elasticjava](https://github.com/elasticjava)'s [viture-v2](https://github.com/elasticjava/viture-v2) (MIT) by Holger Bartnick. See `docs/third-party/viture-v2`. +- RayNeo adapts [@informalTechCode](https://github.com/informalTechCode)'s [RayNeo-Air-Series-3DoF-Scaffold](https://github.com/informalTechCode/RayNeo-Air-Series-3DoF-Scaffold) (Apache-2.0) and references [@verncat](https://github.com/verncat)'s [RayNeo-Air-3S-Pro-OpenVR](https://github.com/verncat/RayNeo-Air-3S-Pro-OpenVR) (MIT) and [Monado](https://gitlab.freedesktop.org/monado/monado) (BSL-1.0). See [docs/third-party/rayneo](docs/third-party/rayneo/README.md). +- XREAL 1S references XRLinuxDriver and [xrealOneDeviceKit](https://github.com/wheaney/xrealOneDeviceKit) by @wheaney, [@rohitsangwan01](https://github.com/rohitsangwan01)'s [xreal_one_driver](https://github.com/rohitsangwan01/xreal_one_driver) (MIT) and [@0xcaff](https://github.com/0xcaff)'s [xr-tools](https://github.com/0xcaff/xr-tools). +- Rokid follows ar-drivers-rs, @badicsalex's [Void Computing write-ups](https://voidcomputing.hu/blog/worse-better-prettier/) and Monado's Rokid driver. +- REDMAGIC display findings draw on [@mekhontsev](https://github.com/mekhontsev)'s [MagicDesk investigation](https://github.com/mekhontsev/magicdesk/blob/main/docs/xr-resolution-fix.md) and [@Coding-BR](https://github.com/Coding-BR)'s [decompiled Nubia kernel](https://github.com/Coding-BR/android_kernel_nubia_sm8850_qwjujube). -环境:DroidDeck v25;GPU/IO 在 lxqt 桌面 1920x1080@120 测,CPU 分别测桌面和 Steam 会话;游戏 FPS 取自 Terraria 世界内 HUD。Thermal Status 0,CPU 32.8 °C,GPU max 34.8–46.5 °C,电池 31.8 °C / 92%。 +
    -| 项目 | v25 实测 | 说明 | -|---|---:|---| -| sha256 256 MB 单线程 | 桌面 283–322 ms;Steam 219–241 ms | Steam 会话约 230 ms,接近此前 207 ms | -| gzip -1 256 MB | 桌面 514–534 ms;Steam 355–357 ms | Steam 会话约 356 ms;此前约 405 ms | -| sha256 4×256 MB | Steam 222–269 ms;桌面 262–275 ms | 4 线程 | -| Host /data/local/tmp O_DIRECT | 写 1060 / 读 1450 MB/s | 绕过 page cache | -| Guest /root ext4 | 写 876 / 读 2337 MB/s | fdatasync;O_DIRECT 写 1270 MB/s | -| Guest /root/Storage | 写 920 / 读 3029 MB/s | 读受 page cache 影响 | -| vkgears 1280x720 | 115.8 FPS,p50 111.1,p99 25 ms | 4 秒采样 | -| vkgears 1920x1080 | 113.2 FPS,p99 31 ms | 2 秒采样 | -| Terraria 1280x720@120 | 59.9 FPS,AVG 49.3,1% 22.7 | HUD;CPU 36% / 2668 MHz / 33 °C,GPU 1% | -| 内存 | 总 15.7 GB,可用 8.7 GB | Guest 已用 6.7 GB,swap 2.2 GB | +
    +VR, Joy-Con and hand tracking -结论:GPU 与之前 119.86 FPS 基本一致(低约 3–4%),Terraria 稳定 60 FPS;IO 正常;测试期间无热节流。CPU 在 Steam 会话约 230 ms / 356 ms,接近或优于此前 207 ms / 405 ms;桌面会话因升频状态较低,v25 无 CPU 回归。 +- Joy-Con VR ports the arm model from Google's [GVR SDK for Unity](https://github.com/googlevr/gvr-unity-sdk) (Apache-2.0) and adapts the hand skeleton from Valve's [OpenVR](https://github.com/ValveSoftware/openvr) `handskeletonsimulation` sample (BSD-3-Clause), which follows Moshi Turner's work in Monado. Index offsets come from Monado's `vive_poses.c` (BSL-1.0). +- Joy-Con research: Linux's [hid-nintendo](https://github.com/torvalds/linux/blob/master/drivers/hid/hid-nintendo.c) by Daniel J. Ogorchock, [@dekuNukem](https://github.com/dekuNukem)'s [Nintendo_Switch_Reverse_Engineering](https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering), [SDL](https://github.com/libsdl-org/SDL) and AOSP. Checked against [ALVR](https://github.com/alvr-org/ALVR), [OpenComposite](https://gitlab.com/znixian/OpenOVR), [PSMoveSteamVRBridge](https://github.com/HipsterSloth/PSMoveSteamVRBridge), [@F8LEFT](https://github.com/F8LEFT)'s [JoyConVr](https://github.com/F8LEFT/JoyConVr), [@krnelpan1c](https://github.com/krnelpan1c)'s [Daydream-Controller-SteamVR](https://github.com/krnelpan1c/Daydream-Controller-SteamVR), [@yoyobuae](https://github.com/yoyobuae)'s [joyconvr](https://github.com/yoyobuae/joyconvr), [Moonlight](https://github.com/moonlight-stream/moonlight-android) and [Dolphin](https://github.com/dolphin-emu/dolphin). See [docs/third-party/joycon](docs/third-party/joycon/README.md). +- Camera hand tracking runs Google's [MediaPipe](https://github.com/google-ai-edge/mediapipe) Pose Landmarker (Lite), BlazePose GHUM 3D and Hand Landmarker (Apache-2.0) on [CameraX](https://developer.android.com/jetpack/androidx/releases/camera) frames (Apache-2.0), with usage reports off. Checked against JoyConVr's camera app (MIT). +- Tracking math: the GVR arm model's accelerometer mode, Eric Foxlin's zero velocity updates, Frosio, Pedersini and Borghese's accelerometer autocalibration, a Kalman filter (Kalman, 1960), Horn's quaternion method (1987) and the 1€ filter (Casiez, Roussel and Vogel, 2012). +- Gestures follow [ALVR](https://github.com/alvr-org/ALVR)'s `hand_gestures.rs` (MIT) and Meta Quest's menu pinch, tuned on [HaGRID](https://github.com/hukenovs/hagrid) photos (CC BY-SA 4.0, not included). +- The glove model follows OpenVR's render model reference, is meshed with surface nets (Gibson, 1998; Mikola Lysenko), and uses Inigo Quilez's smooth minimum, distance field ambient occlusion and polygon distance (MIT). See [docs/third-party/handtracking](docs/third-party/handtracking/README.md). -## 7. 构建与安装 +
    -- 构建: - - cd /home/g/openMali/DroidDeck - - ./gradlew :app:assembleRelease -PndkVersion=27.3.13750724 -- 修改 runtime inputs 后先记录: - - python3 tools/release/runtime_inputs.py record -- APK(DNS 自动修复 + GPU 状态文案 + HUD/CPU 温度 + mscoree 兜底,当前安装): - - /home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4-dnsfix-v25.apk - - 76 MB;versionCode 25;versionName 0.6.7-dnsfix-v25 - - SHA-256 9808a8ab17f2d9a39e0b3abc9a05c2ee1c07ec7f4ac7cfa77866b2229fb6eb82 - - 上一版保留:v24(SHA-256 56b0ab03c0120c2a7a6ad0e4ed8d30a748021d7fe9e99a13b60f62a41e13b5e0)、v23(SHA-256 b0fadc5c...)、v22(SHA-256 69cd4f5f...)、v21(SHA-256 508294a6...)、v20(SHA-256 afd1ce12...)、v19(SHA-256 f63f4eae...)、v18(SHA-256 cc469703...)、v16 DroidDeck-0.6.7-Mali-rc4-dnsfix.apk(SHA-256 6c5f8c1f...)和 DroidDeck-0.6.7-Mali-rc4.apk(无 App 内 DNS 修复,SHA-256 c58fcc58...)。 - - testkey 签名;官方 release 私钥不在本机。 -- MIUI 安装: - - 对已安装的旧包,adb push + adb shell pm install -r 可更新。 - - 对全新安装,MIUI 会报 INSTALL_FAILED_USER_RESTRICTED;需用文件管理器打开 APK,走 PackageInstaller,并在“是否允许 Shell 安装应用”点允许。 - - 官方 0.6.9 是 release key,testkey 包不能就地升级/降级;必须完整卸载,App 数据会被清空。 +## Star history -## 8. 当前安装状态 - -- com.droiddeck.launcher:0.6.7-dnsfix-v25(versionCode 25,testkey),2026-11-01 18:25 就地更新安装,App 数据保留。 -- GPU 状态:Setup 概览显示“GPU 通过 Mali 桥接”,绿色通过;不再显示“GPU 不受支持”。实现为 FrontEndSetup 的 gpuOk 包含 s.vkBridge,并新增 setup_gpu_bridged 文案。 -- 修复“清数据重启后 GPU 菜单消失”:showChecks 默认值从 false 改为 s.vkBridge;桥接开启时详情默认展开,GPU 行直接可见。已在 pm clear 后重新启动验证。 -- HUD:XRing/Mali 的 GPU load/clock/temp/thermal sysfs 对普通 App 拒绝访问,日志为 thermal zones 0、gpu load none、kgsl gpubusy refused。v21 在无数据时隐藏 GPU 统计行、VRAM=0 时隐藏 VRAM,只保留 GPU 型号;真正 GPU% / 温度 / 共享显存需要 root 或厂商遥测。 -- HUD 分辨率/卡死:v22 的 RES 不再用 Android displayMetrics 兜底,改用会话逻辑分辨率;桌面模式隐藏游戏 HUD,Steam/游戏模式显示。实测 Steam 下 HUD 为 RES 1280x720 @ 120Hz、FPS 42.8 / AVG 53.0。 -- CPU 温度/频率:v23 增加 USB/adb 辅助的 CPU 温度输入(/sdcard/DroidDeck/cpu-temp,由 update_cpu_temp.sh 每 2 秒写 cpu_therm);v24 把 HUD 的 CPU 行顺序改为“占用 → 频率 → 温度”,Full/Mega/Tiles 三种布局都生效。 -- 安装方式:官方 0.6.9(release key)与 testkey 不兼容,完整卸载 0.6.9 后通过 PackageInstaller 安装;App 数据已被清空,当前是全新状态(首次启动显示配置页)。 -- DNS 自动修复已在 APK 内;运行时 ubuntu-r1-rc4、Mali 桥接、proot、桌面需要重新下载/配置;此前 Steam Big Picture 和 1280x720 KWin 已验证,但当前新数据需重新登录。 -- com.droiddeck.launcher.mali:旧 0.5.4.2 仍安装,桌面可用,用于对比。 -- 注意:Steam chmod/软链接/pid 清理仍是 guest 运行时修改;清除 App 数据或重装运行时会丢失。 -- Terraria 1.4.5.8 启动修复(2026-11-01):`dotnet40` 组件把 `WINEDLLOVERRIDES` 设为 `mscoree=n`,但该组件没有原生 `mscoree.dll`,Wine 报 `mscoree.dll not found` 后直接退出。v25 的 `droiddeck-wincomponents` 对 `mscoree=n` 自动追加 builtin 回退(`mscoree=n,b`);`dotnet40` 仍启用时,Terraria 已稳定进入世界并显示 HUD。 - -## 9. 已知问题 / 下一步 - -1. DNS 自动修复已完成(见 5.2);仍需在不同 WiFi/无 WiFi 环境下回归,确认 localDnsServers 的回退行为。 -2. Steam 桌面 UI 在 Xwayland 下仍可能无窗口;继续使用“游玩 Steam”/Big Picture,不要用 Konsole 直接 steam。 -3. Steam 32 位组件 steamrtarm32 / steam-runtime-launcher-service 缺失;Big Picture 可用。Terraria 1.4.5.8 已进入世界,其他游戏仍待验证。 -4. vkcube 纹理断言是桥接兼容性 bug,可单独排查。 -5. 真实游戏帧率/Proton/DXVK 尚未测试;当前性能数据主要是桌面、vkgears、IO/CPU。 -6. 仍是 testkey;如需官方升级安装,需要官方 release keystore。 -7. 官方 0.6.9 与 testkey 不兼容:只能完整卸载后安装,App 数据会丢;官方 APK 备份在 /tmp/installed-069.apk(宿主)和 /sdcard/Download/DroidDeck-0.6.9.apk(平板),回滚同样要先卸载。 -8. HUD 的 Mali GPU load/temp/VRAM 受驱动 sysfs 权限限制;除非 root/厂商接口,普通 App 无法获取。v21 已移除误导性的 GPU - 和 VRAM 0.0,保留 GPU 型号。 - -## 10. 已放弃 / 不再使用 - -- r9 + 旧 session/helper/host 组合:KWin 窗口不稳定/黑屏,放弃。 -- proot fast path:实测负优化,关闭。 -- 代理强制给 Steam:本地 DNS 直连更稳定;Steam 更新器对 proxy 环境并不可靠。 - -## 截图 - -Terraria 1.4.5.8 在 DroidDeck v25 + Mali 桥接 + Wine Mono 下进入世界。HUD 的 CPU 行是“占用 → 频率 → 温度”: - -![DroidDeck v25 HUD / Terraria](docs/images/droiddeck-hud-v25-terraria.png) + + + + Star history chart + + diff --git a/app/build.gradle b/app/build.gradle index f7998627b..3a9019ccc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -134,8 +134,8 @@ android { applicationId "com.droiddeck.launcher" minSdkVersion 26 targetSdkVersion 28 - versionCode 25 - versionName "0.6.7-dnsfix-v25" + versionCode 17 + versionName "0.6.9" buildConfigField "String", "BUILD_LABEL", "\"${escapedBuildLabel}\"" buildConfigField "String", "SOURCE_COMMIT", "\"${sourceCommit}\"" buildConfigField "int", "PR_NUMBER", "${prNumber}" diff --git a/docs/openmali/README.md b/docs/openmali/README.md new file mode 100644 index 000000000..7c61036d3 --- /dev/null +++ b/docs/openmali/README.md @@ -0,0 +1,244 @@ +# openMali 工作区记录 + +> 本文件记录 2026-10-31 ~ 2026-11-01 在本机与小米平板上的 MaliBridge + DroidDeck 0.6.7 合并、构建、调试和性能测试结果。 +> 这是本地工程记录,不是上游发布文档。未特别说明的 APK 均为 testkey 签名。 + +## 1. 目标与结论 + +- 目标:把 MaliBridge v0.5.4.2 的 Mali GPU 支持合并进 DroidDeck 0.6.7 主线,构建可安装 APK,并在平板上进入桌面、跑通 Steam 和性能测试。 +- 已做到: + - 0.6.7 + MaliBridge v0.5.4.2 的合并包可安装。 + - Ubuntu rc4 运行时 + 内置最新 proot + KWin Zink/Mali 桥接,成功进入 KDE 桌面。 + - Steam 客户端下载/更新 100% 完成,进入 Steam 大屏幕登录页(二维码/账号密码)。 + - 完成 CPU、GPU、IO、内存、温度基线测试。 +- 关键结论:Mali 桥接本身没有成为瓶颈;真正的问题集中在 **运行时 DNS、proot 与 KWin 渲染栈**。当前 rc4 + packaged proot + render-node 是已验证可用的组合。 + +## 2. 设备与环境 + +- 设备:Xiaomi M367FC,SoC xring_o3_asic,GPU Mali-G2-Ultra-NX MC16,Android 17,内核 6.18.21。 +- CPU:10 核;内存 15.7 GB;存储 229 GB;屏幕 3408x2272;120 Hz。 +- Mali 驱动:ARM proprietary,Vulkan 1.4.345;桥接暴露 1.4.341。 +- 新 App:com.droiddeck.launcher,DroidDeck 0.6.7,versionCode 25(0.6.7-dnsfix-v25),testkey。 +- 旧 App:com.droiddeck.launcher.mali,DroidDeck-MaliBridge v0.5.4.2,versionCode 5042;保留用于对比,桌面可用。 + +## 3. 关键路径 + +- 新工程:/home/g/openMali/DroidDeck +- MaliBridge 子模块:/home/g/openMali/DroidDeck/external/MaliBridge,v0.5.4.2,提交 95a1e60 +- 合并基线:main 69ffc096,tag mali-0.6.7-v0.5.4.2 +- 旧版源码:/home/g/openMali/reference/mali0542-src +- 旧版 APK:/home/g/openMali/reference/DroidDeck-MaliBridge-v0.5.4.2.apk +- 最终 APK:/home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4.apk +- 基准/参考工具:/home/g/openMali/reference/vkbridge-bench,/home/g/openMali/reference/oldapk + +## 4. 已验证的修改 + +### 4.1 运行时与 proot + +- 运行时 catalog 从 Debian linuxfs.json(r9) 切到 Ubuntu: + - app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntimeInstaller.java + - CATALOG_URL = .../linuxfs-ubuntu.json +- 实际安装:ubuntu-r1-rc4;运行时约 3 GB;桌面栈另下载约 898 MB。 +- APK 不再排除 proot,改为内置最新官方 pack: + - pack-proot-172bb48b00150b42 + - 压缩包 SHA-256:172bb48b00150b4292ba171089abecdf7243c06edddd68bf42dddb8c5bb24e4e + - app/src/main/jniLibs/arm64-v8a/libproot.so(246,512 B) + - app/src/main/jniLibs/arm64-v8a/libproot-loader.so(18,136 B) + - app/build.gradle 移除 libproot.so / libproot-loader.so 的 excludes +- LinuxRuntime: + - 优先使用 nativeLibraryDir 中的 packaged proot/loader。 + - 新增 PROOT_PACKAGED 来源;isInstalled 接受 packaged proot。 + - prootSource 显示 packaged;ProotFastPath 只允许 PROOT_PACK,因此当前 fast path 关闭。 +- 旧 r9 + 旧 session/helper/host 的 0.6.7 组合已尝试但放弃: + - KWin 曾能打开 3408x2272 窗口,但新 host 不显示、会话不稳定。 + - 该路线不作为最终方案。 + +### 4.2 proot fast path 实验 + +- 临时允许 packaged proot 走 fast path,实测反而更慢: + - fast path off(当前):sha256 256 MB 207 ms,gzip -1 405 ms,read 3.9 GB/s。 + - fast path on:sha256 259 ms,gzip 461 ms,read 3.8 GB/s。 +- 结论:该 pack 的 fast path 对 CPU/IO 是负优化,已恢复默认关闭;源码 ProotFastPath 也恢复为只允许 PROOT_PACK。 + +### 4.3 桌面 / KWin / Mali 桥接 + +- tools/linuxfs/desktop/droiddeck-desktop 的 KWin OpenGL 分支: + - 设置 KWIN_COMPOSE=O2、MESA_LOADER_DRIVER_OVERRIDE=zink、GALLIUM_DRIVER=zink、LIBGL_KOPPER_DRI2=true。 + - KWIN_RENDER_NODES 自动选择 /dev/dri/renderD0、/dev/dri/renderD307 或任意 /dev/dri/renderD*。 + - 在平板上实际使用 /dev/dri/renderD307(由 /dev/mali0 绑定)。 +- /usr/share/droiddeck/kwin-compositor 为 opengl。 +- 效果: + - DroidDeckWayland 日志出现 [window] opened KDE Wayland Compositor 1280x720。 + - host 统计出现 GPU frames,不再出现 kwin software fallback / black picture。 + - KDE 桌面、任务栏、应用菜单正常。 +- 分辨率: + - displayResolution.lxqt 设为 720p(1280x720)。 + - 720p 与 900p 的 vkgears 都是约 119.8 FPS,说明 GPU 已到 120 Hz 上限;720p 只减少缩放/带宽。 +- Steam 大屏幕模式: + - app 的“游玩 Steam”使用 gamescope/Big Picture。 + - DroidDeckWayland 日志:Steam 大屏幕模式 1280x720,86.4 fps,875 GPU frames。 + - 可用 Steam 登录页。 + +### 4.4 UI / 桥接文案 + +- GpuInfo 恢复 bridge-aware supportText(bridge),新增 gpuinfo_bridge / gpuinfo_bridge_off 字符串。 +- DeviceInfo / DeviceReport / DriverMenus 使用当前 Mali 桥接状态显示支持文案。 +- LinuxRuntime 恢复 bridgeStandIn 的 DRM render node 回退逻辑。 +- 注意:Setup 顶部仍可能显示“GPU 不受支持”的旧标签(GpuDriversState 的 unsupported 标志),但下方已显示“实验性 Vulkan 桥接已开启”,桥接实际工作正常。 + +## 5. DNS 与 Steam + +### 5.1 根因 + +- guest /etc/resolv.conf 被写成: + - 1.1.1.1 + - 8.8.8.8 + - 2001:4860:4860::8888 +- 当前网络下这些公共 DNS 解析超时: + - curl: (28) Resolving timed out after 10001 milliseconds +- 设备实际 WiFi DNS 是 192.168.1.1;guest 改用该 DNS 后: + - getent 能解析 client-update.steamstatic.com。 + - curl -I https://client-update.steamstatic.com/steam_client_linuxarm64 返回 200。 +- 结论:Steam 下载失败是 DNS,不是 Steam/GPU/代理。 + +### 5.2 已修复:App 自动获取本地 DNS + +- 修改 app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt: + - 新增 localDnsServers(),用 ConnectivityManager.allNetworks 遍历 WiFi/Ethernet 网络(排除 VPN)。 + - 收集这些网络的 DNS,并把默认路由 gateway 作为本地 DNS 兜底。 + - 私有地址(192.168/10.x)和 IPv4 优先。 + - writeResolver 的顺序:localDnsServers() + 当前 active network DNS + 公共 DNS 兜底。 +- 验证(2026-11-01,dnsfix APK): + - logcat:LinuxNetworkLink: resolver: 192.168.1.1 8.8.8.8 1.1.1.1 2001:4860:4860::8888 + - guest /etc/resolv.conf 第一行是 nameserver 192.168.1.1。 + - getent hosts store.steampowered.com 正常;curl -I https://store.steampowered.com 返回 200。 + - 旧 guest DNS 守护 /root/.config/plasma-workspace/env/01-dns-guard.sh 已删除;没有守护进程仍正常。 +- 说明:只取 WiFi/Ethernet 的本地 DNS;没有 WiFi/Ethernet 时回退到 active network/公共 DNS。VPN 的 10.10.14.1 不会被误当 DNS。 + +### 5.3 Steam 客户端修复 + +- Steam 主程序下载后权限为 666: + - /root/.local/share/Steam/steamrtarm64/steam + - 需 chmod +x;更新后变为 700 也可执行。 +- 需要数据目录软链接: + - /root/.steam/steam -> /root/.local/share/Steam + - /root/.steam/root -> /root/.local/share/Steam +- stale pid: + - /root/.steam/steam.pid 可能残留已死 PID,导致 “Steam is already running”;启动前删除。 +- 不要在 Konsole 里用桌面 UI 方式启动 steam: + - 会走 Xwayland/CEF,遇到 XRRGetOutputInfo() is not available / 无窗口。 + - 应从 DroidDeck 的“游玩 Steam”启动 Big Picture/gamescope。 +- 已验证(2026-11-01): + - Steam 客户端更新 575,927 KB 到 100%。 + - Big Picture 已登录,库中显示 Shadow of the Tomb Raider 等游戏。 + - 32 位 steamrtarm32/steam-runtime-launcher-service 缺失的日志仍会出现,但 Big Picture 可用;游戏启动尚未验证。 + +## 6. 性能测试 + +### 6.1 存储 IO + +| 路径 | 写 | 读 | +|---|---:|---:| +| Android /data/local/tmp | 1.0 GB/s | 4.7 GB/s | +| Android /sdcard | 0.94 GB/s | 4.3 GB/s | +| Guest proot(fast path off) | 1.2 GB/s | 3.9 GB/s | + +Guest 读取比 host 低约 17%,是 proot 路径开销;写入不慢。 + +### 6.2 CPU + +| 项目 | Host | Guest | +|---|---:|---:| +| sha256 256 MB 单线程 | 267 ms | 207 ms | +| sha256 4x256 MB 4 线程 | 256 ms(约 4 GB/s 聚合) | 216 ms(约 4.7 GB/s 聚合) | +| gzip -1 256 MB | 307 ms | 405 ms(+32%) | + +注意:host/guest 的 sha256 实现不同,不能直接比较;gzip 更接近,proot 下约慢 30%。 + +### 6.3 GPU + +- vkgears:119.86 FPS(600 帧/5 秒),720p 与 900p 基本一致,已到 120 Hz 上限。 +- 早期桥接基准:128 MiB copy 20.5 GB/s;空 submit 约 70 µs;4 KiB copy+submit 约 285 µs。 +- Steam Big Picture:1280x720,约 86.4 fps,875 GPU frames。 +- vkcube 在纹理路径触发断言(demo_prepare_texture_image),属于桥接兼容性问题,不是性能问题。 + +### 6.4 温度 / 内存 + +- CPU 29–33 °C,GPU 31–46.5 °C,Thermal Status 0,无节流。 +- 电池约 28 °C,64%。 +- 内存:15.7 GB 总,约 8.3 GB 已用,7.1 GB 可用,swap 约 2.6 GB。 +- 没有内存告急,但 swap 偏高;游戏前可重启/关闭后台。 + +### 6.5 v25 复测(2026-11-01 18:32) + +环境:DroidDeck v25;GPU/IO 在 lxqt 桌面 1920x1080@120 测,CPU 分别测桌面和 Steam 会话;游戏 FPS 取自 Terraria 世界内 HUD。Thermal Status 0,CPU 32.8 °C,GPU max 34.8–46.5 °C,电池 31.8 °C / 92%。 + +| 项目 | v25 实测 | 说明 | +|---|---:|---| +| sha256 256 MB 单线程 | 桌面 283–322 ms;Steam 219–241 ms | Steam 会话约 230 ms,接近此前 207 ms | +| gzip -1 256 MB | 桌面 514–534 ms;Steam 355–357 ms | Steam 会话约 356 ms;此前约 405 ms | +| sha256 4×256 MB | Steam 222–269 ms;桌面 262–275 ms | 4 线程 | +| Host /data/local/tmp O_DIRECT | 写 1060 / 读 1450 MB/s | 绕过 page cache | +| Guest /root ext4 | 写 876 / 读 2337 MB/s | fdatasync;O_DIRECT 写 1270 MB/s | +| Guest /root/Storage | 写 920 / 读 3029 MB/s | 读受 page cache 影响 | +| vkgears 1280x720 | 115.8 FPS,p50 111.1,p99 25 ms | 4 秒采样 | +| vkgears 1920x1080 | 113.2 FPS,p99 31 ms | 2 秒采样 | +| Terraria 1280x720@120 | 59.9 FPS,AVG 49.3,1% 22.7 | HUD;CPU 36% / 2668 MHz / 33 °C,GPU 1% | +| 内存 | 总 15.7 GB,可用 8.7 GB | Guest 已用 6.7 GB,swap 2.2 GB | + +结论:GPU 与之前 119.86 FPS 基本一致(低约 3–4%),Terraria 稳定 60 FPS;IO 正常;测试期间无热节流。CPU 在 Steam 会话约 230 ms / 356 ms,接近或优于此前 207 ms / 405 ms;桌面会话因升频状态较低,v25 无 CPU 回归。 + +## 7. 构建与安装 + +- 构建: + - cd /home/g/openMali/DroidDeck + - ./gradlew :app:assembleRelease -PndkVersion=27.3.13750724 +- 修改 runtime inputs 后先记录: + - python3 tools/release/runtime_inputs.py record +- APK(DNS 自动修复 + GPU 状态文案 + HUD/CPU 温度 + mscoree 兜底,当前安装): + - /home/g/openMali/output/DroidDeck-0.6.7-Mali-rc4-dnsfix-v25.apk + - 76 MB;versionCode 25;versionName 0.6.7-dnsfix-v25 + - SHA-256 9808a8ab17f2d9a39e0b3abc9a05c2ee1c07ec7f4ac7cfa77866b2229fb6eb82 + - 上一版保留:v24(SHA-256 56b0ab03c0120c2a7a6ad0e4ed8d30a748021d7fe9e99a13b60f62a41e13b5e0)、v23(SHA-256 b0fadc5c...)、v22(SHA-256 69cd4f5f...)、v21(SHA-256 508294a6...)、v20(SHA-256 afd1ce12...)、v19(SHA-256 f63f4eae...)、v18(SHA-256 cc469703...)、v16 DroidDeck-0.6.7-Mali-rc4-dnsfix.apk(SHA-256 6c5f8c1f...)和 DroidDeck-0.6.7-Mali-rc4.apk(无 App 内 DNS 修复,SHA-256 c58fcc58...)。 + - testkey 签名;官方 release 私钥不在本机。 +- MIUI 安装: + - 对已安装的旧包,adb push + adb shell pm install -r 可更新。 + - 对全新安装,MIUI 会报 INSTALL_FAILED_USER_RESTRICTED;需用文件管理器打开 APK,走 PackageInstaller,并在“是否允许 Shell 安装应用”点允许。 + - 官方 0.6.9 是 release key,testkey 包不能就地升级/降级;必须完整卸载,App 数据会被清空。 + +## 8. 当前安装状态 + +- com.droiddeck.launcher:0.6.7-dnsfix-v25(versionCode 25,testkey),2026-11-01 18:25 就地更新安装,App 数据保留。 +- GPU 状态:Setup 概览显示“GPU 通过 Mali 桥接”,绿色通过;不再显示“GPU 不受支持”。实现为 FrontEndSetup 的 gpuOk 包含 s.vkBridge,并新增 setup_gpu_bridged 文案。 +- 修复“清数据重启后 GPU 菜单消失”:showChecks 默认值从 false 改为 s.vkBridge;桥接开启时详情默认展开,GPU 行直接可见。已在 pm clear 后重新启动验证。 +- HUD:XRing/Mali 的 GPU load/clock/temp/thermal sysfs 对普通 App 拒绝访问,日志为 thermal zones 0、gpu load none、kgsl gpubusy refused。v21 在无数据时隐藏 GPU 统计行、VRAM=0 时隐藏 VRAM,只保留 GPU 型号;真正 GPU% / 温度 / 共享显存需要 root 或厂商遥测。 +- HUD 分辨率/卡死:v22 的 RES 不再用 Android displayMetrics 兜底,改用会话逻辑分辨率;桌面模式隐藏游戏 HUD,Steam/游戏模式显示。实测 Steam 下 HUD 为 RES 1280x720 @ 120Hz、FPS 42.8 / AVG 53.0。 +- CPU 温度/频率:v23 增加 USB/adb 辅助的 CPU 温度输入(/sdcard/DroidDeck/cpu-temp,由 update_cpu_temp.sh 每 2 秒写 cpu_therm);v24 把 HUD 的 CPU 行顺序改为“占用 → 频率 → 温度”,Full/Mega/Tiles 三种布局都生效。 +- 安装方式:官方 0.6.9(release key)与 testkey 不兼容,完整卸载 0.6.9 后通过 PackageInstaller 安装;App 数据已被清空,当前是全新状态(首次启动显示配置页)。 +- DNS 自动修复已在 APK 内;运行时 ubuntu-r1-rc4、Mali 桥接、proot、桌面需要重新下载/配置;此前 Steam Big Picture 和 1280x720 KWin 已验证,但当前新数据需重新登录。 +- com.droiddeck.launcher.mali:旧 0.5.4.2 仍安装,桌面可用,用于对比。 +- 注意:Steam chmod/软链接/pid 清理仍是 guest 运行时修改;清除 App 数据或重装运行时会丢失。 +- Terraria 1.4.5.8 启动修复(2026-11-01):`dotnet40` 组件把 `WINEDLLOVERRIDES` 设为 `mscoree=n`,但该组件没有原生 `mscoree.dll`,Wine 报 `mscoree.dll not found` 后直接退出。v25 的 `droiddeck-wincomponents` 对 `mscoree=n` 自动追加 builtin 回退(`mscoree=n,b`);`dotnet40` 仍启用时,Terraria 已稳定进入世界并显示 HUD。 + +## 9. 已知问题 / 下一步 + +1. DNS 自动修复已完成(见 5.2);仍需在不同 WiFi/无 WiFi 环境下回归,确认 localDnsServers 的回退行为。 +2. Steam 桌面 UI 在 Xwayland 下仍可能无窗口;继续使用“游玩 Steam”/Big Picture,不要用 Konsole 直接 steam。 +3. Steam 32 位组件 steamrtarm32 / steam-runtime-launcher-service 缺失;Big Picture 可用。Terraria 1.4.5.8 已进入世界,其他游戏仍待验证。 +4. vkcube 纹理断言是桥接兼容性 bug,可单独排查。 +5. 真实游戏帧率/Proton/DXVK 尚未测试;当前性能数据主要是桌面、vkgears、IO/CPU。 +6. 仍是 testkey;如需官方升级安装,需要官方 release keystore。 +7. 官方 0.6.9 与 testkey 不兼容:只能完整卸载后安装,App 数据会丢;官方 APK 备份在 /tmp/installed-069.apk(宿主)和 /sdcard/Download/DroidDeck-0.6.9.apk(平板),回滚同样要先卸载。 +8. HUD 的 Mali GPU load/temp/VRAM 受驱动 sysfs 权限限制;除非 root/厂商接口,普通 App 无法获取。v21 已移除误导性的 GPU - 和 VRAM 0.0,保留 GPU 型号。 + +## 10. 已放弃 / 不再使用 + +- r9 + 旧 session/helper/host 组合:KWin 窗口不稳定/黑屏,放弃。 +- proot fast path:实测负优化,关闭。 +- 代理强制给 Steam:本地 DNS 直连更稳定;Steam 更新器对 proxy 环境并不可靠。 + +## 截图 + +Terraria 1.4.5.8 在 DroidDeck v25 + Mali 桥接 + Wine Mono 下进入世界。HUD 的 CPU 行是“占用 → 频率 → 温度”: + +![DroidDeck v25 HUD / Terraria](../images/droiddeck-hud-v25-terraria.png) From 34a1cbbead4a2d72e7c981579d685315f996da13 Mon Sep 17 00:00:00 2001 From: Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Mon, 2 Nov 2026 18:17:00 -0500 Subject: [PATCH 35/38] fix: keep PRoot out of the APK, VPN DNS first, bridge failure exits, HUD polling stays on --- app/build.gradle | 2 +- .../launcher/hud/DroidDeckHudHost.kt | 12 +++++----- .../droiddeck/launcher/hud/MangoReadings.kt | 2 +- .../runtime/LinuxNetworkLinkComponent.kt | 13 ++++++----- .../launcher/runtime/LinuxRuntime.java | 22 ++----------------- app/src/main/res/values-zh-rHK/strings.xml | 3 +++ app/src/main/res/values-zh-rTW/strings.xml | 3 +++ docs/openmali/README.md | 4 ++-- .../overlay/usr/local/bin/droiddeck-session | 3 ++- .../usr/local/bin/droiddeck-wincomponents | 6 +---- tools/tests/test_wincomponents.py | 1 - 11 files changed, 27 insertions(+), 44 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ef07bd9e7..736d728ba 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -215,7 +215,7 @@ android { jniLibs { useLegacyPackaging = true pickFirsts += ['**/libtermux.so'] - excludes += ['**/libopencv_java4.so', '**/libmediapipe_tasks_jni.so'] + excludes += ['**/libproot.so', '**/libproot-loader.so', '**/libopencv_java4.so', '**/libmediapipe_tasks_jni.so'] } } diff --git a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt index d1e8a977d..f612477f3 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/DroidDeckHudHost.kt @@ -13,7 +13,6 @@ import android.widget.FrameLayout import com.droiddeck.launcher.gpu.FrameGen import com.droiddeck.launcher.gpu.GpuInfo import com.droiddeck.launcher.runtime.LinuxRuntime -import com.droiddeck.launcher.session.SessionDisplay import com.droiddeck.launcher.session.SessionPrefs import com.droiddeck.launcher.session.SessionService import com.droiddeck.launcher.session.SessionState @@ -179,9 +178,10 @@ class DroidDeckHudHost(context: Context) { private fun applyShown() { if (!running) return - val show = !hidden && !backgrounded && SessionState.mode != SessionService.MODE_DESKTOP - view?.visibility = if (show) View.VISIBLE else View.GONE - showing = show + val show = !hidden && !backgrounded + val visible = show && SessionState.mode != SessionService.MODE_DESKTOP + view?.visibility = if (visible) View.VISIBLE else View.GONE + showing = visible if (show != polling) { polling = show if (show) Choreographer.getInstance().postFrameCallback(frameCallback) @@ -215,9 +215,7 @@ class DroidDeckHudHost(context: Context) { }.getOrNull() private fun sessionResolution(): String { - val panel = SessionDisplay.panelSize(context) - val choice = SessionPrefs.resolutionChoice(context, SessionState.mode, panel) - val (width, height) = SessionDisplay.resolveChoice(panel, choice) + val (width, height) = SessionState.outputSize return "${width}x${height}" } diff --git a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt index bea6ce30e..efee19cd2 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt @@ -65,7 +65,7 @@ internal class MangoReadings(private val sessionDir: File, private val rootDir: private fun externalCpuTemp(): Int? { val file = File(Environment.getExternalStorageDirectory(), "DroidDeck/cpu-temp") if (!file.isFile || System.currentTimeMillis() - file.lastModified() > CPU_TEMP_FRESH_MS) return null - return readFloat(file)?.roundToInt()?.takeIf { it in -20..150 } + return readFloat(file)?.takeIf { it.isFinite() && it in -20f..150f }?.roundToInt() } fun gpuPercent(): Int? { diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt index d16a372ac..b55002cec 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt @@ -252,7 +252,10 @@ class LinuxNetworkLinkComponent( } private fun localDnsServers(): List { + val active = connectivity.activeNetwork?.let { connectivity.getNetworkCapabilities(it) } + if (active?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true) return emptyList() val servers = LinkedHashSet() + val gateways = LinkedHashSet() for (network in connectivity.allNetworks) { val capabilities = connectivity.getNetworkCapabilities(network) ?: continue if (!capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)) continue @@ -265,14 +268,12 @@ class LinuxNetworkLinkComponent( } link.routes.firstOrNull { it.isDefaultRoute }?.gateway?.let { gateway -> if (gateway is Inet4Address && !gateway.isLoopbackAddress && !gateway.isAnyLocalAddress) { - gateway.hostAddress?.substringBefore('%')?.let { servers.add(it) } + gateway.hostAddress?.substringBefore('%')?.let { gateways.add(it) } } } } - return servers.sortedWith(compareBy( - { if (it.startsWith("192.168.") || it.startsWith("10.")) 0 else 1 }, - { if (it.contains(':')) 1 else 0 }, - )).take(6) + val order = compareBy({ if (it.contains(':')) 1 else 0 }) + return servers.sortedWith(order) + gateways.sortedWith(order) } private fun writeResolver(properties: LinkProperties?) { @@ -280,7 +281,7 @@ class LinuxNetworkLinkComponent( .filter { !it.isLinkLocalAddress && !it.isLoopbackAddress && !it.isAnyLocalAddress } .sortedBy { if (it is Inet4Address) 0 else 1 } .mapNotNull { it.hostAddress?.substringBefore('%') } - val servers = (localDnsServers() + own + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888")).distinct().take(6) + val servers = (own + localDnsServers() + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888")).distinct().take(6) val text = buildString { append("# Written by the app from the device's active network; edits are overwritten.\n") for (server in servers) append("nameserver $server\n") diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java index 1f39eeb23..01cbf9322 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxRuntime.java @@ -63,8 +63,6 @@ public final class LinuxRuntime { private static final String HOST_DIR = "opt/android-host"; public static final String PROOT_PACK = "add-on pack"; - public static final String PROOT_PACKAGED = "packaged"; - /** Termux's unpatched proot inside the rootfs. Developer switch only. */ public static final String PROOT_ROOTFS = "rootfs fallback"; public static final String PROOT_MISSING = "missing"; @@ -80,31 +78,17 @@ public final class LinuxRuntime { return rootfsProot(context).isFile() && rootfsLoader(context).isFile(); } - private static File packagedProot(Context context) { - return new File(context.getApplicationInfo().nativeLibraryDir, "libproot.so"); - } - - private static File packagedLoader(Context context) { - return new File(context.getApplicationInfo().nativeLibraryDir, "libproot-loader.so"); - } - - private static boolean packagedProotReady(Context context) { - return packagedProot(context).isFile() && packagedLoader(context).isFile(); - } - public static boolean patchedProot(Context context) { - return packagedProotReady(context) || AddonPack.PROOT.installed(context); + return AddonPack.PROOT.installed(context); } public static File prootBinary(Context context) { - if (packagedProotReady(context)) return packagedProot(context); if (AddonPack.PROOT.installed(context)) return AddonPack.PROOT.file(context, "libproot.so"); if (SessionPrefs.allowStockProot(context)) return rootfsProot(context); return AddonPack.PROOT.file(context, "libproot.so"); } public static File prootLoader(Context context) { - if (packagedProotReady(context)) return packagedLoader(context); if (AddonPack.PROOT.installed(context)) return AddonPack.PROOT.file(context, "libproot-loader.so"); if (SessionPrefs.allowStockProot(context)) return rootfsLoader(context); return AddonPack.PROOT.file(context, "libproot-loader.so"); @@ -113,8 +97,6 @@ public final class LinuxRuntime { public static String prootSource(Context context) { File bin = prootBinary(context); if (!bin.isFile()) return PROOT_MISSING; - if (packagedProotReady(context) - && bin.getPath().equals(packagedProot(context).getPath())) return PROOT_PACKAGED; if (AddonPack.PROOT.installed(context) && bin.getPath().equals(AddonPack.PROOT.file(context, "libproot.so").getPath())) return PROOT_PACK; return PROOT_ROOTFS; @@ -126,7 +108,7 @@ public final class LinuxRuntime { } public static boolean isInstalled(Context context) { - return hasRootfs(context) && (packagedProotReady(context) || patchedProot(context) || rootfsProotReady(context)); + return hasRootfs(context) && (patchedProot(context) || rootfsProotReady(context)); } public static boolean hasRootfs(Context context) { diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 56232a694..d3af069ca 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -3620,4 +3620,7 @@ 狀態 合作夥伴 已追蹤的遊戲 + GPU 透過 Mali 橋接 + 透過 Mali 橋接執行,使用手機內建的 Vulkan 驅動程式 + 關閉 Mali 橋接時不受支援:Turnip 需要 Adreno(Snapdragon)GPU diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 6d352e32e..d9ffdfae7 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3620,4 +3620,7 @@ 狀態 合作夥伴 已追蹤的遊戲 + GPU 透過 Mali 橋接 + 透過 Mali 橋接執行,使用手機內建的 Vulkan 驅動程式 + 關閉 Mali 橋接時不受支援:Turnip 需要 Adreno(Snapdragon)GPU diff --git a/docs/openmali/README.md b/docs/openmali/README.md index 7c61036d3..894a556b8 100644 --- a/docs/openmali/README.md +++ b/docs/openmali/README.md @@ -107,13 +107,13 @@ - 新增 localDnsServers(),用 ConnectivityManager.allNetworks 遍历 WiFi/Ethernet 网络(排除 VPN)。 - 收集这些网络的 DNS,并把默认路由 gateway 作为本地 DNS 兜底。 - 私有地址(192.168/10.x)和 IPv4 优先。 - - writeResolver 的顺序:localDnsServers() + 当前 active network DNS + 公共 DNS 兜底。 + - writeResolver 的顺序:当前 active network DNS + localDnsServers() + 公共 DNS 兜底。 - 验证(2026-11-01,dnsfix APK): - logcat:LinuxNetworkLink: resolver: 192.168.1.1 8.8.8.8 1.1.1.1 2001:4860:4860::8888 - guest /etc/resolv.conf 第一行是 nameserver 192.168.1.1。 - getent hosts store.steampowered.com 正常;curl -I https://store.steampowered.com 返回 200。 - 旧 guest DNS 守护 /root/.config/plasma-workspace/env/01-dns-guard.sh 已删除;没有守护进程仍正常。 -- 说明:只取 WiFi/Ethernet 的本地 DNS;没有 WiFi/Ethernet 时回退到 active network/公共 DNS。VPN 的 10.10.14.1 不会被误当 DNS。 +- 说明:localDnsServers() 只取 WiFi/Ethernet 的 DNS,网关排在各 DNS 之后;active network 是 VPN 时不追加本地 DNS,只用 VPN 自己的 DNS。 ### 5.3 Steam 客户端修复 diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session index a44b7dba9..0c037af47 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-session +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-session @@ -249,7 +249,8 @@ if [ "${BL_VKBRIDGE:-0}" = 1 ]; then fi echo "== vulkan driver: Mali bridge ($bl_vkb_icd, server at $VKBRIDGE_SOCKET)" else - echo "== vulkan driver: Mali bridge requested but NOT usable (icd $bl_vkb_icd, socket ${VKBRIDGE_SOCKET:-unset}; missing:$bl_vkb_missing); this GPU will show a black screen" + echo "== vulkan driver: Mali bridge requested but NOT usable (icd $bl_vkb_icd, socket ${VKBRIDGE_SOCKET:-unset}; missing:$bl_vkb_missing)" + [ -n "${BL_INSIDE:-}" ] || exit 69 fi unset bl_vkb_icd bl_vkb_missing fi diff --git a/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents b/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents index 59bd7013d..d7c3f61af 100755 --- a/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents +++ b/tools/linuxfs/overlay/usr/local/bin/droiddeck-wincomponents @@ -599,11 +599,7 @@ def overrides_value(names): name = name.strip().lower() if name and re.fullmatch(r"[a-z0-9._-]+", name) and re.fullmatch(r"[nb,]*", mode): modes.pop(name, None) - mode = mode if "=" in entry else "n,b" - # dotnet40 has no native mscoree.dll; native-only would hide Wine's loader and fail IL-only apps. - if name == "mscoree" and mode == "n": - mode = "n,b" - modes[name] = mode + modes[name] = mode if "=" in entry else "n,b" return ";".join("%s=%s" % item for item in modes.items()) diff --git a/tools/tests/test_wincomponents.py b/tools/tests/test_wincomponents.py index ee4f250c7..d7686ebf1 100644 --- a/tools/tests/test_wincomponents.py +++ b/tools/tests/test_wincomponents.py @@ -261,7 +261,6 @@ class WinComponentsTest(unittest.TestCase): def test_overrides_value_last_word_wins_and_refuses_junk(self): self.assertEqual(MODULE["overrides_value"](["a", "b=n", "a=b", "bad;name", "c=x"]), "b=n;a=b") - self.assertEqual(MODULE["overrides_value"](["mscoree=n"]), "mscoree=n,b") class PendingWaitTest(unittest.TestCase): From 3a4c6a4a7aa1092cb0d39118d2c07e7be0414f66 Mon Sep 17 00:00:00 2001 From: Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Mon, 2 Nov 2026 18:56:45 -0500 Subject: [PATCH 36/38] fix: DNS gateway pick and public fallback slot, drop reference to an unshipped script --- .../java/com/droiddeck/launcher/hud/MangoReadings.kt | 2 +- .../launcher/runtime/LinuxNetworkLinkComponent.kt | 11 +++++------ docs/openmali/README.md | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt index efee19cd2..d9fbaa4df 100644 --- a/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt +++ b/app/src/main/java/com/droiddeck/launcher/hud/MangoReadings.kt @@ -61,7 +61,7 @@ internal class MangoReadings(private val sessionDir: File, private val rootDir: return if (count == 0) null else (sum / count).toInt() } - /** Optional ADB helper feed: /sdcard/DroidDeck/cpu-temp, refreshed by tools/update_cpu_temp.sh. */ + /** Optional ADB helper feed: /sdcard/DroidDeck/cpu-temp, written from the host while a session runs. */ private fun externalCpuTemp(): Int? { val file = File(Environment.getExternalStorageDirectory(), "DroidDeck/cpu-temp") if (!file.isFile || System.currentTimeMillis() - file.lastModified() > CPU_TEMP_FRESH_MS) return null diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt index b55002cec..98f35f72a 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt @@ -266,11 +266,9 @@ class LinuxNetworkLinkComponent( if (address.isLinkLocalAddress || address.isLoopbackAddress || address.isAnyLocalAddress) continue address.hostAddress?.substringBefore('%')?.let { servers.add(it) } } - link.routes.firstOrNull { it.isDefaultRoute }?.gateway?.let { gateway -> - if (gateway is Inet4Address && !gateway.isLoopbackAddress && !gateway.isAnyLocalAddress) { - gateway.hostAddress?.substringBefore('%')?.let { gateways.add(it) } - } - } + link.routes.firstOrNull { + it.isDefaultRoute && (it.gateway as? Inet4Address)?.let { g -> !g.isLoopbackAddress && !g.isAnyLocalAddress } == true + }?.gateway?.hostAddress?.substringBefore('%')?.let { gateways.add(it) } } val order = compareBy({ if (it.contains(':')) 1 else 0 }) return servers.sortedWith(order) + gateways.sortedWith(order) @@ -281,7 +279,8 @@ class LinuxNetworkLinkComponent( .filter { !it.isLinkLocalAddress && !it.isLoopbackAddress && !it.isAnyLocalAddress } .sortedBy { if (it is Inet4Address) 0 else 1 } .mapNotNull { it.hostAddress?.substringBefore('%') } - val servers = (own + localDnsServers() + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888")).distinct().take(6) + val network = (own + localDnsServers()).distinct() + val servers = (network.take(2) + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888") + network.drop(2)).distinct().take(6) val text = buildString { append("# Written by the app from the device's active network; edits are overwritten.\n") for (server in servers) append("nameserver $server\n") diff --git a/docs/openmali/README.md b/docs/openmali/README.md index 894a556b8..0760cf2ec 100644 --- a/docs/openmali/README.md +++ b/docs/openmali/README.md @@ -213,7 +213,7 @@ Guest 读取比 host 低约 17%,是 proot 路径开销;写入不慢。 - 修复“清数据重启后 GPU 菜单消失”:showChecks 默认值从 false 改为 s.vkBridge;桥接开启时详情默认展开,GPU 行直接可见。已在 pm clear 后重新启动验证。 - HUD:XRing/Mali 的 GPU load/clock/temp/thermal sysfs 对普通 App 拒绝访问,日志为 thermal zones 0、gpu load none、kgsl gpubusy refused。v21 在无数据时隐藏 GPU 统计行、VRAM=0 时隐藏 VRAM,只保留 GPU 型号;真正 GPU% / 温度 / 共享显存需要 root 或厂商遥测。 - HUD 分辨率/卡死:v22 的 RES 不再用 Android displayMetrics 兜底,改用会话逻辑分辨率;桌面模式隐藏游戏 HUD,Steam/游戏模式显示。实测 Steam 下 HUD 为 RES 1280x720 @ 120Hz、FPS 42.8 / AVG 53.0。 -- CPU 温度/频率:v23 增加 USB/adb 辅助的 CPU 温度输入(/sdcard/DroidDeck/cpu-temp,由 update_cpu_temp.sh 每 2 秒写 cpu_therm);v24 把 HUD 的 CPU 行顺序改为“占用 → 频率 → 温度”,Full/Mega/Tiles 三种布局都生效。 +- CPU 温度/频率:v23 增加 USB/adb 辅助的 CPU 温度输入(/sdcard/DroidDeck/cpu-temp,由开发者在主机侧每 2 秒写入 cpu_therm,仓库不附带该脚本);v24 把 HUD 的 CPU 行顺序改为“占用 → 频率 → 温度”,Full/Mega/Tiles 三种布局都生效。 - 安装方式:官方 0.6.9(release key)与 testkey 不兼容,完整卸载 0.6.9 后通过 PackageInstaller 安装;App 数据已被清空,当前是全新状态(首次启动显示配置页)。 - DNS 自动修复已在 APK 内;运行时 ubuntu-r1-rc4、Mali 桥接、proot、桌面需要重新下载/配置;此前 Steam Big Picture 和 1280x720 KWin 已验证,但当前新数据需重新登录。 - com.droiddeck.launcher.mali:旧 0.5.4.2 仍安装,桌面可用,用于对比。 From ece3fec8ba3be39e87dddf359b345a1a7fcf31c1 Mon Sep 17 00:00:00 2001 From: Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Mon, 2 Nov 2026 19:43:57 -0500 Subject: [PATCH 37/38] fix: the active network's first three DNS servers stay ahead of public fallbacks --- .../droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt index 98f35f72a..f65db822b 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt @@ -279,8 +279,7 @@ class LinuxNetworkLinkComponent( .filter { !it.isLinkLocalAddress && !it.isLoopbackAddress && !it.isAnyLocalAddress } .sortedBy { if (it is Inet4Address) 0 else 1 } .mapNotNull { it.hostAddress?.substringBefore('%') } - val network = (own + localDnsServers()).distinct() - val servers = (network.take(2) + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888") + network.drop(2)).distinct().take(6) + val servers = (own.take(3) + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888") + own.drop(3) + localDnsServers()).distinct().take(6) val text = buildString { append("# Written by the app from the device's active network; edits are overwritten.\n") for (server in servers) append("nameserver $server\n") From 80da86a5d3c68f3efd25ebee7e11fae987a7231a Mon Sep 17 00:00:00 2001 From: Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> Date: Mon, 2 Nov 2026 19:58:58 -0500 Subject: [PATCH 38/38] fix: resolver order is active DNS, discovered DNS, public, then gateways --- .../launcher/runtime/LinuxNetworkLinkComponent.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt index f65db822b..06a034825 100644 --- a/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt +++ b/app/src/main/java/com/droiddeck/launcher/runtime/LinuxNetworkLinkComponent.kt @@ -251,9 +251,9 @@ class LinuxNetworkLinkComponent( } } - private fun localDnsServers(): List { + private fun localDnsServers(): Pair, List> { val active = connectivity.activeNetwork?.let { connectivity.getNetworkCapabilities(it) } - if (active?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true) return emptyList() + if (active?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true) return Pair(emptyList(), emptyList()) val servers = LinkedHashSet() val gateways = LinkedHashSet() for (network in connectivity.allNetworks) { @@ -271,7 +271,7 @@ class LinuxNetworkLinkComponent( }?.gateway?.hostAddress?.substringBefore('%')?.let { gateways.add(it) } } val order = compareBy({ if (it.contains(':')) 1 else 0 }) - return servers.sortedWith(order) + gateways.sortedWith(order) + return Pair(servers.sortedWith(order), gateways.sortedWith(order)) } private fun writeResolver(properties: LinkProperties?) { @@ -279,7 +279,8 @@ class LinuxNetworkLinkComponent( .filter { !it.isLinkLocalAddress && !it.isLoopbackAddress && !it.isAnyLocalAddress } .sortedBy { if (it is Inet4Address) 0 else 1 } .mapNotNull { it.hostAddress?.substringBefore('%') } - val servers = (own.take(3) + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888") + own.drop(3) + localDnsServers()).distinct().take(6) + val (discovered, gateways) = localDnsServers() + val servers = (own + discovered + listOf("8.8.8.8", "1.1.1.1", "2001:4860:4860::8888") + gateways).distinct().take(6) val text = buildString { append("# Written by the app from the device's active network; edits are overwritten.\n") for (server in servers) append("nameserver $server\n")

    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�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 z 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