$ git clone https://librecgm.ion.nu/librecgm.git
commit fcd30272cfe803a432bf59f7cc81a7ce312010ad
Author: Alicia <...>
Date:   Tue Sep 21 19:27:43 2021 +0200

    Prioritize updating the camera below drawing the GUI. Otherwise slower systems don't get around to showing the GUI.

diff --git a/gui.c b/gui.c
index 184c2ad..54a8ad0 100644
--- a/gui.c
+++ b/gui.c
@@ -114,7 +114,7 @@ static void gui_scan(GtkButton* btn, void* ptr __attribute__((unused)))
   {
     doscan=0;
     cam=cam_init(currentcam);
-    g_timeout_add(1000/10, G_SOURCE_FUNC(updatecam), 0);
+    g_timeout_add_full(G_PRIORITY_LOW, 1000/10, G_SOURCE_FUNC(updatecam), 0, 0);
     gtk_button_set_label(btn, "Scan graph");
   }else{
     free(list);
@@ -167,7 +167,7 @@ static void gui_load(GtkButton* btn)
   }
   if(doscan)
   {
-    g_timeout_add(1000/10, G_SOURCE_FUNC(updatecam), 0);
+    g_timeout_add_full(G_PRIORITY_LOW, 1000/10, G_SOURCE_FUNC(updatecam), 0, 0);
   }else{
     doscan=1;
     gtk_button_set_label(btn, "Rescan");
@@ -256,6 +256,6 @@ void gui_run(int** onlygrab, int unitmax)
     gtk_container_add(GTK_CONTAINER(viewmenu), item);
   }
   gtk_widget_show_all(window);
-  g_timeout_add(1000/10, G_SOURCE_FUNC(updatecam), onlygrab);
+  g_timeout_add_full(G_PRIORITY_LOW, 1000/10, G_SOURCE_FUNC(updatecam), onlygrab, 0);
   gtk_main();
 }