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).
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 viagit 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-sensors → qtsensors 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-sensorswas renamed toqtsensors
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:
- Re-pull every Qt subrecipe to point at
qt-everywhere-src-6.10.3.tar.xz. Re-blake3. - Re-pull every KF6 subrecipe to point at
kf6-<project>-v6.27.0tarball. Re-blake3. - Re-pull KWin 6.7.2, kdecoration 6.7.2, konsole 26.04.3.
- Re-pull
libwaylandat 1.25.0,wayland-protocolsat 1.49. - Re-pull
libdrmat 2.4.134. - Re-validate all patches in
local/patches/qt/*andlocal/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 - Rebase each patch that fails validation. Save rebased version in
local/patches/<recipe>/P<rev>-<name>.patch(no overwrites). - Re-validate Mesa redoxfork decision (§3.3).
- Re-source qtwaylandscanner with current 6.10.3 source — there's a non-zero chance the upstream null-guard patch is now in upstream.
- Clean prefix:
touch qtbase && make prefixafter relibc changes. - Resolve the
amdgpurecipe'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.tomlpin matches upstream 6.10.3 / 6.11.1 with a verifiedblake3 = "...".recipes/qt/qtdeclarative/recipe.tomlsame.recipes/qt/qtwayland/recipe.tomlsame.recipes/qt/qtsvg/recipe.tomlsame.recipes/qt/qtshadertools/recipe.tomlsame (currently empty source).- All
recipes/kde/kf6-*pin to v6.27.0. recipes/kde/kwinpin to v6.7.2 with rebasedlocal/patches/kwin/01-initial-migration.patch.recipes/kde/kdecorationpin to v6.7.2.recipes/kde/konsolepin to v26.04.3.recipes/kde/sddmstays at v0.21.0 (current).recipes/wayland/libwaylandpin to 1.25.0.recipes/wayland/wayland-protocolspin to 1.49.recipes/libs/libdrmpin to 2.4.134.recipes/libs/libxkbcommonpin to 1.9.2.recipes/libs/mesadecision 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-fullreaches the disk-image stage (filesystem.img + harddrive.img produced)../local/scripts/build-redbear.sh redbear-fullproducesbuild/x86_64/redbear-full.iso.make qemuboots 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
libepoxyport (§3.5) - polkit/polkit-qt-1 re-integration
- Wayland fractional-scale-v1 protocol adoption
- KF6 ports of
kwidgetsaddonsQML bridges (these are in WIP) redbear-kwinft/ compositor optimizations- Any kernel / relibc / libredox bump (system side is being changed in parallel per user)
Kirigamirecipe 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:
qtshadertoolsrecipe did not exist — only the danglingrecipes/qt/qtshadertools -> ../../local/recipes/qt/qtshadertoolssymlink (target missing). Recipe created following theqt6-sensorspattern. The target symlink now resolves. Without this, qtdeclarative cannot build.qtbaserecipe pointed at 6.8.2 tarball whilelocal/recipes/qt/qtbase/source/.cmake.confalready 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/downloadURL has been unreachable since at least 2026 (returns HTML 404). Switched the recipe to the github mirror URLhttps://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.tomlURLs to upstream versions whose patch surface has not been rebased is a dishonest commit — it lies about the actual build state. Nokf6-*recipe.toml was bumped.- Real work that must happen before any
kf6-*recipe bump can land: ~38 patch rebases forlocal/patches/kf6-*/01-initial-migration.patchagainst upstream KF6 6.27.0 source.
- Real work that must happen before any
- 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:
- Per-recipe: rebase
local/patches/<recipe>/*.patchagainst the new upstream source. Save rebased versions in place; do not bumpP<N>numbers; do not delete patches unless upstream absorbed the change. repo fetchfor each bumped recipe (now that recipe.toml points at new URLs).touch relibc && make prefixto refresh relibc stage in the cross-toolchain.repo validate-patches <recipe>for each.- Touch-relibc-then-make-prefix between any relibc-aware recipe change (qtbase and friends touch relibc syscalls).
- Re-run
./local/scripts/build-redbear.sh redbear-fulland address new breakage as it surfaces. - Address KF6 6.27.0 bump (multi-day; multi-week with 38 patch rebases).