Add --renderer for displays with no usable GPU; gate the header reading
GTK4 defaults to Vulkan, and an X11-forwarded display has no device to make a swapchain from; the plot is a GtkGLArea, so it then asks for a GL context that is not there either. --renderer cairo is the software preset for that display: it exports GSK_RENDERER=cairo and LIBGL_ALWAYS_SOFTWARE=1 in main() before gtk_init()/adw_init(), because both are read when the renderer and the context are created. --renderer gl is the faster choice when indirect GL works, and --renderer vulkan makes the default explicit. Nothing is exported, and GTK's own choice stands, when the option is absent. The once-a-second header line is now behind UDPSCOPE_PROBE_HEADER, following the [notrace] rule: its widths are still sampled for the exit dump, but the line is detail behind that reading rather than output every run prints. UDPSCOPE_PROBE_RENDERER prints the exported pair before GTK starts and the GskRenderer GTK actually built. README, the manual's overview and docs/claude record the two symptoms and the cure.
This commit is contained in:
1 parent
ac054a30c9
commit
fcf268d249
9 files changed
+151
-7
No files matched your search
@@ -155,6 +155,17 @@ precedent, not an exception.
|
||||
(the frame's ink is the image) and would otherwise be counted as well. The counter itself is in
|
||||
every build; see [probe-readings.md](probe-readings.md).
|
||||
|
||||
- `UDPSCOPE_PROBE_HEADER` (no value; **not** a scheduled probe) — the once-a-second
|
||||
`[udpscope] header: window_button_w=… bar_w=…` line. The widths are sampled either way (the
|
||||
exit dump reads them); the line is behind this variable because it is detail behind that
|
||||
reading, not a line every run should print. An unallocated window reads `0` for both.
|
||||
- `UDPSCOPE_PROBE_RENDERER` (no value; **not** a scheduled probe) — the renderer pair
|
||||
`--renderer` should have exported, printed from `main()` before GTK initialises
|
||||
(`[renderer] option=… GSK_RENDERER=… LIBGL_ALWAYS_SOFTWARE=…`), then the renderer GTK
|
||||
built (`[renderer] realized=…`) once the window has one. Run it with `--renderer cairo` to
|
||||
check the option reaches the environment before `gtk_init()`/`adw_init()`; run it without
|
||||
the option to check the default is untouched.
|
||||
|
||||
- `UDPSCOPE_PROBE_TRIGRENUM_MS` — the trigger's capture must survive a **renumbering of its own
|
||||
channel**. It sets the reported geometry through the real widgets (1 s window, 10 % pre share,
|
||||
hold-off from `--holdoff`) on the mock's *square* alone, polls for a capture to open, and then
|
||||
|
||||
Reference in new issue
Block a user