My Wife’s Steam Deck Is a Server Now. She Doesn’t Know Yet. 🫠
My Wife’s Steam Deck Is a Server Now. She Doesn’t Know Yet. 🫠
我老婆的 Steam Deck 现在成了服务器,但她还不知道。🫠
Hey tech adventurers! 👋 What if the hardware you already own could become part of your homelab? That spare Linux box. An old Mac. A mini PC sitting under the TV. Or, in my case, my wife’s Steam Deck. 😅
嘿,科技探险家们!👋 如果你现有的硬件能成为家庭实验室(homelab)的一部分会怎样?那台闲置的 Linux 主机、旧 Mac、放在电视下的迷你 PC,或者像我这种情况——我老婆的 Steam Deck。😅
She can’t play 24/7, so when the Deck is idle, I figured its CPU might as well do something useful. So I installed BarkVisor on SteamOS and turned it into another Device in my Home. It can run VMs, join my other Mac and Linux machines, and even run small local AI models with Ollama. And yes, it still plays games. I’m not that terrible of a husband.
她不可能 24 小时都在玩游戏,所以当 Deck 闲置时,我觉得它的 CPU 不如发挥点余热。于是我在 SteamOS 上安装了 BarkVisor,把它变成了我家庭网络中的另一台设备。它现在可以运行虚拟机、连接我的其他 Mac 和 Linux 机器,甚至通过 Ollama 运行小型本地 AI 模型。当然,它依然可以玩游戏。我还没那么糟糕,不至于剥夺老婆的娱乐。
This post is the “I actually did it on a Steam Deck” walkthrough: practical, step-by-step, and no kernel seminar. The bigger idea, though, is simple: You probably already have a machine that could run BarkVisor.
这篇文章是“我在 Steam Deck 上实操”的指南:实用、分步讲解,且没有枯燥的内核研讨会。但更核心的理念很简单:你手头可能已经有一台能运行 BarkVisor 的机器了。
What you end up with 🍕
你最终会得到什么 🍕
| Role | Machine | Listens |
|---|---|---|
| Home (UI + control) | Mac/Linux on the LAN | :7777 HTTP, :7778 mTLS |
| Device (this tutorial) | Steam Deck (or similar SteamOS / handheld Linux) | :7777 API only, :7778 agent, Ollama :11434 |
| 角色 | 机器 | 监听端口 |
|---|---|---|
| Home (UI + 控制) | 局域网内的 Mac/Linux | :7777 HTTP, :7778 mTLS |
| Device (本教程) | Steam Deck (或类似的 SteamOS/掌机 Linux) | :7777 仅 API, :7778 agent, Ollama :11434 |
Example LAN: Home 192.168.10.10, Deck 192.168.8.133. You never open the Deck’s :7777 in a browser. Pair once. Then lives in BarkVisor.
局域网示例:Home 为 192.168.10.10,Deck 为 192.168.8.133。你不需要在浏览器中打开 Deck 的 :7777 端口。只需配对一次,之后它就会一直存在于 BarkVisor 中。
Same class of machine: Steam Deck and Lenovo Legion Go–style handhelds running SteamOS / Arch-ish Linux. The unlock + pacman bits below are SteamOS / Deck-specific. Adjust paths (/home/deck) if your user isn’t deck.
同类机器:运行 SteamOS 或类 Arch Linux 的 Steam Deck 和联想 Legion Go 等掌机。下方的解锁和 pacman 操作是 SteamOS/Deck 专用的。如果你的用户名不是 deck,请相应调整路径(/home/deck)。
1. Prep the Deck (Desktop Mode) 🛠️
1. 准备 Deck(桌面模式)🛠️
Switch to Desktop Mode. Set a sudo password if you haven’t (passwd). SteamOS root is tiny (~5GB). BarkVisor, models, and VM disks go under /home. Do not fill the root partition. Future-you will thank present-you.
切换到桌面模式。如果你还没设置 sudo 密码,请先设置(使用 passwd 命令)。SteamOS 的根分区很小(约 5GB)。BarkVisor、模型和虚拟机磁盘应存放在 /home 下。千万不要填满根分区,未来的你会感谢现在的你。
Unlock the OS and trust SteamOS package keys (once — when pacman complains about unknown trust / GitLab CI Package Builder):
解锁操作系统并信任 SteamOS 软件包密钥(仅需一次——当 pacman 报错未知信任或 GitLab CI Package Builder 时):
sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman-key --populate holo
sudo pacman-key --lsign-key 889B5EBDDD505A683621900DAF1D2199EF0A3CCF
Install the VM stack. Arch/SteamOS splits QEMU — qemu-base alone is not enough for BarkVisor’s virtio-gpu-pci, and cloud-init needs mkisofs from cdrtools:
安装虚拟机栈。Arch/SteamOS 将 QEMU 拆分了——仅安装 qemu-base 不足以支持 BarkVisor 的 virtio-gpu-pci,且 cloud-init 需要 cdrtools 中的 mkisofs:
sudo pacman -S qemu-base edk2-ovmf \
qemu-hw-display-virtio-gpu qemu-hw-display-virtio-gpu-pci \
cdrtools swtpm
Sanity check (you want a line with virtio-gpu-pci and a writable /dev/kvm):
完整性检查(你应该看到包含 virtio-gpu-pci 的行,且 /dev/kvm 可写):
command -v qemu-system-x86_64 qemu-img mkisofs
qemu-system-x86_64 -device help | grep virtio-gpu-pci
ls /usr/share/edk2/x64/OVMF_CODE.4m.fd
ls -l /dev/kvm
2. Install BarkVisor agent only (no UI) 🐕
2. 仅安装 BarkVisor 代理(无 UI)🐕
Do not pipe install.sh into sudo on SteamOS. Use the Linux tarball under home. Agent mode = no SPA on the Deck. The Deck is a worker, not a kiosk.
不要在 SteamOS 上直接将 install.sh 通过管道传给 sudo 执行。请在 home 目录下使用 Linux tarball 包。代理模式意味着 Deck 上没有 SPA(单页应用)界面。Deck 是工作节点,不是展示终端。
(Note: Follow the original article’s provided bash scripts for downloading, verifying, and setting up the systemd service to complete the installation.)
(注:请参考原文提供的 bash 脚本进行下载、校验并设置 systemd 服务以完成安装。)
3. Pair the Deck to Home 🔗
3. 将 Deck 与 Home 配对 🔗
On Home (the machine that already finished BarkVisor setup): Open http://<home-ip>:7777 -> Settings -> Pairing -> Add a Device. Pick the LAN address the Deck can reach.
在 Home 端(已完成 BarkVisor 设置的机器):打开 http://<home-ip>:7777 -> 设置 -> 配对 -> 添加设备。选择 Deck 可以访问的局域网地址。