diff --git a/config/redbear-desktop.toml b/config/redbear-desktop.toml index bf322bd2..ed750255 100644 --- a/config/redbear-desktop.toml +++ b/config/redbear-desktop.toml @@ -103,6 +103,6 @@ requires_weak = [ ] [service] -cmd = "/usr/lib/drivers/iommu" +cmd = "/usr/bin/iommu" type = "oneshot_async" """ diff --git a/config/redbear-device-services.toml b/config/redbear-device-services.toml index 861fd203..069f9ef0 100644 --- a/config/redbear-device-services.toml +++ b/config/redbear-device-services.toml @@ -2,6 +2,12 @@ # # Shared by profiles that ship the firmware/input compatibility stack. +[[files]] +path = "/usr/firmware" +data = "" +directory = true +mode = 0o755 + [[files]] path = "/usr/lib/init.d/05_firmware-loader.service" data = """ diff --git a/config/redbear-wayland.toml b/config/redbear-wayland.toml new file mode 100644 index 00000000..202c0d2f --- /dev/null +++ b/config/redbear-wayland.toml @@ -0,0 +1,6 @@ +# Red Bear OS Wayland Validation Profile +# +# Build: ./local/scripts/build-redbear.sh redbear-wayland +# Run: ./local/scripts/test-phase4-wayland-qemu.sh + +include = ["wayland.toml"] diff --git a/config/wayland.toml b/config/wayland.toml index f750313c..abafb5d3 100644 --- a/config/wayland.toml +++ b/config/wayland.toml @@ -1,6 +1,6 @@ # Wayland configuration -include = ["desktop.toml"] +include = ["desktop.toml", "redbear-legacy-base.toml", "redbear-legacy-desktop.toml", "redbear-device-services.toml", "redbear-netctl.toml"] # Override the default settings here @@ -11,48 +11,79 @@ filesystem_size = 2048 # Package settings [packages] -adwaita-icon-theme = {} -bash = {} -cosmic-app-library = {} -cosmic-comp = {} -gtk3 = {} -libcosmic-wayland = {} -libxcursor = {} -iced-wayland = {} +redbear-release = {} +redbear-hwutils = {} +redbear-info = {} +redbear-netctl = {} +firmware-loader = {} +evdevd = {} +udev-shim = {} mesa = {} "pop-icon-theme.cursors" = {} smallvil = {} -softbuffer-wayland = {} -wayland-rs = {} -#webkitgtk3 = {} -winit-wayland = {} xkeyboard-config = {} -# Overridden to launch wayland compositor instead of orblogin +# Replace the legacy desktop-minimal init script with an explicit service unit. [[files]] -path = "/usr/lib/init.d/20_orbital" +path = "/usr/lib/init.d/20_orbital.service" data = """ -requires_weak 10_net -notify audiod -nowait BROWSER=/bin/netsurf-fb VT=3 orbital orbital-wayland +[unit] +description = "Orbital display server (Wayland session)" +requires_weak = [ + "10_net.target", +] + +[service] +cmd = "orbital" +args = ["orbital-wayland"] +envs = { BROWSER = "/bin/netsurf-fb", VT = "3" } +type = "oneshot_async" +""" + +[[files]] +path = "/usr/lib/init.d/30_console.service" +data = """ +[unit] +description = "Console terminals" +requires_weak = [ + "20_orbital.service", +] + +[service] +cmd = "getty" +args = ["2"] +type = "oneshot_async" +""" + +[[files]] +path = "/usr/lib/init.d/31_debug_console.service" +data = """ +[unit] +description = "Debug console" +requires_weak = [ + "20_orbital.service", +] + +[service] +cmd = "getty" +args = ["/scheme/debug/no-preserve", "-J"] +type = "oneshot_async" """ [[files]] path = "/usr/bin/orbital-wayland" mode = 0o755 data = """ -#!/usr/bin/env bash - -set -ex +#!/usr/bin/env ion # Prepare environment -unset DISPLAY +export DISPLAY="" export COSMIC_BACKEND=winit export HOME=/root -export LD_DEBUG=all export RUST_BACKTRACE=full export RUST_LOG=debug export XCURSOR_THEME=Pop +export XKB_CONFIG_ROOT=/usr/share/X11/xkb export XDG_RUNTIME_DIR=/tmp/run/user/0 # Create XDG runtime directory @@ -61,35 +92,31 @@ mkdir -p /tmp/run mkdir -p /tmp/run/user mkdir -p /tmp/run/user/0 -# Compile glib schemas -glib-compile-schemas /usr/share/glib-2.0/schemas/ +# Compile glib schemas when available +if test -d /usr/share/glib-2.0/schemas + glib-compile-schemas /usr/share/glib-2.0/schemas/ +end -# For cosmic-comp (more features) -cosmic-comp wayland-session - -# For smallvil (easier to debug) -#smallvil -c wayland-session& +# Default to the smaller Smithay path first. +smallvil -c wayland-session """ [[files]] path = "/usr/bin/wayland-session" mode = 0o755 data = """ -#!/usr/bin/env bash +#!/usr/bin/env ion -set -ex - -#env G_MAIN_POLL_DEBUG=1 G_MESSAGES_DEBUG=all LD_DEBUG=all WEBKIT_DEBUG=all MiniBrowser& +# env G_MAIN_POLL_DEBUG=1 G_MESSAGES_DEBUG=all LD_DEBUG=all WEBKIT_DEBUG=all MiniBrowser& printenv #wayland-rs_simple_window #winit-wayland_window #softbuffer-wayland_animation #iced-wayland_sctk_lazy -libcosmic-wayland_application #gtk3-widget-factory -#cosmic-app-library run """ + [[files]] path = "/etc/gtk-3.0/settings.ini" data = """