Files
RedBear-OS/local/recipes/qt/qtwayland/source/tests/manual/server-buffer
vasilito f31522130f fix: comprehensive boot warnings and exceptions — fixable silenced, unfixable diagnosed
Build system (5 gaps hardened):
- COOKBOOK_OFFLINE defaults to true (fork-mode)
- normalize_patch handles diff -ruN format
- New 'repo validate-patches' command (25/25 relibc patches)
- 14 patched Qt/Wayland/display recipes added to protected list
- relibc archive regenerated with current patch chain

Boot fixes (fixable):
- Full ISO EFI partition: 16 MiB → 1 MiB (matches mini, BIOS hardcoded 2 MiB offset)
- D-Bus system bus: absolute /usr/bin/dbus-daemon path (was skipped)
- redbear-sessiond: absolute /usr/bin/redbear-sessiond path (was skipped)
- daemon framework: silenced spurious INIT_NOTIFY warnings for oneshot_async services (P0-daemon-silence-init-notify.patch)
- udev-shim: demoted INIT_NOTIFY warning to INFO (expected for oneshot_async)
- relibc: comprehensive named semaphores (sem_open/close/unlink) replacing upstream todo!() stubs
- greeterd: Wayland socket timeout 15s → 30s (compositor DRM wait)
- greeter-ui: built and linked (header guard unification, sem_compat stubs removed)
- mc: un-ignored in both configs, fixed glib/libiconv/pcre2 transitive deps
- greeter config: removed stale keymapd dependency from display/greeter services
- prefix toolchain: relibc headers synced, _RELIBC_STDLIB_H guard unified

Unfixable (diagnosed, upstream):
- i2c-hidd: abort on no-I2C-hardware (QEMU) — process::exit → relibc abort
- kded6/greeter-ui: page fault 0x8 — Qt library null deref
- Thread panics fd != -1 — Rust std library on Redox
- DHCP timeout / eth0 MAC — QEMU user-mode networking
- hwrngd/thermald — no hardware RNG/thermal in VM
- live preload allocation — BIOS memory fragmentation, continues on demand
2026-05-05 20:20:37 +01:00
..

This example shows how to use the low-level server buffer extension. This
version of Qt also provides a texture sharing extension that provides more
functionality and convenience for sharing graphical assets with Qt Quick
clients: see the texture-sharing example.

Compile up both compositor and client.

If you have the dmabuf-server buffer integration (and you are running Mesa)
then start the compositor with:

$ QT_WAYLAND_SERVER_BUFFER_INTEGRATION=dmabuf-server ./compositor


Note: if you are running a compositor on an X11 desktop, you also need to
set QT_XCB_GL_INTEGRATION=xcb_egl as usual.

The compositor broadcasts the name of the server buffer integration to
all clients through the hardware integration extension. Therefore,
all you need to do is to start the client with

$ ./server-buffer-cpp-client -platform wayland

The client will show all the buffers shared by the compositor.

For testing on desktop, there is also a shared memory based server buffer
integration that works with any graphics hardware:

$ QT_WAYLAND_SERVER_BUFFER_INTEGRATION=shm-emulation-server QT_XCB_GL_INTEGRATION=xcb_egl ./compositor

Note: the shm-emulation-server integration does not actually share graphics
buffers, so it will not give any graphics memory savings. It is intended solely
for testing during development and should never be used in production.