Skip to content
GamingTuxPublic

About

Custom Raspberry Pi OS (Debian 13 Trixie) KDE Plasma 6 Edition & Cortex-A76 optimized APT repository for Raspberry Pi 5

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

72 Commits

Folders and files

Repository files navigation

πŸ“ KRubus β€” High-Performance KDE Plasma 6 (Wayland) OS for Raspberry Pi 5 & CM5

Latest Release Target Platform Desktop Environment Base System Root Filesystem Kernel License

A modern, ultra-responsive, microarchitecture-optimized Linux distribution delivering a full-featured desktop experience on Broadcom BCM2712 hardware.

Download Release Image β€’ Browse APT Repository β€’ Features β€’ Installation Guide


KRubus KDE Plasma 6 Desktop on Raspberry Pi 5

KRubus running native KDE Plasma 6 on Wayland with the signature KRubus Dark Theme, customized vector launcher, and Fastfetch hardware readout.


πŸ“– Overview

KRubus (KDE + Rubus idaeus) is an operating system crafted specifically for the Raspberry Pi 5, Raspberry Pi 500, and Compute Module 5 (CM5). Built atop Raspberry Pi OS / Debian 13 (Trixie) ARM64, it replaces traditional lightweight compromises with a fluid, modern KDE Plasma 6 (Wayland) desktop environment backed by end-to-end hardware acceleration, a custom 1000 Hz low-latency kernel, transparent Btrfs ZSTD compression, instant userspace sleep/standby, and an exclusive Cortex-A76 microarchitecture-optimized APT repository.

Booting to a fully interactive desktop in under 5 seconds, KRubus delivers workstation-grade responsiveness on a credit-card-sized single-board computer.


⚑ Key Features

πŸ–₯️ Pure Wayland KDE Plasma 6

  • Smooth 60/75 Hz Compositing: Native Wayland session powered by KWin and the Broadcom VideoCore VII (V3D 7.1) driver with direct DMA-BUF zero-copy buffer sharing.
  • Handcrafted KRubus Dark Theme: Custom obsidian & midnight slate color palette (#0d1117 / #161c26) paired with electric raspberry (#e30b5d), violet (#8b45c9), and Plasma blue (#1d99f3) accents derived from the official KRubus insignia.
  • Vector Launcher Branding: Scalable, transparent application launcher icon pre-configured directly on the primary panel.
  • Snappy UI Response: Tuned animation durations (0.5x), subpixel RGB font rendering, and zero-latency input delivery.

πŸš€ Dedicated Cortex-A76 APT Repository (+pi5)

  • Over 390 core packages (including Qt6, KDE Frameworks 6, KWin, Mesa, PipeWire, GStreamer, and FFmpeg) natively built and continuously updated specifically for the ARMv8.2-A Cortex-A76 core.
  • Compiler Flags: Compiled with -mcpu=cortex-a76+crypto -O3 -flto=auto -ftree-vectorize -floop-interchange -floop-nest-optimize -mearly-ra=all and exact BCM2712 cache geometry parameters (64 KB L1, 512 KB L2).
  • Stripped Bloat: Legacy Armv7/Cortex-A53 errata workarounds and PAC/BTI penalties completely removed for maximum instructions per cycle (IPC).
  • Web Catalog: Search and inspect every package in the live repository catalog at gamingtux.github.io/KRubus.

πŸ’Ύ Btrfs Root Filesystem with ZSTD Compression

  • Transparent Compression (compress=zstd:1): Reduces flash write wear by ~40%, doubles effective storage capacity, and significantly boosts read speeds from MicroSD, eMMC, and NVMe drives.
  • Subvolume Architecture: Isolated @ (root) and @home (user data) layout ready for instantaneous Btrfs snapshots and rollbacks.
  • Btrfs Async Discard: Native TRIM support maintaining NVMe and flash drive longevity without periodic performance hiccups.

πŸ’€ Instant Sleep & Standby (rpi-suspend)

  • Hardware Sleep Simulation: Bridges the platform lack of ACPI S3 by leveraging cgroups v2 process freezing, single-core CPU parking, and DRM display blanking.
  • Sub-Millisecond Wakeup: Instant resume via keyboard, mouse, or hardware power button.
  • Clamshell Support: Native laptop lid detection for portable Raspberry Pi 5 & CM5 shells (uConsole, CrowView, Argon ONE UP).

πŸ”‹ Hardware Power Profiles Daemon (rpi-power-profiles)

  • Event-driven, 0% idle overhead D-Bus daemon implementing org.freedesktop.UPower.PowerProfiles.
  • Controlled natively through KDE Plasma's battery & power settings applet:
    • Balanced (Default): Dynamic 0.5 ms ultra-low-latency schedutil governor, power-efficient workqueues, balanced PCIe ASPM.
    • Performance: Maximum CPU clock frequency governor, unconstrained PCIe ASPM, maximum throughput.
    • Power Saver: Frequency throttling, aggressive power saving, and automated background Wi-Fi powersave.

πŸ›‘οΈ Low-Latency Dual-Kernel & System Tuning

  • 1000 Hz Timer Frequency: Real-time desktop responsiveness with CONFIG_HZ_1000=y and 16K kernel memory pages.
  • ZRAM with ZSTD Compression: Dynamic compressed swap (min(RAM, 8192 MB)) using fast zstd compression, extending 2 GB / 4 GB / 8 GB models up to ~12–24 GB effective memory capacity.
  • EarlyOOM Desktop Protection: Guarantees that KDE Plasma, Wayland compositors, and audio daemons are never terminated during heavy multitasking memory pressure.
  • TCP BBR & Network Stack Optimization: TCP BBR congestion control, fastopen, enlarged socket buffer ceilings, and local DNS caching via systemd-resolved.
  • Multi-Rate PipeWire Engine: Supports native hardware sample rates (44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz) without forced resampler overhead.

🌐 Pre-Tuned Chromium Browser

  • Native Wayland Ozone (--ozone-platform-hint=auto): Direct scanout and zero-latency integration with KWin Wayland, bypassing XWayland for butter-smooth 60 fps VSync.
  • Zero-Copy GPU Rasterization (--enable-zero-copy): Direct memory buffer rasterization on VideoCore VII, drastically cutting RAM bandwidth and CPU cycles.
  • Canvas OOP Rasterization (--enable-features=CanvasOopRasterization): Hardware-accelerated 2D canvas drawing decoupled from the renderer thread.
  • Stripped Accessibility Overhead: Automatically purges the CPU-heavy --force-renderer-accessibility tree computation inherited from legacy Raspberry Pi OS configs.
  • User Flags Config: Drop-in support for ~/.config/chromium-flags.conf enabling clean, permanent user-level browser customizations.

πŸ“₯ Installation

Method 1: Flash Pre-Built Image (Recommended)

  1. Download the latest release image (krubus-pi5-*.img.xz) from GitHub Releases.
  2. Write the image to your NVMe SSD, eMMC, or MicroSD card using Raspberry Pi Imager or BalenaEtcher:
    • In Raspberry Pi Imager: Select Use custom and choose the downloaded .img.xz file.
  3. Insert the media into your Raspberry Pi 5 / 500 / CM5 and power on.
  4. The first-boot wizard will guide you through setting up your user account, keyboard layout, and Wi-Fi connection.

Method 2: Add KRubus Repository to an Existing Debian 13 / Raspberry Pi OS Install

If you already have a running Debian 13 (Trixie) ARM64 installation on a Raspberry Pi 5:

# 1. Install KRubus GPG Keyring
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://gamingtux.github.io/KRubus/krubus.gpg -o /etc/apt/keyrings/krubus.gpg

# 2. Add KRubus APT Repository
echo "deb [arch=arm64 signed-by=/etc/apt/keyrings/krubus.gpg] https://gamingtux.github.io/KRubus trixie main" | sudo tee /etc/apt/sources.list.d/krubus.list

# 3. Prioritize KRubus (+pi5) Packages
cat << 'EOF' | sudo tee /etc/apt/preferences.d/krubus-pi5.pref
Package: *
Pin: origin "gamingtux.github.io"
Pin-Priority: 1001
EOF

# 4. Refresh Package Lists and Upgrade
sudo apt update && sudo apt full-upgrade -y

# 5. Install the KRubus Desktop Metapackage
sudo apt install -y krubus-desktop

πŸ“¦ Metapackage Architecture

KRubus follows a clean modular metapackage design, ensuring rolling updates automatically reach your installation via sudo apt upgrade:

Package Version Description
krubus-desktop 1.0.1 Flagship metapackage pulling in KDE Plasma 6, SDDM, KWin Wayland, Dolphin, Konsole, Chromium, and all system tunings.
krubus-default-settings 1.0.9 Core system configuration: KRubus Dark theme, vector icons, ZRAM zstd, sysctl, EarlyOOM rules, PipeWire multi-rate, and Chromium performance configuration.
rpi-power-profiles 1.0.2 Event-driven D-Bus hardware power profiles daemon connecting KDE PowerDevil with BCM2712 CPU governors and PCIe ASPM.
rpi-suspend 1.5.2 Standby and sleep manager enabling instant <1 ms interrupt wakeup on Raspberry Pi 4/5 hardware.
krubus-kernel-hook 1.0.0 Kernel packaging hook maintaining the 1000 Hz dual-kernel configuration in /boot/firmware/kernel_2712.img.

πŸ› οΈ Performance & Compiler Configuration

All packages in the KRubus APT repository are compiled with uncompromising, hardware-specific flags tailored exclusively for the BCM2712 SoC:

# Architecture & Cache Geometry
-mcpu=cortex-a76+crypto -mtune=cortex-a76 -mno-fix-cortex-a53-835769 -mno-fix-cortex-a53-843419 \
-mbranch-protection=none -mno-outline-atomics -mearly-ra=all \
--param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512

# Optimization & Code Generation
-O3 -ftree-vectorize -fvect-cost-model=dynamic -fomit-frame-pointer -fno-semantic-interposition \
-fno-math-errno -fno-trapping-math -ffp-contract=fast -fprefetch-loop-arrays -floop-interchange \
-floop-unroll-and-jam -fpeel-loops -funroll-loops -ftracer -fgraphite-identity -floop-nest-optimize -g0

# Link-Time Optimization & 16K Page Alignments
-flto=auto -ffat-lto-objects -fuse-linker-plugin -fdevirtualize-at-ltrans \
-Wl,-O3 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,-z,max-page-size=16384 -Wl,-z,common-page-size=16384

πŸ“‚ Repository Structure

  • packages.txt β€” Comprehensive list of all 390+ upstream Debian source packages built with Cortex-A76 -O3 + LTO optimization.
  • packages/ β€” Native KRubus deb packages (krubus-desktop, krubus-default-settings, rpi-power-profiles, rpi-suspend, krubus-kernel-hook).
  • build-repo.sh β€” Autonomous delta APT repository builder with self-healing LTO fallbacks, time budgeting, and GPG signing.
  • generate-repo-index.py β€” Static site generator producing the searchable GitHub Pages catalog.
  • sync-rpi-suspend.sh β€” Automated upstream sync script for rpi-suspend.
  • pi-gen/ β€” Official Raspberry Pi image generation pipeline configured with Btrfs rootfs and KDE Plasma stage modules.
  • .github/workflows/ β€” Automated CI/CD workflows for APT repository updates and automated .img.xz release builds.

🀝 Contributing & License

Contributions, hardware benchmarks, and feedback are warmly welcomed! Please feel free to open an issue or pull request.

About

Custom Raspberry Pi OS (Debian 13 Trixie) KDE Plasma 6 Edition & Cortex-A76 optimized APT repository for Raspberry Pi 5

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages