About
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