Commit Graph

15 Commits

Author SHA1 Message Date
vasilito 4c2402af76 redbear-full: add pipewire + wireplumber packages and D-Bus activation
The redbear-full desktop target now pulls in pipewire and wireplumber
as the audio backend for KDE Plasma (Phonon, KMix, the Plasma audio
widget). This wires up the packages built by the new
local/recipes/libs/pipewire and local/recipes/libs/wireplumber
recipes on top of the existing audiod scheme daemon in the base
package.

Changes:

  * config/redbear-full.toml
    - new [packages] entries for pipewire and wireplumber
    - two new [[files]] init services: 15_pipewire.service and
      16_wireplumber.service (both oneshot_async, depend on
      12_dbus.service)

  * local/recipes/system/redbear-dbus-services/files/
    - new org.freedesktop.PipeWire.service (system bus, runs
      /usr/bin/pipewire) and org.pulseaudio.Server.service
      (system bus, runs /usr/bin/pipewire-pulse)
    - new org.freedesktop.impl.pulseaudio.service (session bus,
      runs /usr/bin/pipewire-pulse) for KDE Phonon / KMix
    - matching .conf policy files for org.freedesktop.PipeWire
      and org.pulseaudio.Server that allow the expected
      Introspectable / Properties / *Manager / *Node / *Link /
      *Client / *Device / *Meter / *Core / *Port send and
      receive patterns

  * config/protected-recipes.toml
    - new [libs] entries for pipewire and wireplumber, so the
      cookbook never silently re-fetches them; sources are
      directly editable in local/sources/

  * recipes/wip/services/{pipewire,wireplumber}
    - replaced the tracked WIP directories with symlinks to
      local/recipes/libs/{pipewire,wireplumber}, per the
      local-over-WIP convention enforced by
      local/scripts/build-redbear.sh

Known build state (documented in the upstream README-redbear.md
files in each source fork):

  * pipewire build reaches ~24/603 C files compiled before
    hitting relibc gaps (sys/prctl.h, sys/mount.h, and a few
    Linux-specific ioctls). The recipe, source fork, and
    Redox-compat shims are in place; the remaining work is
    upstream relibc headers, not PipeWire porting decisions.
  * wireplumber recipe is in place but the build has not been
    attempted yet — wireplumber depends on the pipewire build
    completing first.

The audiod integration (the scheme backend that pipewire would
talk to) is not implemented in this commit. That is the next
gating work item and is tracked in
local/sources/pipewire/README-redbear.md.
2026-06-09 11:45:22 +03:00
vasilito 385f32704a redbear-sessiond: implement real kill_session, kill_user, power_off, reboot 2026-06-09 10:36:49 +03:00
vasilito 3431bbfeb2 Fix duplicate atomic_t typedef conflicting with types.h 2026-05-31 05:50:29 +03:00
vasilito 15d0707e74 feat: USB storage read/write proof + full Red Bear OS tree sync
Add redbear-usb-storage-check in-guest binary that validates USB mass
storage read and write I/O: discovers /scheme/disk/ devices, writes a
test pattern to sector 2048, reads it back, verifies match, restores
original content. Updates test-usb-storage-qemu.sh with write-proof
verification step.

Includes all accumulated Red Bear OS work: kernel patches, relibc
patches, driver infrastructure, DRM/GPU, KDE recipes, firmware,
validation tooling, build system hardening, and documentation.
2026-05-03 23:03:24 +01:00
vasilito c29274dc3c feat: redbear-sessiond login1 — implement PauseDevice/ResumeDevice/Lock/Unlock signals
4 D-Bus signals previously declared as stubs (no impl):
- PauseDevice(major, minor, kind) — emitted on device pause
- ResumeDevice(major, minor, fd) — emitted on device resume
- Lock() — emitted on session lock
- Unlock() — emitted on session unlock

Each now emits a log message. Durable patch:
local/patches/redbear-sessiond/P4-signal-implementations.patch

KWin TakeDevice/ReleaseDevice/TakeControl already implemented.
This closes the final login1 D-Bus contract gap.
2026-05-01 03:19:55 +01:00
vasilito 764444bda1 milestone: 22 KF6 enabled, blake3 placeholders removed, text-login fixed
- kf6-knewstuff/kwallet: removed all-zero blake3 placeholders
- CONSOLE-TO-KDE-DESKTOP-PLAN.md: 20→22 KF6 enabled count
- BOOT-PROCESS-IMPROVEMENT-PLAN.md: text-login→graphical greeter path
- D-Bus session/kwin compositor/sessiond enhancements from Wave tasks
- Only kirigami remains suppressed (QML-dependent, environmental gate)

Zero warnings. 24 commits total.
2026-04-29 14:48:47 +01:00
vasilito 7526955b36 Fix redbear-sessiond Redox shutdown: remove unreachable code after tokio::select!
The #[cfg(target_os = "redox")] variant of wait_for_shutdown had dead code
after the tokio::select! block. The select already returns Result<(), _>, so
the trailing Ok(()) was unreachable and caused a type mismatch when the compiler
tried to coerce the select result into (). Remove the dead code.
2026-04-25 12:22:33 +01:00
vasilito 20162fccf8 D-Bus Phase 3/4: upgrade sessiond, services, add StatusNotifierWatcher, consolidate configs
- redbear-sessiond: add Manager.Inhibit (pipe FD), CanPowerOff/CanReboot/
  CanSuspend/CanHibernate/CanHybridSleep/CanSleep (return na), PowerOff/
  Reboot/Suspend stubs, GetSessionByPID, ListUsers, ListSeats,
  ListInhibitors, ActivateSession/LockSession/UnlockSession/TerminateSession
- redbear-sessiond: add Session SetIdleHint, SetLockedHint, SetType,
  Terminate methods; wire PauseDevice/ResumeDevice/Lock/Unlock signal
  emission via SignalEmitter injection; add dynamic device enumeration
  scanning /scheme/drm/card* and /dev/input/event* at startup
- redbear-sessiond: replace infinite pending() with stoppable shutdown
  via tokio watch channel + control socket shutdown command
- redbear-upower: add Changed signal emission with 30s periodic polling
  and power state snapshot comparison
- redbear-notifications: add ActionInvoked signal, expand capabilities
  to body + body-markup + actions
- redbear-polkit, redbear-udisks: replace pending() with stoppable
  shutdown via signal handling + watch channel
- Add redbear-statusnotifierwatcher: new session bus service implementing
  org.freedesktop.StatusNotifierWatcher for KDE system tray
- Add D-Bus activation file for StatusNotifierWatcher
- KWin session.cpp: try LogindSession before NoopSession fallback
- Consolidate config profiles: remove obsolete redbear-desktop, redbear-kde,
  redbear-live-*, redbear-minimal-*, redbear-wayland configs; simplify
  to three supported targets (redbear-full, redbear-mini, redbear-grub)
- Update DBUS-INTEGRATION-PLAN.md and DESKTOP-STACK-CURRENT-STATUS.md
  with Phase 3/4 fragility assessment, KWin readiness matrix, and
  completeness gap analysis
2026-04-25 12:01:25 +01:00
vasilito 7c50fba50d Advance Red Bear runtime services and tools 2026-04-20 18:37:35 +01:00
vasilito e3d776aa9a Advance redbear-full Wayland, greeter, and Qt integration
Consolidate the active desktop path around redbear-full while landing the greeter/session stack and the runtime fixes needed to keep Wayland and KWin bring-up moving forward.
2026-04-19 17:59:58 +01:00
vasilito 8155fb82c6 Expand hwutils, udev-shim, and redbear-sessiond system recipes 2026-04-18 17:59:10 +01:00
vasilito 1656139991 Improve D-Bus desktop service daemons (polkit, sessiond, udisks, upower) 2026-04-18 00:48:58 +01:00
vasilito 62a8708d6f Add step-by-step D-Bus connection diagnostics to sessiond and upower 2026-04-17 13:45:00 +01:00
vasilito 175316f8c5 Fix D-Bus system bus socket path for Redox 2026-04-17 13:43:39 +01:00
vasilito e6e1eb8520 Add D-Bus session and system services 2026-04-17 13:33:17 +01:00