From 84bccf4031d63d00192eb395a88af25238e53cfc Mon Sep 17 00:00:00 2001 From: Vasilito Date: Sat, 18 Apr 2026 15:43:19 +0100 Subject: [PATCH] Ship redox-drm in Red Bear GPU profiles --- config/redbear-full.toml | 8 ++++---- config/redbear-kde.toml | 41 ++++++++++++++++++------------------- config/redbear-wayland.toml | 7 +++++++ 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/config/redbear-full.toml b/config/redbear-full.toml index f7c9fa54..db3f2b0a 100644 --- a/config/redbear-full.toml +++ b/config/redbear-full.toml @@ -1,10 +1,11 @@ # Red Bear OS Full Configuration -# Desktop + RBOS branding + ext4 + input + Wayland + Qt6 +# Broader desktop/session plumbing profile beneath the KDE direction # Build: make all CONFIG_NAME=redbear-full # Live: make live CONFIG_NAME=redbear-full # -# GPU driver stack (redox-driver-sys, linux-kpi, redox-drm, amdgpu): WIP crates -# need custom template (library-only, cargo install fails). Re-enable when fixed. +# This is not the forward compositor/session target; it remains a broader integration slice. +# GPU driver stack ships through redbear-meta for this profile. +# redox-drm now carries the runtime/package dependency on the AMD backend library. # KDE Frameworks + KWin: depend on qtdeclarative/qtwayland. Re-enable when ported. # libinput/libevdev: WIP meson builds, not yet validated. Re-enable when tested. # seatd: now builds; DRM lease/runtime validation is still open before enabling broadly. @@ -104,7 +105,6 @@ data = """ [unit] description = "Orbital display server" requires_weak = [ - "10_net.target", ] [service] diff --git a/config/redbear-kde.toml b/config/redbear-kde.toml index 9196baff..27ea79bb 100644 --- a/config/redbear-kde.toml +++ b/config/redbear-kde.toml @@ -1,9 +1,11 @@ -# Red Bear OS KDE Plasma Desktop Configuration +# Red Bear OS Target Wayland Desktop Configuration # Build: make all CONFIG_NAME=redbear-kde # Live: make live CONFIG_NAME=redbear-kde # -# KDE Plasma 6 session with Wayland compositor +# Intended desktop direction: KWin Wayland session on Red Bear OS # Current state: KWin + KF6 + Qt6 + Mesa + D-Bus + seatd +# Not yet the shipped default: runtime compositor/session proof is still required +# X is compatibility-only and not a peer desktop architecture # Future: add plasma-workspace, plasma-desktop when their deps are resolved include = ["desktop.toml", "redbear-legacy-base.toml", "redbear-legacy-desktop.toml", "redbear-device-services.toml", "redbear-netctl.toml"] @@ -100,6 +102,7 @@ kdecoration = {} kwin = {} # Graphics +redox-drm = {} mesa = {} libdrm = {} @@ -235,7 +238,6 @@ data = """ [unit] description = "Orbital display server (KDE session)" requires_weak = [ - "10_net.target", "12_dbus.service", "13_redbear-sessiond.service", "13_seatd.service", @@ -243,7 +245,7 @@ requires_weak = [ [service] cmd = "orbital" -args = ["orbital-kde"] +args = ["orblogin", "orbital-kde"] envs = { VT = "3" } type = "oneshot_async" """ @@ -301,32 +303,27 @@ data = """ #!/usr/bin/sh export DISPLAY="" -export WAYLAND_DISPLAY=wayland-0 -export XDG_RUNTIME_DIR=/tmp/run/user/0 +export WAYLAND_DISPLAY="${WAYLAND_DISPLAY:-wayland-0}" export XDG_SESSION_TYPE=wayland -export XDG_SESSION_ID=c1 -export XDG_SEAT=seat0 export KDE_FULL_SESSION=true export XDG_CURRENT_DESKTOP=KDE -export HOME=/root export LIBSEAT_BACKEND=seatd export SEATD_SOCK=/run/seatd.sock -mkdir -p /tmp/run/user/0 -mkdir -p /var/lib/dbus -mkdir -p /run/dbus - -# Start D-Bus system bus (if not already running) -if [ ! -S /run/dbus/system_bus_socket ]; then - dbus-uuidgen --ensure - dbus-daemon --system --fork +if [ -z "${XDG_RUNTIME_DIR:-}" ]; then + export XDG_RUNTIME_DIR="/tmp/run/user/$(id -u)" fi -# Start D-Bus session bus -eval $(dbus-launch --sh-syntax) +mkdir -p "$XDG_RUNTIME_DIR" + +if [ -z "${DBUS_SESSION_BUS_ADDRESS:-}" ]; then + eval "$(dbus-launch --sh-syntax)" +fi # Export session environment to D-Bus activation dbus-update-activation-environment \ + DBUS_SESSION_BUS_ADDRESS \ + DBUS_SESSION_BUS_PID \ WAYLAND_DISPLAY \ XDG_SESSION_ID \ XDG_SEAT \ @@ -334,8 +331,10 @@ dbus-update-activation-environment \ XDG_RUNTIME_DIR \ XDG_CURRENT_DESKTOP \ KDE_FULL_SESSION \ - DISPLAY + DISPLAY \ + HOME \ + USER # Start KWin Wayland compositor -kwin_wayland --replace +exec kwin_wayland --replace """ diff --git a/config/redbear-wayland.toml b/config/redbear-wayland.toml index 6d84d2cc..5f58e900 100644 --- a/config/redbear-wayland.toml +++ b/config/redbear-wayland.toml @@ -3,8 +3,15 @@ # Build: ./local/scripts/build-redbear.sh redbear-wayland # Phase 1 substrate validation: ./local/scripts/test-phase1-desktop-substrate.sh --qemu redbear-wayland # Phase 2 Wayland validation: ./local/scripts/test-phase4-wayland-qemu.sh +# +# Validation-only profile: +# - smallvil remains the bounded compositor/runtime harness +# - this profile is not the primary desktop path +# - the primary desktop path is redbear-kde -> kwin_wayland include = ["wayland.toml"] [packages] +redbear-firmware = {} +redox-drm = {} qt6-wayland-smoke = {}