Engineering services

Linux engineering,
from first boot to handover.

I help hardware makers and open-source teams bring up devices, solve difficult platform bugs, and maintain the Linux systems they ship.

01

Where I can help

Kernel bring-up & BSP

Device trees, drivers, bootloaders, vendor kernels, backports and board-support packages. From a board that won’t boot to a reproducible system image.

Ubuntu Touch & mobile Linux

Halium and libhybris ports, Android HAL integration, device-specific debugging and packaging across MediaTek and Qualcomm hardware.

Graphics & compositors

Mir, Lomiri and Wayland integration; display failures, EGL/GLES problems and hardware video acceleration.

Power & stability

Power profiles, charging behavior, thermal management and performance debugging. Investigate the behavior, make a focused change, and measure the result.

Packaging & delivery

Fedora RPMs, Debian packages, system images and CI pipelines that make changes repeatable and easier to maintain.

AMD GPU & inference systems

ROCm/HIP enablement and local inference with tools such as llama.cpp and vLLM. Scope and hardware constraints agreed before implementation.

02

How we work together

01 / Scope

Agree on the outcome.

Start with the hardware, current state, required behavior and constraints. Identify the uncertain parts early.

02 / Investigate

Find the failing layer.

Reproduce the problem and work through the boot chain, kernel and userspace with evidence.

03 / Implement

Build and verify the change.

Work in reviewable steps, test on the target hardware and document what is still unresolved.

04 / Handover

Leave a maintainable result.

Source changes, build instructions and known limitations, with upstream submission where it fits the project.

Working arrangements

Fixed-scope projects, retainers and longer engagements, worldwide. I operate through Azkali Limited in Hong Kong, with invoicing in USD or EUR.

Useful details for a first message

The device and SoC, what currently works, the result you need, your timeline, and links to public source or logs.

Start a conversation

What are you trying to make work?

Tell me about the hardware and the problem. We can work out a sensible next step.

Contact me