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:
@@ -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 |
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user