Ship redox-drm in Red Bear GPU profiles

This commit is contained in:
2026-04-18 15:43:19 +01:00
parent 4e6d2ff334
commit 84bccf4031
3 changed files with 31 additions and 25 deletions
+4 -4
View File
@@ -1,10 +1,11 @@
# Red Bear OS Full Configuration # 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 # Build: make all CONFIG_NAME=redbear-full
# Live: make live CONFIG_NAME=redbear-full # Live: make live CONFIG_NAME=redbear-full
# #
# GPU driver stack (redox-driver-sys, linux-kpi, redox-drm, amdgpu): WIP crates # This is not the forward compositor/session target; it remains a broader integration slice.
# need custom template (library-only, cargo install fails). Re-enable when fixed. # 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. # KDE Frameworks + KWin: depend on qtdeclarative/qtwayland. Re-enable when ported.
# libinput/libevdev: WIP meson builds, not yet validated. Re-enable when tested. # 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. # seatd: now builds; DRM lease/runtime validation is still open before enabling broadly.
@@ -104,7 +105,6 @@ data = """
[unit] [unit]
description = "Orbital display server" description = "Orbital display server"
requires_weak = [ requires_weak = [
"10_net.target",
] ]
[service] [service]
+20 -21
View File
@@ -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 # Build: make all CONFIG_NAME=redbear-kde
# Live: make live 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 # 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 # 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"] include = ["desktop.toml", "redbear-legacy-base.toml", "redbear-legacy-desktop.toml", "redbear-device-services.toml", "redbear-netctl.toml"]
@@ -100,6 +102,7 @@ kdecoration = {}
kwin = {} kwin = {}
# Graphics # Graphics
redox-drm = {}
mesa = {} mesa = {}
libdrm = {} libdrm = {}
@@ -235,7 +238,6 @@ data = """
[unit] [unit]
description = "Orbital display server (KDE session)" description = "Orbital display server (KDE session)"
requires_weak = [ requires_weak = [
"10_net.target",
"12_dbus.service", "12_dbus.service",
"13_redbear-sessiond.service", "13_redbear-sessiond.service",
"13_seatd.service", "13_seatd.service",
@@ -243,7 +245,7 @@ requires_weak = [
[service] [service]
cmd = "orbital" cmd = "orbital"
args = ["orbital-kde"] args = ["orblogin", "orbital-kde"]
envs = { VT = "3" } envs = { VT = "3" }
type = "oneshot_async" type = "oneshot_async"
""" """
@@ -301,32 +303,27 @@ data = """
#!/usr/bin/sh #!/usr/bin/sh
export DISPLAY="" export DISPLAY=""
export WAYLAND_DISPLAY=wayland-0 export WAYLAND_DISPLAY="${WAYLAND_DISPLAY:-wayland-0}"
export XDG_RUNTIME_DIR=/tmp/run/user/0
export XDG_SESSION_TYPE=wayland export XDG_SESSION_TYPE=wayland
export XDG_SESSION_ID=c1
export XDG_SEAT=seat0
export KDE_FULL_SESSION=true export KDE_FULL_SESSION=true
export XDG_CURRENT_DESKTOP=KDE export XDG_CURRENT_DESKTOP=KDE
export HOME=/root
export LIBSEAT_BACKEND=seatd export LIBSEAT_BACKEND=seatd
export SEATD_SOCK=/run/seatd.sock export SEATD_SOCK=/run/seatd.sock
mkdir -p /tmp/run/user/0 if [ -z "${XDG_RUNTIME_DIR:-}" ]; then
mkdir -p /var/lib/dbus export XDG_RUNTIME_DIR="/tmp/run/user/$(id -u)"
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
fi fi
# Start D-Bus session bus mkdir -p "$XDG_RUNTIME_DIR"
eval $(dbus-launch --sh-syntax)
if [ -z "${DBUS_SESSION_BUS_ADDRESS:-}" ]; then
eval "$(dbus-launch --sh-syntax)"
fi
# Export session environment to D-Bus activation # Export session environment to D-Bus activation
dbus-update-activation-environment \ dbus-update-activation-environment \
DBUS_SESSION_BUS_ADDRESS \
DBUS_SESSION_BUS_PID \
WAYLAND_DISPLAY \ WAYLAND_DISPLAY \
XDG_SESSION_ID \ XDG_SESSION_ID \
XDG_SEAT \ XDG_SEAT \
@@ -334,8 +331,10 @@ dbus-update-activation-environment \
XDG_RUNTIME_DIR \ XDG_RUNTIME_DIR \
XDG_CURRENT_DESKTOP \ XDG_CURRENT_DESKTOP \
KDE_FULL_SESSION \ KDE_FULL_SESSION \
DISPLAY DISPLAY \
HOME \
USER
# Start KWin Wayland compositor # Start KWin Wayland compositor
kwin_wayland --replace exec kwin_wayland --replace
""" """
+7
View File
@@ -3,8 +3,15 @@
# Build: ./local/scripts/build-redbear.sh redbear-wayland # Build: ./local/scripts/build-redbear.sh redbear-wayland
# Phase 1 substrate validation: ./local/scripts/test-phase1-desktop-substrate.sh --qemu 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 # 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"] include = ["wayland.toml"]
[packages] [packages]
redbear-firmware = {}
redox-drm = {}
qt6-wayland-smoke = {} qt6-wayland-smoke = {}