Work

Hardware, brought to life with Linux

Device ports, kernel work and the systems around them. Browse by hardware family, then follow the project notes, source code or documentation.

Nintendo Switch & Tegra

The Linux 4 Switch / Tegra X1 line

Flagship · Switch · Tegra X1

Maintained

Linux 4 Switch (L4S) — L4T Fedora

Nintendo Switch / Switch Lite · NVIDIA Tegra X1 (T210 / Tegra210b01)

Founder & lead maintainer

Open-source desktop Linux (Fedora) on the Nintendo Switch — a full distro with hardware video decode, GPU acceleration and a gaming/emulation stack, booted through the Tegra recovery exploit. Now with on-device Vulkan on the Switch GPU (GM20B / Maxwell) via Mesa. The project I founded and still maintain.

Linux kernel

device tree

NVDEC / nvv4l2

Mesa / nouveau

Fedora / COPR

hekate / U-Boot

CI/CD

Vulkan / NVK

Switch · Shield · Xavier NX

Ongoing

Mainline Tegra ports

Switch (T210) · Shield Portable (roth) · Jetson Xavier NX · Tegra X1 / Tegra 4 / Tegra Xavier

Author

Mainline-oriented Linux work across NVIDIA Tegra silicon: a WIP mainline Switch port, a preliminary Shield Portable (ROTH) port with Grate GPU drivers, and Xavier NX bring-up.

mainline Linux

Grate

device tree

DSI / clk DFLL

Switch · Cortex-A57

Ongoing

Proton for the Switch (ARM64 / Cortex-A57)

Nintendo Switch · NVIDIA Tegra X1 — Cortex-A57 (ARMv8.0-A)

Author

Proton (Steam Play) rebuilt for ARMv8.0-A / Cortex-A57 so x86/x64 Windows games run on the Switch’s Linux — patched around the LSE atomic instructions the A57 lacks.

Proton / Steam Play

ARMv8.0-A

FEX / box64

Wine

Shield Tablet · Tegra K1

Ongoing

Nvidia Shield Tablet (tn8) — LineageOS + open Mesa

Nvidia Shield Tablet (tn8 / mocha) · NVIDIA Tegra K1 (GK20A Kepler)

Author

Current WIP: LineageOS 22.2 (Android 15) on the Nvidia Shield Tablet, forced onto the open-source Mesa GPU stack instead of NVIDIA’s blob — the same open-driver approach used across the Tegra work. Mainline audio card names, IIO sensor HAL, and mocha (LTE) support in progress.

LineageOS

Android device tree

Mesa / open GPU

Tegra K1

PocketDS

Mainline Snapdragon 8 Gen 2 handheld

AYANEO Pocket DS · SD8 Gen 2

Ongoing

Fedora on the AYANEO Pocket DS

AYANEO Pocket DS (dual-screen handheld) · Snapdragon 8 Gen 2 / Adreno 740

Author · mainline kernel

A Fedora-based Linux OS for the dual-screen AYANEO Pocket DS, with an active mainline kernel port being upstreamed on the LKML.

mainline Linux

Adreno 740 / freedreno

gamescope

initramfs

Fedora image builder

Volla & Ubuntu Touch

UBports / Halium / MediaTek

Volla · MediaTek · Halium 9→14

Shipped

Volla device family — Ubuntu Touch

The entire Volla lineup · MediaTek mt6763 / mt6768 / mt6789 / mt6877 / mt8781

Linux engineering consultant — Volla Systeme GmbH

Ubuntu Touch developer across the entire Volla lineup — Halium 9→14 kernels, OTA releases, performance and power work, and Mir 2.x bring-up.

Seven devices ported

yggdrasil yggdrasilx mimameid vidofnir algiz ansuz mimir

Halium

MediaTek BSP

device tree

Ubuntu Touch

Mir 2.x

Samsung

Qualcomm Snapdragon · foldables & tablets

Z Fold 3 · SM8350

Shipped

Ubuntu Touch on the Galaxy Z Fold 3

Samsung Galaxy Z Fold 3 5G (q2q) · Snapdragon 888 (SM8350)

Author

Full bring-up of the foldable: Ubuntu Touch (GKI / Halium), a TWRP-OrangeFox recovery, AOSP device & vendor trees, and a mainline device tree.

Halium / libhybris

Android device tree

GKI kernel

TWRP

edk2 / UEFI

mainline DTS

Tab S9 · SM8550

Ongoing

Ubuntu Touch on the Galaxy Tab S9

Samsung Galaxy Tab S9 (gts9) · Snapdragon 8 Gen 2 (SM8550)

Author

Kernel and device bring-up for the Tab S9 on Ubuntu Touch (also explored under postmarketOS) — GIC/hypervisor quirks, ramoops, earlycon, DTBO.

msm-kernel

Halium

device tree

DTBO

Upstream & other

Mir / Lomiri upstream & one-offs

Game streaming · handhelds

Ongoing

Moonlight-qt — gamepad-mode fork

Linux handhelds (Switch / Pocket DS) · Moonlight / GameStream

Author (fork)

A fork of the Moonlight game-streaming client adding a ‘gamepad mode’ (formerly ‘no-video’) — stream a host PC’s games while a Linux handheld acts as the controller, skipping the local video path. Packaged in the Linux 4 Switch COPR.

Moonlight

GameStream

Qt

NVDEC

Ubuntu Touch · upstream

Ongoing

Mir 2.x / qtmir — native Wayland under Lomiri

Ubuntu Touch (upstream) · cross-device

Upstream contributor

Work on the Mir 2.x stack and qtmir to run native Wayland Linux apps under the Lomiri compositor; upstream contributions to Lomiri and qtmir.

Mir

qtmir

Wayland

Qt

Lomiri

GPD P2 Max · Intel

★ 85

Shipped

GPD P2 Max Hackintosh

GPD P2 Max · Intel

Author

macOS (Hackintosh) enablement for the GPD P2 Max — a complete Clover/OpenCore EFI with ACPI/DSDT patches, kexts and touchpad/Wi-Fi/touchscreen drivers. GPD links and ships it from their own official firmware & driver page. My most-starred repo.

Hackintosh

Clover / OpenCore

ACPI / DSDT

kexts

PC / ARM64 · Xbox 360

Experimental

Game recompilation — Kameo & Xbox 360

PC / ARM64 · Xbox 360 / PowerPC

Author

Static recompilation of Xbox 360 games to native code: porting Kameo: Elements of Power on top of an Xbox 360 recompilation runtime/toolkit so it runs natively on PC and ARM64.

static recompilation

Xbox 360 / PowerPC

C++

AMD Radeon · Ryzen AI

Ongoing

AMD ROCm AI stack

AMD Radeon / Ryzen AI · ROCm / HIP

Author

GPU-accelerated AI on AMD hardware. ‘supercharger’ (llama_supercharged) is a high-performance llama.cpp inference library with ROCm, Vulkan and Metal backends plus distributed RPC; ComfyUI runs on ROCm and via ZLUDA; and ‘exo’ spreads inference across everyday devices — the hands-on side of the AMD ROCm / LLM service.

ROCm / HIP

Vulkan

ZLUDA

llama.cpp / vLLM

exo

If this work is useful to you, you can support ongoing Linux ports and maintenance.