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 7.0-rc1. 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 7.0-rc1 kernel running on a Debian Trixie RootFS, modernizing the Ghost with full and stable support for:
- Ethernet: 10/100/1000 Mbps (Tested on the 1.4 model)
- Wi-Fi 5: IEEE 802.11ac
- Bluetooth 4.1
- eMMC / USB2 / USB3 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 result : 225/305), H.265 (Fluster JCT-VC-HEVC_V1 using GStreamer-H.265-V4L2SL-Gst1.0 result : 132/147) and Panfrost
- Sound: Onboard rt5651 3.5mm, jack detection but 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 !
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 and it works well ! Maybe mainline it ?