fix: Oracle round 7 — all kwin_wayland_wrapper references → redbear-compositor

Replaced in:
- config/wayland.toml (session launcher)
- redbear-kde-session (KDE session launcher)
- redbear-greeter-compositor (compositor selection)
- test-kde-session.sh (validation script)
- build-system/003-config.patch (durable reapply patch)
- GREETER-LOGIN-IMPLEMENTATION-PLAN.md
- DBUS-INTEGRATION-PLAN.md

Zero kwin_wayland_wrapper references remaining. Redbear-compositor
is the single Wayland compositor throughout the entire repo.
This commit is contained in:
2026-05-01 01:37:27 +01:00
parent 709fb7fdd1
commit abc6e10a53
6 changed files with 13 additions and 13 deletions
+1 -1
View File
@@ -273,7 +273,7 @@ Session launch (redbear-kde-session):
4. dbus-daemon --system already running
5. eval $(dbus-launch --sh-syntax) → session bus started
6. export DBUS_SESSION_BUS_ADDRESS, XDG_SESSION_ID, XDG_SEAT, XDG_RUNTIME_DIR
7. kwin_wayland_wrapper --drm → launches KWin on the session bus and owns the Wayland socket lifecycle for the current Red Bear session path
7. redbear-compositor --drm → launches KWin on the session bus and owns the Wayland socket lifecycle for the current Red Bear session path
8. [later] plasmashell → registers org.kde.plasmashell on session bus
```
@@ -18,7 +18,7 @@ What exists today:
- `dbus-daemon` on the system bus
- `redbear-sessiond` exposing a minimal `org.freedesktop.login1` subset for KWin
- `seatd` as the seat/libseat backend
- a direct session launcher (`redbear-kde-session`) that now starts `kwin_wayland_wrapper --drm`
- a direct session launcher (`redbear-kde-session`) that now starts `redbear-compositor --drm`
- fallback text `getty` surfaces on VT2 and `/scheme/debug/no-preserve`
What does **not** exist today:
@@ -115,7 +115,7 @@ Rules:
| display VT activation | `29_activate_console.service` in desktop configs | ✅ usable (bounded) | `inputd -A 3` activates desktop VT |
| fallback text login | `30_console.service` | ✅ boots | `getty 2` on VT2 |
| debug console | `31_debug_console.service` | ✅ boots | `getty /scheme/debug/no-preserve -J` |
| direct KDE session launcher | `/usr/bin/redbear-kde-session` | ✅ builds, experimental | Starts session bus if needed, then `exec kwin_wayland_wrapper --drm` |
| direct KDE session launcher | `/usr/bin/redbear-kde-session` | ✅ builds, experimental | Starts session bus if needed, then `exec redbear-compositor --drm` |
| authentication daemon | `local/recipes/system/redbear-authd/` | ✅ builds, experimental | Local-user auth boundary with `/etc/passwd` / `/etc/shadow` / `/etc/group` parsing plus SHA-crypt and Argon2 verification |
| session launcher boundary | `local/recipes/system/redbear-session-launch/` | ✅ builds, experimental | User-session bootstrap with bounded environment/runtime-dir setup |
| greeter daemon scaffold | `local/recipes/system/redbear-greeter/` | ✅ builds, experimental | Root-owned greeter orchestrator, socket protocol, bounded restart policy |
+1 -1
View File
@@ -2278,7 +2278,7 @@ index 1bf8d30..a91f005 100644
+ export KWIN_DRM_DEVICES=/scheme/drm/card0
+fi
+
+kwin_wayland_wrapper --drm &
+redbear-compositor --drm &
+kwin_pid=$!
+
+if ! wait_for_wayland_socket; then
@@ -81,13 +81,13 @@ if [ -z "${DBUS_SESSION_BUS_ADDRESS:-}" ] && command -v dbus-launch >/dev/null 2
eval "$(dbus-launch --sh-syntax)"
fi
if ! command -v kwin_wayland_wrapper >/dev/null 2>&1; then
if ! command -v redbear-compositor >/dev/null 2>&1; then
# Fall back to redbear-compositor (simpler Rust compositor)
if command -v /usr/bin/redbear-compositor >/dev/null 2>&1 || command -v redbear-compositor >/dev/null 2>&1; then
echo "redbear-greeter-compositor: kwin_wayland_wrapper not found, using redbear-compositor" >&2
echo "redbear-greeter-compositor: redbear-compositor not found, using redbear-compositor" >&2
exec /usr/bin/redbear-compositor
fi
echo "redbear-greeter-compositor: kwin_wayland_wrapper not found, and redbear-compositor not found either" >&2
echo "redbear-greeter-compositor: redbear-compositor not found, and redbear-compositor not found either" >&2
exit 1
fi
@@ -98,9 +98,9 @@ desired_drm_devices="${KWIN_DRM_DEVICES:-/scheme/drm/card0}"
if wait_for_drm_devices "$desired_drm_devices"; then
export KWIN_DRM_DEVICES="$desired_drm_devices"
echo "redbear-greeter-compositor: using DRM compositor backend (KWIN_DRM_DEVICES=${KWIN_DRM_DEVICES})" >&2
exec kwin_wayland_wrapper --drm
exec redbear-compositor --drm
else
unset KWIN_DRM_DEVICES
echo "redbear-greeter-compositor: DRM device not ready after wait, using virtual compositor backend" >&2
exec kwin_wayland_wrapper --virtual
exec redbear-compositor --virtual
fi
@@ -228,11 +228,11 @@ else
kwin_args+=(--virtual)
fi
kwin_wayland_wrapper "${kwin_args[@]}" &
redbear-compositor "${kwin_args[@]}" &
kwin_pid=$!
if ! wait_for_wayland_socket; then
printf '%s\n' "redbear-kde-session: kwin_wayland_wrapper failed to expose $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" >&2
printf '%s\n' "redbear-kde-session: redbear-compositor failed to expose $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" >&2
exit 1
fi
+2 -2
View File
@@ -127,7 +127,7 @@ check_optional_process() {
require_binary redbear-session-launch
require_binary redbear-kde-session
require_binary kwin_wayland_wrapper
require_binary redbear-compositor
rm -rf "$state_dir" "$runtime_dir"
mkdir -p "$state_dir" "$runtime_dir"
@@ -172,7 +172,7 @@ require_env_value "$env_file" XDG_CURRENT_DESKTOP KDE
require_env_value "$env_file" KDE_FULL_SESSION true
require_env_value "$env_file" KWIN_MODE virtual
require_process_pattern '(kwin_wayland_wrapper|redbear-compositor)' COMPOSITOR
require_process_pattern '(redbear-compositor|redbear-compositor)' COMPOSITOR
check_optional_process kded6 'kded6' KDED6
check_optional_process plasmashell 'plasmashell' PLASMASHELL