Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Droidian on the Samsung Galaxy Note10 Lite (r7)

Debian GNU/Linux with the Phosh shell on a Samsung Galaxy Note10 Lite (SM-N770F, Exynos 9810), running Droidian.

This is a Halium port, not a mainline port. The device runs its stock Android 4.9 vendor kernel, and the Android hardware HALs — graphics, audio, camera, radio — are used through libhybris from inside an LXC container. There is no mainline kernel for Exynos 9810, so this is what "Linux on this phone" realistically means today. Everything above that layer is ordinary Debian.

This is a community port. It is not affiliated with or endorsed by Samsung or the Droidian project.

This is a detached, unofficial development effort. It is not submitted to or tracked by the official droidian-devices registry, and it is not guaranteed to stay in sync with upstream Droidian, Halium, or any of the projects it patches. Treat every repository here as this port's own fork, not as a tracked mirror of anything upstream.

Status: usable as a daily-driver-ish device, with caveats. Calls connect but there is no call audio; the device reboots instead of shutting down while the charger is attached. Read Known issues before you flash anything.


AI assistance

This port was developed with heavy use of an LLM (Claude) throughout: reading kernel and driver source, forming and eliminating hypotheses, writing and translating patches, and writing this documentation. A port this deep — kernel driver fixes and a full feature audit among them — would not have come together in this timeframe without it.

Every kernel and package change described here was built and run on the actual device; nothing here is theoretical or untested code generated and left unverified. But the investigation, the wording, and a fair amount of the code came from the LLM, with the human directing the work, running the hardware tests, and making the calls it couldn't. Read the technical claims with that in mind, and if something looks wrong, it may well be - open an issue.


What works

Short version — the full table with evidence is in docs/STATUS.md.

Working Display, touch, GPU, rotation, S Pen (hover, tap, button, scroll), WiFi, Bluetooth + tethering, mobile data, SIM, speaker, microphone, camera (photo + video), battery, charging, vibration, sensors, Waydroid (Android apps)
⚠️ Partial UI smoothness, video thumbnails, NFC (hardware works, toggle does not), Waydroid under heavy GPU/video load
Not working Call audio, shutdown while charging, external display

There is also early, unfinished research into a Wayfire/Plasma Mobile desktop mode — not part of the image, not daily-usable, and not a claim this port is making yet. See docs/STATUS.md if you are curious about where that stands.

External display / DeX-style output is impossible on this device and no amount of software will change that: the USB-C port is USB 2.0-only, so the SuperSpeed pairs that DisplayPort Alt Mode needs are not routed on the PCB. The full 18-step investigation and evidence chain is in docs/research/displayport-alt-mode.md.


Repositories

The port follows the layout used by the other droidian-devices ports:

Repository What it is
linux-android-samsung-r7 Kernel 4.9.191 with the device patches, plus Debian packaging
adaptation-samsung-r7 The adaptation package: udev rules, audio policy, systemd units, S Pen daemon
droidian-samsung-r7 Image recipes, the device apt repository, and the release workflow
docs (this repo) Documentation, status, install guide, research notes

Flashable images are published as releases on droidian-samsung-r7.


Install

See docs/INSTALL.md.

Before you start, three things that will ruin your day if you skip them:

  1. The bootloader must be unlocked.
  2. The device must be on Android 13 stock firmware. This model has anti-rollback; you cannot go back to an older firmware once it has been raised.
  3. heimdall accepts one flash command per download-mode session. Reboot into download mode again between commands.

What this port contributed back

Beyond getting the device to boot, two genuine defects in Samsung's own kernel source were found and fixed. Both are independent of this particular device and apply to any Exynos device using the same drivers:

  • usbpd_manager.cMANAGER_DisplayPort_Configure_ACKED was an empty case, so displayport_drv was never told about DP_CONNECT / LINK_CONF / HPD after a successful DisplayPort negotiation.
  • displayport_usb_typec_notification_proceed() — never assigned ccic_cable_state. That assignment only existed in a sibling function that is dead code unless CONFIG_USE_DISPLAYPORT_CCIC_EVENT_QUEUE is enabled.

Three more fixes that matter to anyone doing a Halium port:

  • Mali kbase PID-namespace bug — GPU context creation fails with -ESRCH inside any PID namespace, which is why Android-in-a-container (Waydroid) could never finish booting. Present in the bv_r26p0, bv_r32p1 and bv_r38p1 driver copies.
  • net/bluetooth/Makefile — Samsung had commented out the obj- lines for RFCOMM/BNEP/HIDP, so those were never built even with CONFIG_BT_*=y. Note that /proc/config.gz still claims they are enabled.
  • net/bluetooth/hci_sock.c — most of the file's body was commented out, leaving stubs that return 0.

Reusable findings for other Halium ports are collected in docs/research/porting-notes.md.


Documentation

docs/STATUS.md Full feature table with how each item was verified
docs/INSTALL.md Flashing and first-boot
docs/KNOWN-ISSUES.md What is broken, why, and any workaround
docs/BUILDING.md Building the kernel, the adaptation package and the image
docs/research/bring-up.md How the port got from first boot to a working display, and the black screen investigation
docs/research/displayport-alt-mode.md Why external display is impossible here, and the two driver bugs found on the way
docs/research/desktop-mode.md Early Wayfire/Plasma Mobile research — the render/gesture engine works, but app launching, the keyboard and icons don't yet. Not a usable feature
docs/research/performance.md What was measured, what the bottleneck actually is
docs/research/porting-notes.md Findings that apply to other Halium ports
docs/reference/ Command cookbook, symptom index, partition map, boot-image parameters

Credits and licence

See LICENCE for the full breakdown of what was used in full, what was adapted, and what was only consulted for reference — this port touches several other people's projects and each is credited there by name.

  • Kernel source: Samsung Open Source Release Center, SM-N770F_EUR_13_Opensource — GPL-2.0
  • Adaptation package — see its own repository
  • Documentation in this repository — CC BY-SA 4.0

The published images contain no Samsung proprietary blobs. The vendor libraries are read at runtime from the device's own vendor partition, which is left in place; nothing proprietary is redistributed here.

About

Droidian (Debian + Phosh) on the Samsung Galaxy Note10 Lite (SM-N770F, r7) — a Halium port. Status, install guide and research notes.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors