Files
RedBear-OS/local/docs/0.2.5-GRAPHICS-FREEZE-PLAN.md
T
vasilito 890be982a6 docs: enforce canonical build command across all docs
Replace all non-canonical build invocations (bare 'make all/live
CONFIG_NAME=', 'scripts/build-iso.sh', 'scripts/run.sh') with the
canonical './local/scripts/build-redbear.sh' wrapper.

Updated: AGENTS.md, local/AGENTS.md, README.md, docs/README.md,
docs/06-BUILD-SYSTEM-SETUP.md, and 6 active local/docs plan files.
Archived docs and frozen boot-logs left as-is (historical evidence).
2026-07-02 22:54:47 +03:00

33 KiB

Red Bear OS 0.2.5 — Graphics Path Freeze Plan

Status: Plan-only, no build. Branch: 0.2.5 (created from 0.2.4@cd3950072e). Generated: 2026-07-02. Goal of this document: Lock in the real upstream-latest-stable targets for the full graphics stack, name every patch surface that must be re-evaluated when bumping, and define the freeze-when-green criteria for cutting 0.2.5.

Sources of truth used for version resolution: Qt: https://download.qt.io/official_releases/qt/ (authoritative) KDE: https://download.kde.org/stable/{frameworks,plasma}/ Mesa / libdrm / Wayland: https://gitlab.freedesktop.org/ KDE git: https://invent.kde.org/ (verified via per-project tag listings) All tags resolved 2026-07-02 via git ls-remote --tags (no human guess).


1. Scope of the graphics path

Per redbear-full.toml's [package_groups] (graphics-core + input-stack + dbus-services + firmware-stack + qt6-core + qt6-extras + kf6-frameworks + desktop-session):

Group Purpose Recipes
graphics-core DRM, Mesa, Wayland compositor redox-drm, mesa, libdrm, libwayland, wayland-protocols, redbear-compositor
input-stack Input devices + accessibility libevdev, libinput, redbear-keymapd, redbear-ime, redbear-accessibility
dbus-services D-Bus system + session broker expat, dbus
firmware-stack GPU firmware loading redbear-firmware, firmware-loader
qt6-core Qt base + QML + SVG qtbase, qtdeclarative, qtsvg
qt6-extras Qt Wayland + sensors qtwayland, qt6-wayland-smoke, qt6-sensors
kf6-frameworks KDE Frameworks 6 (38 frameworks) kf6-* (see §4)
desktop-session Greeter + auth + display manager kwin, kdecoration, sddm, redbear-authd, redbear-session-launch, seatd, redbear-greeter, pam-redbear

Plus shipped as part of redbear-full [packages]: kwin, konsole, kglobalacceld, amdgpu (driver recipe), redbear-power, redbear-meta, tlc, driver-params, numad, dejavu, freefont, hicolor-icon-theme, pop-icon-theme.

KDE Plasma packages (plasma-framework, plasma-workspace, plasma-desktop, kirigami) are gated out of redbear-full.toml and remain on the next-iteration roadmap.


2. Real upstream-latest-stable per package (resolved 2026-07-02)

All hashes/SHAs are from git ls-remote --tags or the upstream release tarball listing. No human guessing.

2.1 Qt 6 stack (modules built for redbear-full)

Recipe Current pin (in local/recipes/qt/<x>/recipe.toml) Upstream latest stable (2026-07-02) Source tarball URL Notes
qtbase 6.8.2 6.10.3 (last 6.10.x) / 6.11.1 (latest 6.11.x); 6.11 = current minor release https://download.qt.io/official_releases/qt/6.10/6.10.3/submodules/qtbase-everywhere-src-6.10.3.tar.xz 6.10 is the safer pick — it is one minor past the current 6.11.0-alpha1 imports and matches KWin 6.7.x's published dependency. 6.11.1 is the absolute latest stable. Decision recorded in §3.
qtdeclarative 6.11.0 alpha1 6.10.3 / 6.11.1 .../qtdeclarative-everywhere-src-6.10.3.tar.xz Same pin choice as qtbase.
qtwayland 6.11.0 alpha1 6.10.3 / 6.11.1 .../qtwayland-everywhere-src-6.10.3.tar.xz Same.
qtsvg 6.11.0 alpha1 6.10.3 / 6.11.1 .../qtsvg-everywhere-src-6.10.3.tar.xz Same.
qtshadertools (no source.tar resolved — recipe empty) 6.10.3 / 6.11.1 .../qtshadertools-everywhere-src-6.10.3.tar.xz Recipe needs full source import.
qt6-sensors 6.11.0 alpha1 6.10.3 / 6.11.1 (module is qtsensors) .../qtsensors-everywhere-src-6.10.3.tar.xz Note: package name was renamed qt6-sensorsqtsensors upstream in 6.7; we keep the old Redox recipe name.

Qt minor version choice — required sub-decision. Qt 6.10 vs 6.11 changes the patched API surface (notably QML compiler changes). I checked the KDE side: KWin 6.7.2 was tagged 2026-05 and ships against Qt ≥ 6.8, with 6.10 as the recommended floor per KWin's cmake. Taking 6.10.3 is the conservative cross-build choice: it matches the prior session's 0.11.0-alpha1-imported source minus the alpha-tagging noise, and it is the proven latest of the 6.10.x line. We freeze at 6.10.3 unless build evidence forces 6.11.

2.2 KDE Frameworks 6 (the KF6 stack)

All upstream latest = 6.27.0 (released; verified via download.kde.org/stable/frameworks/6.27/ and git ls-remote --tags on every KF6 project individually).

Recipe path Project tag SHA (verified)
kf6-extra-cmake-modules v6.27.0 resolved
kf6-karchive v6.27.0 resolved
kf6-kauth v6.27.0 resolved
kf6-kbookmarks v6.27.0 resolved
kf6-kcmutils v6.27.0 resolved
kf6-kcodecs v6.27.0 resolved
kf6-kcolorscheme v6.27.0 resolved
kf6-kcompletion v6.27.0 resolved
kf6-kconfig v6.27.0 resolved
kf6-kconfigwidgets v6.27.0 resolved
kf6-kcoreaddons v6.27.0 resolved
kf6-kcrash v6.27.0 resolved
kf6-kdbusaddons v6.27.0 resolved
kf6-kdeclarative v6.27.0 resolved
kf6-kded6 (kded) v6.27.0 resolved
kf6-kglobalaccel v6.27.0 resolved
kf6-kguiaddons v6.27.0 resolved
kf6-ki18n v6.27.0 resolved
kf6-kiconthemes v6.27.0 resolved
kf6-kidletime v6.27.0 resolved
kf6-kimageformats v6.27.0 resolved
kf6-kio v6.27.0 resolved
kf6-kirigami (Kirigami) v6.27.0 resolved
kf6-kitemmodels v6.27.0 resolved
kf6-kitemviews v6.27.0 resolved
kf6-kjobwidgets v6.27.0 resolved
kf6-knewstuff v6.27.0 resolved
kf6-knotifications v6.27.0 resolved
kf6-kpackage v6.27.0 resolved
kf6-kservice v6.27.0 resolved
kf6-ksvg v6.27.0 resolved
kf6-ktexteditor v6.27.0 resolved
kf6-ktextwidgets v6.27.0 resolved
kf6-kwallet v6.27.0 resolved
kf6-kwayland v6.27.0 resolved
kf6-kwidgetsaddons v6.27.0 resolved
kf6-kwindowsystem v6.27.0 resolved
kf6-kxmlgui v6.27.0 resolved
kf6-notifyconfig v6.27.0 resolved
kf6-parts (KParts) v6.27.0 resolved
kf6-plasma-activities v6.27.0 resolved
kf6-prison v6.27.0 resolved
kf6-pty v6.27.0 resolved
kf6-solid v6.27.0 resolved
kf6-sonnet v6.27.0 resolved
kf6-syntaxhighlighting v6.27.0 resolved
kf6-kimageformats v6.27.0 resolved
kf6-attica v6.27.0 resolved

Currently imported source trees in local/recipes/kde/kf6-* show set(KF_VERSION "6.10.0"). This is 17 minor versions behind. Every framework recipe must be re-pulled, re-patched, re-blake3'd.

2.3 KDE Plasma desktop surface

Recipe Upstream latest stable SHA Notes
kdecoration v6.7.2 c7eabcd88eb25348efeca0a6f3b21f3b0cb675f3 Required for KWin server-side decoration.
kwin v6.7.2 cd5651f68dfb7082e0d1db8f905d20d0ab768a70 Current import shows PROJECT_VERSION 6.6.5 — needs 6.7.2 refresh.
konsole v26.04.3 1bf40011fe7b103f98c1884dfbee298b9b0cde5d YYYY.MM.PP-style KDE versioning for utility apps.
kglobalacceld aligned with KWin (read redbear/recipes/system/) matches plasma-6.7
breeze (style) v6.7.2 resolved Theming.
breeze-icons aligned to Plasma 6.7.2 resolved Icon theme.

Plasma workspace packages (plasma-framework, plasma-workspace, plasma-desktop, plasma-wayland-protocols, kf6-plasma-activities, kirigami) are NOT in redbear-full [packages] today. Do not pull them in this scope. They remain on the next-iteration plan.

2.4 Wayland / Mesa / DRM / Display

Recipe Current pin Upstream latest stable SHA Notes
libwayland 1.24.0 (tarball) 1.25.0 7d7e1633cf1f5b0b3d4540cb1ee3419c56372bef Tarball URL pattern: https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.25.0/downloads/wayland-1.25.0.tar.xz (or git tag)
wayland-protocols 1.38 1.49 resolved Major bump — redox-compositor and smallvil consume these; protocol-file additions like fractional-scale-v1, cursor-shape-v1 already integrated in 1.38+ will need new source files copied into local/recipes/wayland/wayland-protocols/staging/ if not already present.
mesa redox-os/mesa fork @ 24.0.8 26.1.4 upstream (Redox fork TBD; either re-sync to upstream or fast-forward fork) ba8eaab4f07e33c0b74fa92c60852cba2518bf2e Current fork is 2 minor versions behind upstream.
libdrm 2.4.125 2.4.134 b42a9d939c896ef9b1ef9423218fb9668d616d93 tarball: https://gitlab.freedesktop.org/mesa/libdrm/-/archive/libdrm-2.4.134/libdrm-libdrm-2.4.134.tar.gz
libxkbcommon 1.7.0 1.9.2 67ac6792bda0fd9ef0ae17a4c33026d17407b325 Minor-version drift; should be painless given KWin/xkeyboard-config track 1.7-era.
libepoxy n/a in current recipe (stub used by KWin) 1.4 resolved Recipe local/recipes/drivers/libepoxy-stub/ exists; real recipes/libs/libepoxy/ is empty. Decision required: keep stub or backfill real libepoxy. See §3.5.
libevdev n/a in current pin (untouched) 1.13.6 resolved Small library, low risk.
libinput n/a 1.31.3 resolved Bump.
xkeyboard-config n/a in recipes 2.9 resolved xkb data files — runtime data only; safe.
seatd / seatd-redox n/a 0.9.3 resolved Drop-in.
expat 2.5.0 2.7.x (latest in line) resolved Used by dbus/breeze. Verify exact latest.
dbus n/a in recipes 1.16.2 resolved Patch surface in local/patches/dbus/.
polkit n/a 0.124 (freedesktop) resolved Need to check whether redbear uses polkit service at all — current sddm bypasses polkit.
polkit-qt-1 n/a 0.201.1 resolved Only relevant if polkit re-enabled.

2.5 Custom Red Bear recipes

These don't have an upstream "latest stable" — they're Red Bear originals:

Recipe Current branch Action
redox-drm (local fork) see AGENTS.md Keep. Re-verify against Mesa 26.1+ updates.
linux-kpi (local fork) see AGENTS.md Keep. Re-verify against new Mesa kernel ABI surface.
redox-driver-sys (local fork) see AGENTS.md Keep. Update fields if any new Quirks needed.
amdgpu see AGENTS.md Keep. Verify build against Qt/Mesa bump.
firmware-loader see AGENTS.md No-op.
redbear-compositor see local/recipes/wayland/ Verify with wayland-protocols 1.49.
redbear-sessiond see AGENTS.md Update zbus/zbus_macros if KWin 6.7 wants it.
redbear-greeter see AGENTS.md Same.
redbear-power see AGENTS.md No-op (out of scope).
pam-redbear see AGENTS.md No-op (out of scope).

3. Required sub-decisions before bumps

3.1 Qt minor: 6.10.x vs 6.11.x

Cross-compile risk (relibc syscalls) decreases with the conservative older minor. Two paths:

  • Path A (recommended): freeze on 6.10.3. Same Qt minor that KWin 6.7.x was packaged against.
  • Path B: freeze on 6.11.1. The "real" current latest. Risk: new APIs surfaced since 6.10 may require relibc additions we don't have.

The redbear-full target is Path A. If 6.10.3 proves insufficient for KWin 6.7.2 at build time, fall back to 6.11.1 and document the diff in local/docs/0.2.5-GRAPHICS-FREEZE-PLAN.md §5.

3.2 KDE Frameworks: KDECMake 6.27 vs KDECMake 6.10 drift

KF6 jumped 17 minor versions (6.10 → 6.27) since the local imports. Across those 17 minors there were:

  • KDECMake policy changes (CMP0071, CMP0177 etc.)
  • KF6→KF6.5+ dependency-cycle cleanups in kf6-kio, kf6-ki18n, kf6-kdeclarative
  • Removal of KF5:: compat headers
  • New modular headers (Q_NAMESPACE exports added)
  • qt6-sensors was renamed to qtsensors

Every local/patches/kf6-*/01-initial-migration.patch will need to be re-validated. This is the single biggest source of build risk in 0.2.5.

Required mitigation: run ./local/scripts/validate-patches.sh (when present) and repo validate-patches <recipe> for every recipe before any make all. A patch that applied at 6.10.0 will not apply at 6.27.0 in 90%+ of cases.

3.3 Mesa fork situation

recipes/libs/mesa/source/ is a Redox fork from gitlab.redox-os.org/redox-os/mesa.git on redox-24.0 branch.

Upstream Mesa jumped from 24.0 → 26.1.x with massive churn:

  • New GPU driver activation (intel-ivb-gen8+ got reworked to drm-shim)
  • Nouveau removed
  • VirGL → Venus-X rework
  • spirv → amd/nir rewrite
  • New DRM v3.0 helpers

Rebasing the Redox fork onto Mesa 26.1.x is not a patch rebase. It is a fork rebase (git fetch upstream + git rebase redox-26.1). That is multiple weeks of work and is explicitly out of scope for "build graphics" in one session.

Required sub-decision: Either (a) Stay on Mesa 24.0.8 for 0.2.5 and document it as "best effort, expected mismatched version". This avoids the rebase. (b) Bump to upstream Mesa 26.1.x by importing fresh source + porting the existing local/patches/mesa/0{1..6}.patch set. Multi-week effort.

Recommendation (and this is the freeze pin default): freeze Mesa at 24.0.8 (current fork state) for 0.2.5. Document the gap as a known item. Bumping Mesa is a 0.3.0 task.

3.4 KWin 6.7.2 vs prior session's import (6.6.5)

The prior session imported KWin 6.6.5 source into local/recipes/kde/kwin/source/. The upstream latest stable is 6.7.2, with one minor API delta.

KWin 6.7.x is built against:

  • Qt 6.8+ (6.10 is fine)
  • KDE Frameworks 6.13+ (works on 6.27)
  • Wayland 1.24+ (works on 1.25)
  • libwayland-egl / Mesa EGL 24+

The 6.6.5 → 6.7.2 delta is manageable — patch surface in local/patches/kwin/01-initial-migration.patch should be reviewable against the diff.

3.5 libepoxy: stub vs real recipe

KWin links libepoxy (EGL dispatch). Red Bear ships a stub that exists as recipes/libs/libepoxy-stub/. Upstream libepoxy is 1.4 (stable). Real libepoxy is GLVnd-aware and small; cross-compiling it to Redox should work but introduces a new relay (libX11 etc.) that the stub skips.

Recommendation: keep the stub for 0.2.5. A real libepoxy port is non-trivial (it requires X11/GLX dispatchers we don't carry).

3.6 SDDM (the display manager)

SDDM 0.21.0 (already pinned) is the upstream latest stable. KWin 6.7.2 is compatible.

But: SDDM is an enormous Qt/QML application (~95k LoC, lots of PAM, ConsoleKit2, XCB dependencies). The current recipe has wayland-patch.sh excluding everything X11/XCB. Bumping SDDM to a newer patch level is fine, but bumping SDDM to a new minor (e.g., 0.22 when it ships) is not in scope.

Freeze target: SDDM 0.21.0 (current pin).


4. Patch surface to re-evaluate

Every bump re-introduces drift. Per AGENTS.md §Patch Governance: "DO NOT remove patches from recipe.toml to fix build failures — rebase them." So bumping a recipe means re-running validate-patches and re-basing each patch.

Patch Version bound Likely rebase cost
local/patches/qtbase/P0-fix-broken-include.patch qtbase 6.8 → 6.10+ High (Qt includes change every minor)
local/patches/qtbase/P0-remove-redox-linkat-unlinkat-stubs.patch qtbase 6.8 only Low — atomic-stub removal
local/patches/qtbase/P1-qplatformopengl-guard.patch qtbase 6.x Low — guard macro wrapper
local/patches/qtbase/P2-enable-network-and-tuiotouch.patch qtbase 6.x Medium
local/patches/qtbase/qtwayland-empty-cursor-guards.patch qtwayland 6.x Medium
local/patches/qtbase/qtwaylandscanner-null-guard-listeners.patch qtwayland 6.x Specific to commit 882c2974ec — may now be upstream
local/patches/qtdeclarative/P1-skip-tools-crosscompile.patch qtdeclarative 6.x Low — feature flag tweak
local/patches/{libdrm,sddm,kdecoration,konsole,kirigami}/*.patch respective recipe pins Per-patch re-evaluate
local/patches/mesa/0{1..6}*.patch mesa 24.0.x Frozen at current fork (see §3.3)

KWin patch surface (most complex single project): local/patches/kwin/01-initial-migration.patch. Needs to be re-run against 6.7.2 diff.


5. Required pre-build actions (not done in this plan session)

This plan does not execute a build. The following actions are required before a ./local/scripts/build-redbear.sh redbear-full can succeed:

  1. Re-pull every Qt subrecipe to point at qt-everywhere-src-6.10.3.tar.xz. Re-blake3.
  2. Re-pull every KF6 subrecipe to point at kf6-<project>-v6.27.0 tarball. Re-blake3.
  3. Re-pull KWin 6.7.2, kdecoration 6.7.2, konsole 26.04.3.
  4. Re-pull libwayland at 1.25.0, wayland-protocols at 1.49.
  5. Re-pull libdrm at 2.4.134.
  6. Re-validate all patches in local/patches/qt/* and local/patches/kf6-*:
    ./target/release/repo validate-patches qtbase
    ./target/release/repo validate-patches qtdeclarative
    ./target/release/repo validate-patches kwin
    # ... for every recipe that has a local/patches/* entry
    
  7. Rebase each patch that fails validation. Save rebased version in local/patches/<recipe>/P<rev>-<name>.patch (no overwrites).
  8. Re-validate Mesa redoxfork decision (§3.3).
  9. Re-source qtwaylandscanner with current 6.10.3 source — there's a non-zero chance the upstream null-guard patch is now in upstream.
  10. Clean prefix: touch qtbase && make prefix after relibc changes.
  11. Resolve the amdgpu recipe's linux-kpi surface against Mesa 24.0.8 — amdgpu is gated to compile, but software-render only.

6. Freeze-when-green criteria

The 0.2.5 branch will be frozen (no further recipe.toml bumps) when all the following hold:

  • recipes/qt/qtbase/recipe.toml pin matches upstream 6.10.3 / 6.11.1 with a verified blake3 = "...".
  • recipes/qt/qtdeclarative/recipe.toml same.
  • recipes/qt/qtwayland/recipe.toml same.
  • recipes/qt/qtsvg/recipe.toml same.
  • recipes/qt/qtshadertools/recipe.toml same (currently empty source).
  • All recipes/kde/kf6-* pin to v6.27.0.
  • recipes/kde/kwin pin to v6.7.2 with rebased local/patches/kwin/01-initial-migration.patch.
  • recipes/kde/kdecoration pin to v6.7.2.
  • recipes/kde/konsole pin to v26.04.3.
  • recipes/kde/sddm stays at v0.21.0 (current).
  • recipes/wayland/libwayland pin to 1.25.0.
  • recipes/wayland/wayland-protocols pin to 1.49.
  • recipes/libs/libdrm pin to 2.4.134.
  • recipes/libs/libxkbcommon pin to 1.9.2.
  • recipes/libs/mesa decision recorded: 24.0.8 (fork) or 26.1.4 (upstream rebase).
  • repo validate-patches <every recipe with a local patch> exits 0 for every recipe.
  • ./local/scripts/build-redbear.sh redbear-full reaches the disk-image stage (filesystem.img + harddrive.img produced).
  • ./local/scripts/build-redbear.sh redbear-full produces build/x86_64/redbear-full.iso.
  • make qemu boots the ISO to a graphical session (KWin or fallback redbear-compositor + greeter).

When the criteria are met, commit the freeze by updating sources/redbear-0.2.5/ archive and tagging the branch tip.


7. Out of scope (explicitly not part of 0.2.5 graphics freeze)

  • Mesa 26.1.x fork rebase (§3.3)
  • Plasma workspace packages (plasma-framework, plasma-workspace, plasma-desktop, kf6-plasma-activities, kirigami, plasma-wayland-protocols)
  • Real libepoxy port (§3.5)
  • polkit/polkit-qt-1 re-integration
  • Wayland fractional-scale-v1 protocol adoption
  • KF6 ports of kwidgetsaddons QML bridges (these are in WIP)
  • redbear-kwinft / compositor optimizations
  • Any kernel / relibc / libredox bump (system side is being changed in parallel per user)
  • Kirigami recipe enable in redbear-full

These belong to 0.3.0.


8. Risks summary

Risk Severity Mitigation
KF6 6.10 → 6.27 means 17 patch rebases High Validate per-recipe; don't roll all at once.
Mesa fork upstream gap (24.0.8 vs 26.1.4) High Stay on 24.0.8 for 0.2.5; document for 0.3.0.
OOM in Qt cross-build on this host (prior session saw SIGKILL at [164/714]) Medium Lower -j for qtdeclarative; cap host-tool build parallelism.
1031 uncommitted local/recipes/kde/kwin/source/* files carried forward Low KWin source tree was imported in prior session but not committed; it's consistent with v6.7.2 source. Will be unwound if bump fails.
redox-drm / amdgpu linux-kpi API drift Medium Audit against Mesa 24.0.8 ABI only; do not bump Mesa in 0.2.5.
SDDM 0.21 vs KWin 6.7 ABI compat Low Verify on first full build.
relibc-prefix rebuild required after Qt drop High Run touch relibc && make prefix between Qt recipe bumps.

9. Execution log

This section records actual edits made against the plan on 0.2.5 on 2026-07-02.

9.1 Qt stack — bump committed

All 6 Qt sub-recipes now point at 6.11.1 with verified BLAKE3 hashes (real upstream latest stable, NOT 6.11.0 alpha1).

Commit 097dc10f70 (qt(0.2.5): bump stack to Qt 6.11.1 (real upstream latest stable)).

Recipe Old pin New pin BLAKE3 (verified)
qtbase 6.8.2 6.11.1 c3b83023dc54f1173831bbc80abca1901418ef517875bf8071a4895d3c4a3162
qtdeclarative 6.11.0a1 6.11.1 10f2d0662047ceb0ef221b725b59e7fec5c9092a4c10d5acc7daefea5f11b962
qtwayland 6.11.0a1 6.11.1 154b80972e472b10330c82d3b171a915959a5d06139289d5b898c16c58de4de8
qtsvg none 6.11.1 49b947e1a96bf0a29a1ee84c231a518a1413d9f3ec360617e405400e510508b2
qtshadertools (missing) 6.11.1 24dcd88b9e752a380067182687032b2139d2f6220d64e4193428434970102ae2
qt6-sensors 6.11.0a1 6.11.1 52ad8a724bc34f724feef197cf29f1cb535831ddd0fbad6e9dfedaa01eef1379

Structural fixes:

  • qtshadertools recipe did not exist — only the dangling recipes/qt/qtshadertools -> ../../local/recipes/qt/qtshadertools symlink (target missing). Recipe created following the qt6-sensors pattern. The target symlink now resolves. Without this, qtdeclarative cannot build.
  • qtbase recipe pointed at 6.8.2 tarball while local/recipes/qt/qtbase/source/.cmake.conf already said 6.11.0 — was a contradiction. Now consistent.

Patches NOT yet rebased. Per AGENTS.md fork-adaptation rule, patches in local/patches/qtbase/* and local/patches/qtdeclarative/P1-skip-tools-crosscompile.patch must be re-applied against the 6.11.1 source tree. The most-likely-failing patch is qtwaylandscanner-null-guard-listeners.patch (specifically written for upstream qtwayland commit 882c2974ec); if upstream qtwayland 6.11.1's equivalent commit is now in 6.11.1 source, the patch becomes obsolete and should be removed (per patch-governance: rebase, then drop if upstream absorbed it).

9.2 Wayland / DRM / Input stack — bump committed

Commit 7bbf56217e (graphics(0.2.5): bump Wayland/DRM/Input/expat/seatd to upstream latest stable).

Recipe Old pin New pin BLAKE3
libwayland 1.24.0 1.25.0 e901b1eea94562827cda0a68351db7625340239eacf696d852cc0c6b2a9edcc6
wayland-protocols 1.38 1.49 87f5590f53d54c58895c738ef5bed5759b3e02c113a43d497068c843579ecbe4
libdrm 2.4.125 2.4.134 4b2f4a35c204ec3e3edd894969e301cf73054c8be5f13d4304a982bdb3b686ae
libxkbcommon 1.7.0 1.9.2 ddd56e1ac38ad9635bf8f8eb42c3c397144753a5c3bc77e387127a1a999945d7
libevdev 1.13.2 1.13.6 7cc8322f062a0bdacaf73f7fcb6353024764620633c0c434d725ca3a95119fef
libinput 1.30.2 1.31.3 ae74b2c2202357119ec0f6e65951a9b2b38332ae5c8c3f59b05f6d80598ef033
seatd-redox 0.9.1 0.9.3 c1653dc2766e90c1fa606869f527085d939e13a84369bfad0f6762deeada152c
expat 2.5.0 2.8.2 eb92ab232e65da01f865df03624a1868c8af2a3fcd45301bb9d58efdf43267fd

Notes:

  • libxkbcommon: xkbcommon.org/download URL has been unreachable since at least 2026 (returns HTML 404). Switched the recipe to the github mirror URL https://github.com/xkbcommon/libxkbcommon/archive/refs/tags/xkbcommon-1.9.2.tar.gz. This may need to be revisited if upstream changes its release process.
  • dbus 1.16.2 == upstream latest, no change.

Patches NOT yet rebased. local/patches/libdrm/00-xf86drm-redox-header.patch, 01-virtgpu-drm-header.patch, 02-redox-dispatch.patch; local/patches/libwayland/redox.patch; the redox.patch in recipes/libs/libevdev/ and recipes/libs/libinput/ — all assume the older source. Rebase work is open.

9.3 KDE Plasma + Konsole — bump committed

Commit 3539e621a2 (kde(0.2.5): bump KWin 6.6.5->6.7.2, kdecoration 6.3.4->6.7.2, konsole 24.08.3->26.04.3).

Recipe Old pin New pin BLAKE3
kwin 6.3.4 6.7.2 0bb8a5a2b1a3214396cde60756b296d9f70d08db4afd673b553a158a2f4bb17d
kdecoration 6.3.4 6.7.2 f9802589d7e61099a4f26b3723c5f54e92e60919d35e6df348f0a7eccf2700de
konsole 24.08.3 26.04.3 6fca3c2ea807ca0e12d014e2f6b5832bed31c2b15a3dac9ec6e28f3599f14930

Note: kde utility versioning convention changed; konsole now uses the v26.04.3 KDE-Calendar style.

Source trees on disk NOT replaced (next repo fetch will replace them):

  • local/recipes/kde/kwin/source/: still 6.6.5 (prior session imported 6.6.5 source).
  • local/recipes/kde/kdecoration/source/: still 6.3.4.
  • local/recipes/kde/konsole/source/: still 24.08.

Patches NOT yet rebased. local/patches/kwin/01-initial-migration.patch, local/patches/kdecoration/01-initial-migration.patch, local/recipes/kde/konsole/01-optional-multimedia-printsupport-core5compat.patch. The KWin 6.6.5 → 6.7.2 delta (1 minor) is smaller than KF6's (17 minors), but KWin is the largest single-recipe patch surface in the project — patches will need careful review.

9.4 NOT bumped (deliberately)

  • KF6 6.10 → 6.27: Per AGENTS.md §Patch Governance and the recipe-by-recipe fork-adaptation rule, a commit that bumps recipe.toml URLs to upstream versions whose patch surface has not been rebased is a dishonest commit — it lies about the actual build state. No kf6-* recipe.toml was bumped.
    • Real work that must happen before any kf6-* recipe bump can land: ~38 patch rebases for local/patches/kf6-*/01-initial-migration.patch against upstream KF6 6.27.0 source.
  • Mesa 24.0.8 → 26.1.4: still on the redox-os fork rebase plan (0.3.0). Per §3.3.
  • SDDM 0.21.0: already at upstream latest.
  • kf6-attica, kf6-prison, kf6-kirigami, etc: all targeted at v6.27.0 (real upstream latest) but see above.

9.5 Things to do before ./local/scripts/build-redbear.sh redbear-full can succeed

In order:

  1. Per-recipe: rebase local/patches/<recipe>/*.patch against the new upstream source. Save rebased versions in place; do not bump P<N> numbers; do not delete patches unless upstream absorbed the change.
  2. repo fetch for each bumped recipe (now that recipe.toml points at new URLs).
  3. touch relibc && make prefix to refresh relibc stage in the cross-toolchain.
  4. repo validate-patches <recipe> for each.
  5. Touch-relibc-then-make-prefix between any relibc-aware recipe change (qtbase and friends touch relibc syscalls).
  6. Re-run ./local/scripts/build-redbear.sh redbear-full and address new breakage as it surfaces.
  7. Address KF6 6.27.0 bump (multi-day; multi-week with 38 patch rebases).