Mikołaj Lubiak

Senior Software Engineer · Embedded Linux & Systems

I build low-level software that has to be correct, fast and secure: embedded Linux platforms and security-critical system services at work, and real-time renderers on my own time. Based in Warsaw, Poland.

Email me LinkedIn GitHub

What I do

I’m a senior software engineer at Xperi, where I work on the security and provisioning side of a Linux-based smart-TV operating system. My work runs from the boot chain to the cloud: secure boot and device identity, factory and over-the-air provisioning, platform hardening and vulnerability response across the kernel and user space. I write C and C++ for the kernel, bootloader and system services, and Python for provisioning tools and automation.

I also review a large share of my team’s code, mentor newer engineers and coordinate fixes with other teams when a security issue cuts across the platform.

Outside work I build things to understand how they work: Vulkan and software renderers, an x86 boot chain and firmware for microcontrollers.

Open source

Selected projects

vlkn — Vulkan rendering engine

2024

A C++20 Vulkan renderer with a quaternion 6-DOF camera, an 8-texture sampler array with anisotropic filtering, Blinn-Phong lighting with 16 animated point lights, a fixed 512 Hz simulation loop and an ImGui debug overlay, built on swap-chain recreation (MAILBOX with FIFO fallback), two frames in flight synchronized with fences and semaphores, staging-buffer uploads, depth buffering, descriptor sets and push constants.

  • C++20
  • Vulkan
  • GLSL / SPIR-V
  • CMake

ESPCon — real-time 3D on a microcontroller

2024

A real-time 3D renderer for an ESP32-S3 with no GPU: hand-written vector and matrix math, back-face culling, flat lighting and depth sorting, with triangles pushed over SPI to TFT displays and OBJ meshes loaded from an on-flash LittleFS filesystem.

  • C++
  • ESP32-S3
  • SPI
  • PlatformIO

GOS — x86 boot chain

2024

A two-stage x86 boot chain: a 512-byte NASM boot sector walks a FAT12 filesystem to load a 16-bit C second stage with its own small libc and FAT12 driver, using BIOS disk services with retries. Debugged in QEMU and Bochs.

  • x86 assembly
  • C
  • QEMU
  • Bochs

All projects →

Writing

Contact

The best way to reach me is by email (PGP key) or on LinkedIn.