Shadow Ghost
Over the years, I’ve seen many users looking to repurpose their Shadow Ghost devices following Shadow's abandonment of the hardware (see also my Open Letter to Shadow post). These devices are now frequently found on eBay and similar sites for cheap. Over the past two weeks, I attempted to build a custom DeviceTree for the Ghost using kernel 6.19.6/7.0rc4. I quickly managed to boot via USB, though it involved many kernel panics and a full week without network connectivity—thankfully, I had a working serial UART!
For further detail, the Shadow Ghost features an RK3399 SoC with six CPUs (four "Little" cores at 1.4GHz and two "Big" cores at 1.8GHz), 2GB of RAM and an ARM Mali-T860MP4 GPU. It is capable of hardware decoding VP9, H.264, and H.265, it includes a whopping 7.4GB of internal eMMC storage and runs by default on Yocto Dunfell, vendor Kernel 4.4.194-rockchip-standard. The device is entirely fanless and features very low power consumption (~15W). The RK3399 is a versatile SoC that was (and still is) commonly found in Android TV boxes, automotive head units, and handheld game consoles.
No more teasing...
I have successfully achieved a 6.19.6/7.0rc4 kernel running on a Debian Trixie RootFS, modernizing the Ghost with full and stable support for:
- CPU: score: 291-464 (Geekbench6 details: https://browser.geekbench.com/v6/cpu/16957229)
- Ethernet: 10/100/1000 Mbps (Tested on the 1.4 model)
- Test Server: [61289] ~663km Puteaux (France) by ORANGE FRANCE
- Latency: 10.612797ms Jitter: 241.525µs
- Download: 908.66 Mbps
- Upload: 799.27 Mbps
- Packet Loss: N/A
- Wi-Fi 5: IEEE 802.11ac
- Bluetooth 4.1
- eMMC / USB2 / USB3.2 Gen 1 SuperSpeed support
- HDMI/VPU/GPU: Including HDMI-CEC, HDMI-Audio, VOP, Hardware H.264 video decoding (Fluster JVT-AVC_V1 using GStreamer-H.264-V4L2SL-Gst1.0 result : 129/135), VP9 (Fluster VP9-TEST-VECTORS using GStreamer-VP9-V4L2SL-Gst1.0 result : 225/305), H.265 (Fluster JCT-VC-HEVC_V1 using GStreamer-H.265-V4L2SL-Gst1.0 result : 132/147) and Panfrost (glmark2-wayland score: 911, glmark2-es2-wayland score: 874)
- Sound: Onboard rt5651 3.5mm, jack detection
- Mono only (Hardware limitation?)
- Temperature Sensors: Full monitoring for both CPU and GPU
- Power Button: Now functions as a true power button with "Single Press" support for clean shutdown (while "Long Press" remains a hard shutdown)
and without requiring extra hardware or opening it ! (apart from an USB key and a powered USB switch if it draws too much current)
Hardware Recommendations
A cheap USB 3.2 Gen 1 key (Netac US9 could be overkill, but why not!))
What can I do with it?
Well, just about anything! It makes for a fantastic mini-server. You could use it to run Klipper or OctoPrint to drive your 3D printer, or set it up as a hub for Home Assistant or Jeedom. It’s powerful enough to act as a GitLab runner or a lightweight K8s node, you could even run my custom version of the Shadow Desktop for Rockchip on it if you wanted!
So, what’s next?
- Release: as of now it's been released to my VIP's as a Debian Trixie and Forky firmware image and it works well !


