DroidDeck Linux桌面与Flathub商店指南:手机秒变X11/Wayland全能Linux盒子
【免费下载链接】DroidDeckDroidDeck brings the SteamOS experience to Android项目地址: https://gitcode.com/gh_mirrors/dr/DroidDeck
DroidDeck是一个把 SteamOS 体验带到 Android 的开源项目:它除了原生运行 ARM64 版 Steam 客户端,还内置了完整的LXQt Linux 桌面和Flathub 商店,让你一键安装 ARM64 的 Linux 应用、跑 X11/Wayland 程序,真正让手机变成一台全能 Linux 盒子。本文将带你快速完成 DroidDeck 的 Linux 桌面与 Flathub 商店配置。
快速检查:你的设备能否运行 DroidDeck?
在开始之前,先确认设备满足以下要求(详见 README.md):
| 项目 | 要求 |
|---|---|
| 系统 | Android 9 及以上,无需 Root |
| 显卡 | Adreno 730 或更新(含 8xx 系列),Adreno 6xx 为实验性 |
| 存储 | 运行环境约 3 GB,桌面与模拟器另需约 1.1 GB |
⚠️ 一个容易踩的坑:启动 Steam 前,必须到「开发者选项」中关闭Restrict child processes。如果找不到该选项(Android 12/13),首次启动时 DroidDeck 会提供一键「Fix it for me」按钮自动处理。
上手三步:安装 DroidDeck 与 Linux 运行环境
- 安装 APK:从官方 Releases 页面下载并安装 DroidDeck;
- 安装 Linux 运行环境:App 内提示安装约 3 GB 的 Linux runtime;
- 安装桌面:在组件页勾选Desktop & apps(约 1.1 GB),LXQt 桌面和内置模拟器就会就位。
整个流程不需要命令行操作,全部在应用内完成。
一键进入 LXQt Linux 桌面(X11/Wayland)
安装完成后,从主界面进入桌面会话,你会看到一台跑在 GPU 上的LXQt 桌面:文件管理器、终端、系统菜单一应俱全,窗口通过 DroidDeck 自研的 Wayland 合成器渲染(合成器源码见 compositor.c)。
几个实用技巧:
- 双屏掌机:第二屏可以变成 Linux 终端、虚拟键盘 + 触控板,或同时运行 Android 应用;
- GPU 加速:桌面默认走 Vulkan 渲染,桌面脚本位于 tools/linuxfs/desktop/;
- 桌面上的 Linux 应用(包括商店装的应用)会出现在 LXQt 菜单里。
内置模拟器合集:秒玩 N64 / PS2 / PS3 / Switch 64
Desktop 页面内置了主流 ARM64 模拟器,按需下载、开箱即用:
- RetroArch(多平台合集)、PPSSPP(PSP)、Dolphin(NDS/Wii)、melonDS(NDS)、DuckStation(PS1)
- ARMSX2(PS2,性能远超 PCSX2)、RPCS3(PS3)、Cemu(Switch 64)
模拟器的游戏可以直接从前端以全屏方式启动,每个光驱一盘一个磁贴并自动配上封面图。包目录与安装逻辑见 DesktopCatalog.kt。
Flathub 商店:一键安装 ARM64 Linux 应用
这是 DroidDeck 0.3.0 的亮点功能 📦。开启路径:
设置 → Launcher → Linux apps (beta),打开Flathub Store开关,主界面就会出现商店入口。
商店的工作方式:
- 只列出 ARM64 构建:商店基于 Flathub 公开 API 检索应用(前端实现见 FlathubApi.kt),x86_64 独占的应用会被自动隐藏;
- 进度条实时可见:后台 Flatpak 命令逐行输出进度,由 FlatpakManager.kt 转成 UI 进度条;
- 应用全屏启动:装好的应用从前端直接以全屏会话启动,手柄可用,并同步显示在 Desktop 页面。
自定义应用:添加 AppImage、脚本与 GitHub 项目
除了商店,Desktop 页面还支持「Add App」手动添加四类应用:📌
- 本地脚本(shell 脚本直接跑进 Linux 环境);
- AppImage:仅接受 ARM64 Type 2 镜像,会先校验 ELF 头,x86_64 镜像会被明确拒绝(逻辑见 AppImageManager.kt);
- GitHub 仓库:自动抓取仓库最新的 ARM64 AppImage,还能从仓库里挑图标;
- Flatpak ID:直接按应用 ID 从 Flathub 安装。
添加完成后,所有自建应用与商店应用、模拟器并排显示在 Desktop 页面(用户应用管理逻辑见 UserApps.kt):
原理速览:手机里怎么跑起 X11/Wayland 桌面?
想理解它为什么能跑,只需要记住四个关键词:
- proot:无需 Root 的沙箱,整个 Linux 根文件系统跑在 proot 里;
- gamescope:Steam 同款合成器,游戏会话走
--socket=x11,这也是 Linux 应用选择 X11 而非 Wayland 的原因——Chromium 系应用在 Wayland 下会向 KGSL 请求 DRM 版本号而启动失败; - droiddeck-bwrap:Android 没有用户命名空间,标准
bwrap跑不起来,DroidDeck 用它模拟 Flatpak 的沙箱; - GPU 直通:把运行环境自带的
libvulkan_freedreo.so绑进沙箱,让 Flathub 应用用上 Adreno 的 Turnip 驱动。
完整技术细节可阅读 docs/development/flatpak.md。
已知限制与排错
- 桌面合成当前使用软件渲染(pixman),全屏游戏则会走 GPU 通道,性能更好;
- Firefox 沙箱在 proot 下被降级,浏览器类应用建议优先用 Flatpak 版(例如 Obsidian、Zen 的 AppImage 已知有问题,而它们的 Flatpak 版可用);
- 出问题先看日志:每次会话的日志保存在
Download/DroidDeck/,可在会话结束后直接分享; - 兼容性随设备而异,遇到问题可附上会话日志向社区反馈。
常见问题 FAQ
问:能装 x86_64 的 Steam、Discord、Spotify 吗?目前商店只收录 ARM64 构建;x86_64 应用需要沙箱内再加一层 FEX 模拟,属于路线图上尚未打通的部分(x86 AppImage 在 0.3.1 起可通过 FEX 运行)。
问:关掉商店开关,装好的应用会丢吗?不会。开关只控制入口是否显示,已安装应用仍保留在 Linux 桌面菜单中。
问:手机(非掌机)能用吗?可以。触摸即可滚动 Steam 界面,DroidDeck 还提供可自由拖拽布局的屏上按键编辑器,无手柄也能玩。
按照以上步骤,从安装到装第一个 Flathub 应用通常只需要十几分钟——现在,你的 Android 手机已经是一台 X11/Wayland 就绪的迷你 Linux 盒子了。🎮
【免费下载链接】DroidDeckDroidDeck brings the SteamOS experience to Android项目地址: https://gitcode.com/gh_mirrors/dr/DroidDeck
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考