Commit 66ef0437d73e
tarball1 file changed+3-1
@@ -32,7 +32,9 @@ nix develop -c sh -c 'RUST_LOG=monolith=debug target/release/monolith run --back
3232
- [ ] **Submit stall.** It used to drop one frame every 6.2 s at 165 Hz. With vkcube running, the `frame rate` debug lines should read 165 of 165 indefinitely, with no `frame missed its vblank` in steady state.3333
- [ ] **vkcube black start.** Is the half second of black at launch gone?3434
- [ ] **Fullscreen switches.** Toggle fullscreen on vkcube a few times and look for `slow frame` lines. First-time imports now run on a worker thread.35
-- [ ] **Realtime, optional.** SCHED_RR and the realtime Vulkan queue need CAP_SYS_NICE. To try them, wrap the binary with `security.wrappers` and `capabilities = "cap_sys_nice+ep"`, then look for `compositor thread runs SCHED_RR` and `queue global priority priority=Some(REALTIME)`. File capabilities make the loader ignore variables like `VK_DRIVER_FILES`.35
+- [ ] **Direct scanout.** Fullscreen vkcube should log `direct scanout scanout=true`, and its `frame rate` lines should show `scanned_out` close to `presented`. If it logs `scanout=false` or never switches, the `elements`, `overlay_planes` and `cursor_plane` fields on that line show what was on screen with it.36
+- [ ] **CPU target.** `cpu_p99_us` on the `frame rate` lines should stay under 500, the target in decisions.md.37
+- [ ] **NixOS module.** Add the flake as an input, import `monolith.nixosModules.default` and set `programs.monolith.enable = true`. A `monolith` session appears in the display manager. With the default `realtime-scheduling = true`, the log should show `compositor thread runs SCHED_RR` and `queue global priority priority=Some(REALTIME)`. Programs launched from monolith should not inherit CAP_SYS_NICE, which `grep Cap /proc/(pgrep foot)/status` shows as an all-zero `CapAmb`.3638
3739
## Known