Skip to content
View kukirin-ui's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report kukirin-ui

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. Markdown is supported. 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
kukirin-ui/README.md

Hi, I'm Alen.

I mostly mess around with Termux, Android and Linux. On XDA I go by termuxSolutions and answer questions about adb, fastboot, flashing, recoveries and getting Linux onto phones and tablets.

Stuff I made:

  • termuxSolutions: my XDA answers in one place
  • Meridian: an Android command deck for Termux
  • Nullcloud: run llama.cpp on your phone and chat from any browser, offline

Recent contributions:

Merged:

  • LargeModGames/spotatui: #860, #861
  • m87techlabs/slmkit: #17
  • vault-genome/vaultgenome-core: #74, #80

In review:

Spotlight: neovim vim.pos / vim.range docs

Repo: neovim/neovim (103k ⭐)
Issue: #39868 docs: guidance for vim.pos, vim.range
My fix: docs/pos-range-guidance

I picked this one up on my own, without asking first. From K you couldn't tell whether a constructor wanted (1,0) or (0,0), so I put the indexing in every summary line:

Constructor Indexing
cursor, mark (1,0)
extmark (0,0)
lsp 0-based line, offset in position_encoding
offset 0-based byte offset

I also fixed vim.range.to_mark(), which said it returned an extmark range. It returns a mark range.

βœ… make lintdoc passed
βœ… pos_spec 7/7 and range_spec 15/15 passed
βœ… Only doc comments changed, no code

The PR was closed without merging, but the fix is still there if anyone wants it.

Spotlight: Zig on old Android kernels (Termux)

Repo: termux/termux-packages (17k ⭐)
Issue: #20783 Running some zig commands gives "illegal instruction"
My fix: #32600

On aarch64, Zig reads CPU ID registers with raw mrs. Kernels older than 4.11 don't emulate that for userspace, so some zig commands (like zig run) died with "Illegal instruction". I made it check HWCAP_CPUID first and fall back to the baseline CPU when it's missing.

βœ… Patch applies to Zig 0.16.0, zig ast-check passed
βœ… Cross-compiled aarch64 test still detects cortex_a53 under qemu
βœ… ncdu2 and zls build fine with the patched Zig
βœ… On a tester's real 4.9 device the "Illegal instruction" crash is gone

The same device then stopped on statx, a syscall that only exists from kernel 4.11. Zig dropped support for those kernels on purpose, and a maintainer preferred a full fix or none, so I closed the PR rather than carry a half fix.

Spotlight: Bootstrap card docs

Repo: twbs/bootstrap (175k ⭐)
Issue: #43094 Style rules for .card-title are missing
My fix: #43100

In v6 .card-title and .card-text stopped adding styles on purpose, but the card page didn't say so, so it looked like CSS was missing. I tracked down the commit that removed them and updated the docs to say both classes are hooks only.

βœ… docs-mdx and docs-md lint passed
βœ… Prettier check passed
βœ… css-lint passed
βœ… Docs only, no CSS or JS changed

A maintainer went with a shorter one-sentence version in #43103, merged the same day, so mine was closed.

Spotlight: OpenClaw gateway under Termux proot

Repo: openclaw/openclaw (392k ⭐)
Issue: #171385 GatewayLockNamespaceError in Termux proot Ubuntu
My comment: diagnosis

From 2026.10.x the gateway refused to start inside proot-distro Ubuntu on Termux. I traced it to the new PID namespace check failing under proot, suggested pinning the last working version as a stopgap, and detecting proot as the long-term fix.

βœ… The failure was in the PID namespace probe under proot
βœ… Fixed upstream in #174974

The maintainer found the real mechanism: proot fakes /proc/self/ns/pid, so stat() on it fails while readlink() works. The fix reads the namespace from readlink().

Find me on X as @termuxSolutions or on XDA.

Pinned Loading

  1. Meridian Meridian Public

    Open source Android command deck for Termux: live phone readings, shell recipes, local llama.cpp AI agent mesh, and voice assistant. No account, no server. MIT.

    HTML 2

  2. Nullcloud Nullcloud Public

    Private AI in your browser, powered by your phone: llama.cpp on the GPU (Vulkan) via Termux, chat at 127.0.0.1 in any browser. Free, open source, offline, no account, no cloud. MIT.

    Python 2