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
@@ -55,7 +55,20 @@
|
||||
|
||||
<p>The signals arrive <em>disabled</em>. Nothing is acquired until you turn one on in the
|
||||
signal list, and enabling is what starts acquisition — so a freshly opened scope with an
|
||||
idle side panel is working correctly, not failing to connect.</p>
|
||||
idle side panel is working correctly, not failing to connect. For the same reason a start
|
||||
that has enabled nothing prints no <code>buffer allocated:</code> line on stderr.</p>
|
||||
|
||||
<note style="warning">
|
||||
<p>Over SSH with X11 forwarding the window may never appear, and the cure is
|
||||
<cmd>udpscope --renderer cairo</cmd>. Two symptoms tell the two halves apart: a
|
||||
<code>vkCreateSwapchainKHR() ... VK_ERROR_INITIALIZATION_FAILED</code> warning is
|
||||
GTK's default Vulkan renderer failing to make a swapchain and is what the option's
|
||||
<code>GSK_RENDERER=cairo</code> answers; a window whose allocation stays zero
|
||||
(<code>window_button_w=0</code>) means the plot's GL area has no context either, and
|
||||
that is what its <code>LIBGL_ALWAYS_SOFTWARE=1</code> answers. Both variables are
|
||||
exported before GTK initialises, because they are read when the renderer and the GL
|
||||
context are created. <cmd>--renderer gl</cmd> is faster when indirect GL works.</p>
|
||||
</note>
|
||||
|
||||
<note style="tip">
|
||||
<p>See <link xref="source">Choosing a source</link> for the chooser and the multicast
|
||||
|
||||
Reference in new issue
Block a user