I am a software engineer specializing in Linux kernel, bootloaders and embedded systems.

However I do not limit myself, so I worked on a lot of interesting stuff in my spare time

lima driver

Disclaimer: I am just one of developers who worked on this driver

This is a reverse-engineered driver (as in there is no public documentation on this GPU) for ARM Mali 400/450 (Utgard), GLES2-class GPU from ~2008

I worked a lot on both command stream generation and on shader compilers (yes, compilers, Mali Utgard vertex shader and fragment shader have different ISA)

libfprint drivers

I reverse-engineered protocols for a lot of fingerprint scanners. I am not actively working on it anymore though.

u-boot fixes and improvements

Bootloaders are fun. On most embedded platforms they are as close to the hardware as possible. Click to see my contributions to u-boot for various SoCs and boards. I mostly either add missing drivers/features for the hardware I have.

Linux kernel patches

One of the reasons why I like Linux is that I can fix it if it breaks

Retro computers

I love retro-computers. I had a ZX-Spectrum clone what I was a kid, so I built a few clones for fun: Harlequin 128 rev. 2D and rev. 4B and Sizif-512

So yeah, I know how to hold a soldering iron. I also dipped my toe in hardware development, I designed DivMMC variant. It is a remake of original DivTiesus, I redid whole project in KiCAD, rerouted the PCB and added joystick and WiFi support. It is CPLD-based design, so it allowed me to tinker with Verilog

Microcontrollers

And more reverse-engineering! Did you know that you can write ESP32 apps in Rust? See my project to receive 433MHz OOK-modulated signal