From cc38436bce8def617f1f2bb3e77626a3b751768e Mon Sep 17 00:00:00 2001 From: Samuel Onoja Date: Wed, 14 Oct 2026 18:20:02 +0100 Subject: [PATCH] Remove nested resize testing guide --- docs/README.md | 1 - docs/development.md | 1 - docs/nested-resize-testing.md | 71 ----------------------------------- docs/why-ferese.md | 2 +- 4 files changed, 1 insertion(+), 74 deletions(-) delete mode 100644 docs/nested-resize-testing.md diff --git a/docs/README.md b/docs/README.md index be6b5c4..740c6db 100644 --- a/docs/README.md +++ b/docs/README.md @@ -48,7 +48,6 @@ and [guides at that tag](https://github.com/ferese-wm/ferese/tree/v0.1.0-beta/do - [Rendering diagnostics](rendering-performance.md): outcome counters, capture cost and repeatable hardware baselines. - [DMA-BUF feedback](dmabuf-feedback.md): conservative allocation hints, fallback and hardware validation. - [Output management tests](output-management-testing.md): profiles, hotplug and DRM failures. -- [Nested resize checks](nested-resize-testing.md). - [Client soak testing](native-soak-testing.md). - [Website development](../site/README.md). - [Theme components](../crates/ferese-theme/README.md): shared native UI styles. diff --git a/docs/development.md b/docs/development.md index d681b9a..672bf9e 100644 --- a/docs/development.md +++ b/docs/development.md @@ -32,7 +32,6 @@ host. Hardware checks remain separate. - [Rendering diagnostics](rendering-performance.md): per-output outcomes and repeatable hardware baselines. - [DMA-BUF feedback](dmabuf-feedback.md): conservative allocation hints, fallback and hardware validation. - [Output management tests](output-management-testing.md): profiles, hotplug, mirroring, lid handling and failed DRM commits. -- [Nested resize checks](nested-resize-testing.md): wallpaper and bar responsiveness. - [Client soak testing](native-soak-testing.md): repeated client lifecycle and resource growth. ## Live Activities checks diff --git a/docs/nested-resize-testing.md b/docs/nested-resize-testing.md deleted file mode 100644 index 7582fbc..0000000 --- a/docs/nested-resize-testing.md +++ /dev/null @@ -1,71 +0,0 @@ -# Nested resize checks - -Build and launch a preview with protocol and render logging: - -```sh -cargo build --release --locked -p ferese -p ferese-shell -WAYLAND_DEBUG=1 FERESE_TRACE_PERFORMANCE=1 \ - target/release/ferese --backend nested --grant-effects --grant-shell-control -- \ - target/release/ferese-shell 2>/tmp/ferese-resize.log -``` - -Set a wallpaper, then drag each edge of the host window and repeatedly maximize -and restore it. The wallpaper and bar should resize without long stalls. Check -this at fractional scaling too. - -## Compare renderers - -Repeat the check with `ICED_BACKEND=wgpu` and `ICED_BACKEND=tiny-skia` to compare -renderers. The shell prefers tiny-skia with a wgpu fallback for its small -surfaces, while Settings prefers wgpu with a tiny-skia fallback for larger -scrolling pages. An explicit `ICED_BACKEND` selects the requested backend, and -the shell's automatic preference is not passed to Settings when it launches it. - -Follow the trace from host resize through layer configure, client acknowledgement, -new buffer commit and compositor rendering. A quick acknowledgement does not mean -the client has finished drawing. `FERESE_TRACE_PERFORMANCE` measures compositor -work, not shell rasterization. - -## Historical check - -A KDE Wayland check at 175% scale used debug binaries and protocol tracing. -Median configure acknowledgement was 1.35 ms with tiny-skia and 2.27 ms with -wgpu. Wallpaper buffer intervals were 5919 ms with tiny-skia (only two buffers) -and 9.85 ms median with wgpu. The captures had different durations, so these -observations do not establish comparative throughput. GPU intervals also had stalls -up to about 200 ms. - -Repeat on the current build. A nested result does not establish direct-session -resize or frame-pacing behavior. - -## Controlled slow client - -Build the compositor and control tool, then run on a Wayland host: - -```sh -cargo build --release --locked -p ferese -p feresectl -FERESE_TEST_RESIZE=1 FERESE_TEST_BINARY=target/release/ferese \ - FERESE_TEST_CTL=target/release/feresectl \ - python3 scripts/tests/test_resize_dependencies_isolated.py -``` - -The test creates a private nested desktop and two SHM clients. One acknowledges -a resize immediately but withholds its new buffer until instructed. It checks -that an independent first-column viewport target moves both windows together -before the 300 ms deadline, while the slow client's raster and presented size -stay held, then commits an actually resized raster. This is a state/coordinate -check on the selected host renderer, not a smoothness or hardware benchmark. - -For deterministic commit, supersession, multiple-client, timeout, unmap, -workspace, swipe-cancel, stacked-column, prediction, hit-testing, snapshot and -capture privacy coverage without a host desktop: - -```sh -cargo test --locked -p ferese resize_dependencies_protocol_and_pixels -- --ignored -``` - -That test requires an offscreen EGL device, including a software device. Layout -and dependency unit tests run without EGL in the ordinary workspace test suite. -Viewport dependencies retain at most 32 relative target recipes; a longer burst -falls back to a conservative linked wait until commit, deadline, or an absolute -retarget. Existing resize snapshots and their handoff lifetime are reused. diff --git a/docs/why-ferese.md b/docs/why-ferese.md index 2e771f3..2f77ef1 100644 --- a/docs/why-ferese.md +++ b/docs/why-ferese.md @@ -34,4 +34,4 @@ A window’s content, clipping and border need to follow the same presented boun ## Testing on hardware -Resize coordination, output timing and interrupted transitions need testing and measurements on the hardware where the desktop runs. The [output management checks](output-management-testing.md) cover hotplug and display changes. Use the [nested resize checks](nested-resize-testing.md) for window resizing and the [client soak tests](native-soak-testing.md) for repeated window creation and cleanup. +Resize coordination, output timing and interrupted transitions need testing and measurements on the hardware where the desktop runs. The [output management checks](output-management-testing.md) cover hotplug and display changes. Use the [client soak tests](native-soak-testing.md) for repeated window creation and cleanup.