Skip to content
View K-Blaaaack's full-sized avatar
💭
☝🏻🤪
💭
☝🏻🤪

Block or report K-Blaaaack

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
K-Blaaaack/README.md

Typing SVG

Linux & Open Source Developer. I write cross-platform apps, port mainline kernels onto phones, and keep a homelab running. Lately most of that involves AI agents.

Arch Linux Wayland TypeScript C++ Python Linux Kernel Proxmox Website


👨‍💻 About Me

Most of what I build starts as a problem on my own machine. A game that refused to run at the refresh rate I paid for. A phone sitting in a drawer with a kernel nobody had touched since 2019. So the repos here are tools I open, not demos I parked.

The work lands in four places, unevenly. Apps first, because that's what people touch. Kernels and drivers next, because mine kept not having drivers. Homelab after that, since nobody else was going to run it. AI agents are the newest corner and the one I'd rather show than explain.

  • 🐧 Daily driver: Arch Linux on Wayland, running a kernel I built
  • 📱 Android: mainline kernel ports, device trees, touch and panel drivers, Magisk modules
  • 🖥️ Homelab: Proxmox VE, KVM/QEMU, PXE installs, a NAS, 10GbE between boxes
  • 🤖 AI: local inference, agent harnesses (OpenCode, DSH), one AstrBot plugin
  • 🔧 Most of these repos exist because I needed them. That's the whole reason

🚀 Selected work

Four repos I'd point at first. Each card says what runs today, what's half done, and what I haven't started. "In progress" on its own tells you nothing.

OpenRoadScope — 🚗 source

OBD-II telemetry for cars. An ELM327 adapter talks over USB, Bluetooth SPP or RJ45, a Python sidecar turns it into JSON-RPC, and an Electron window draws it.

Works now: live gauges and history charts, drag-and-drop dashboard with presets and import/export, DTC read/clear, VIN, zh/en, dark and light, and a drive simulator so you can develop without a car. Current build is 0.1.9-rc.3, desktop first.

Still open: it hasn't spent six hours plugged into a real car yet. PID refresh rate is capped by whatever the adapter can push, not by the app. The Android build shares the renderer and lags the desktop one.

Electron Vue 3 TypeScript Python sidecar SQLite

Hyps Hub — 🎮 source

A Qt 6 / QML desktop client for Hyps, the command-line tool I use to lift frame-rate caps in games on Linux. The CLI stays the source of truth; the GUI is an adapter around it.

Works now: first-run wizard that clones its own Hyps copy, runtime isolated under XDG dirs so it never touches ~/Hyps, environment checks parsed from the upstream report, per-game config forms, launch with live stdout and process-group cancel, config editing with validation and timestamped backups, task history, redacted diagnostics export, CI and release workflows.

Still open: Linux only. Upstream changes its config contract every few releases and I have to keep following it.

C++ Qt 6 / QML CMake GitHub Actions

oxygen-linux — 📱 local repo, not published yet

Mainline Linux on a Xiaomi Mi Max2 (msm8953). Started as a weekend experiment; it boots.

Works now: kernel 7.3 with a 263-file msm8953 patch set forward-ported, KWin on Wayland, the 1080p DSI panel, ft5x06 touch, Wi-Fi on 5 GHz, Bluetooth, USB gadget networking and serial, and Adreno 506 through freedreno. glmark2 reaches 120 fps with vsync off, which mostly proved the bottleneck is frame scheduling, not the GPU.

Partial: audio (the amp driver isn't ported, so the speaker is silent), charging (battery gauge never shows up), sensors.

Not started: camera, modem/SIM, hardware video decode.

Linux Kernel device tree clang/LLD fastboot Arch Linux ARM

KBkernel-cachy — 🧬 source

Kernel recipes and builds, not a fork with a commit history. CachyOS base, BORE scheduler, ThinLTO, x86-64-v3.

Works now: every release ships the package and the recipe it came from, with source hashes pinned in SOURCES.md. The T480 and one other machine boot these daily.

Still open: no binary repo, no automated test beyond "it boots and I keep using it".

Linux Kernel clang/LLD makepkg AUR


🧠 MAGI Decision System — local, runs as a DSH plugin

Borrowed from Evangelion, then made boring on purpose. It's a gate in front of risky tool calls. Three reviewers see the same proposal separately, with different information slices rather than different personalities. All three have to approve, and approval produces a single-use ticket bound to one effect set, good for 60 seconds.

Works now: pre-execute hook in the tool pipeline (not a prompt, so it can't be talked around), risk tiering, parallel review, arbitration, monotonic guard on the effect set, JSONL audit log with sensitive fields redacted, plus tests and two written reports.

The catch: all three reviewers run on the same model by default. Slicing the information lowers correlation; it doesn't remove it. Real independence needs a different model or a rule engine behind BALTHASAR. That's a config option today, not a finished feature.


🔧 Workshop

Smaller things, forks, one-off fixes. Forks are marked, so you can tell what I wrote and what I only rebuilt.

Project What it is
r730-fanctl IPMI fan control for a Dell R730, percentage-based curves, English and Chinese output
Xiaomi-10-Ultra-touch-flip-patch Fixes inverted touch after panel swaps on that phone
magisk-touch-invert-for-xiaomi-10-ultra Same fix, packaged as a Magisk module
mkdtboimg Build DTBO images, mirrored because the AOSP script is hard to find
ESP32-Bluetooth-Music-Controller Hardware media keys over BLE
ESP32-Buzzer-Haruhikage A buzzer that plays 春日影. It was a dare
SPlayer-Next Fork. Music player with lyric support; I keep a build for my own machine
Hyps Not mine. The CLI Hyps Hub wraps. Frame-rate unlocking scripts
local_pxe_system PXE in Docker. pxe up, then a machine installs itself
astrbot_plugin_announcement AstrBot plugin with a web dashboard. Written in an evening with agents
TWRP device trees (CS611, MT6739) Recovery trees for cheap phones, mostly forks of builder actions

🛠️ Stack, sorted by how often I actually touch it

No proficiency bars. Sorted by how often I reach for a thing, not by how good it sounds in a list.

Tier What's in it
Daily Arch Linux, Wayland (KWin, niri on the side), bash, TypeScript, Vue 3, Electron, Git
Regularly Python, C++ with Qt 6 / QML, CMake, systemd and udev, pacman and AUR packaging, Docker, Proxmox VE, QEMU/KVM, SQLite
Per project Rust, C, kernel tooling (clang/LLD, dtc, mkbootimg), Gradle and Android, ESP-IDF, ipmitool
Read more than write OpenWrt, OpenVPN, PXE boot chains, Wine and Proton internals, DPU and DRM internals

✍️ Writing

Build logs go on k-black.top, source in articles. The msm8953 port, custom CachyOS kernels, the R730 fan curve, Hyps Hub's design decisions, and two rewrites of this site that I'd do differently now.


📊 GitHub Analytics




snake animation

🐧 Currently Wrenching On

  • Amp driver and battery gauge on the Mi 6X port. Right now it's a phone that only browses
  • Whether three reviewers disagreeing ever beats one deciding. Logging every case either way
  • Making CLI tools usable without a terminal, and without slowing them down
  • Moving the homelab to PXE so reinstalling a box stops eating an afternoon

Beyond the Terminal

Homelab architecture · Android flashing and rooting · Minecraft servers · anime & 二次元 · performance tuning · hardware DIY


💭 Philosophy

Understand the system. Build useful tools. Keep experimenting.

Half of what I know came from breaking something in a VM and putting it back.


Anime Minecraft Homelab Tinkering


This page is maintained by hand. The snake is the only thing on a schedule.

Pinned Loading

  1. r730-fanctl r730-fanctl Public

    Dell PowerEdge R730 IPMI fan control script (ipmitool raw, 百分比调速/中英双语/Ctrl+C 自动恢复)

    Shell 1

  2. Hyps-Hub Hyps-Hub Public

    Hyps CLI 的原生 Linux 桌面客户端 · Qt 6 / QML / Ark 风格界面 · 独立 Hyps 组件与安全更新

    C++

  3. open-road-scope open-road-scope Public

    TypeScript

  4. SPlayer-Dev/SPlayer-Next SPlayer-Dev/SPlayer-Next Public

    🎵 Cross-platform desktop music player with rich lyric support and wide audio format compatibility. 跨平台桌面音乐播放器,支持丰富歌词与多种音频格式

    TypeScript 1.6k 169