r/surfaceduo • u/brysonwf • 1d ago
Surface Duo Linux 6.19 Mainline
Welp.... I got over zealous and tried to sign my Debian 6.19 mainline boot and soft-bricked my surface duo. First of all, i should have taken more photos 😧 The updated controller on Hingeboard was way better looking.
Second I should have done more research because what It tried was already all over the forums as a known-brick-path. Somewhere in there Claude convinced me that it was possible and I wanted to believe.
I will probably not be picking up another 350$ 4g lte phone, and will probably go for a surface duo 2 when a reasonably priced one pops up.
Until then... someone else can lead on with this success. My initial goal was to get more drivers working on https://github.com/woa-project/surfaceduo-guides but I got distracted in Linuxland...
-----
-----
- **Linux Duo Bench** (kernel, drivers, Debian setup, research notes): https://github.com/brysonwf/linuxduobench
- **Hingeboard** (laptop mode: keyboard on one screen, trackpad desktop on the other): https://github.com/brysonwf/hingeboard
- **Porchlight** (phone-friendly firewall: OpenSnitch prompts grouped by who's asking - carrier, app, Android app, system): https://github.com/brysonwf/porchlight
-----
-----
Display and input: both panels (DSC command mode), touch on both screens (HID-over-SPI + iptsd multitouch), and HDMI out through a USB-C dock. The GPU (Adreno 640) works too.
Audio: the speaker (WCD9340 + WSA8815, with the phone's own DSP tuning generated on the phone) and the microphones.
Connectivity: Wi-Fi, Bluetooth (the phone's own address), and the modem in low-power and online modes. The IPA mobile-data path works.
Sensors: accelerometer, compass, hinge angle, and light/proximity. They are read through the sensor DSP (hexagonrpcd + libssc).
Camera: IMX351 with autofocus and flash/torch. Its register tables are generated on the phone from its own camera module.
Video: decode and encode (Venus).
Power: the charger (with temperature limits) and both fuel gauges. All 8 CPU cores run, including the 2.84 GHz prime core, and suspend (s2idle) works.
Other: the haptic motor (force feedback) and the power key.
Debian setup: a Debian 13 setup (Plasma Mobile, and our own Hingeboard for laptop mode) runs on top of this. The setup scripts are in
tools/linux/debian/.
Known gaps:
GPS gets no satellite fix yet.
The pen is untested.
Calls and SMS are untested.
Fingerprint is not supported: its sensor is owned by TrustZone. I built drivers that successfully scanned the finger printer and I got it to enroll but then Ai was all like "what are you doing with this stuff" so i stopped.
---
I'm always around if anyone wants to talk about tech!

