Managing multiple windows individually

Hello all,

I’m new on this forum and also in GLFW.

I’m working to a project to bring to life Saitek / Logitech Flight Instrument Panel (link) on Linux and maybe later on MacOS.
I’ve already done a reverse engineering on the USB Bulk protocol and I was able to find all specific commands to control these FIPs using libusb. After I will polish the driver I will make it public.

Now I’m working to the plugin for X-Plane 12. For this I want to take advantage of OpenGL to process the gauges which needs some processing.
My idea is to get a list of FIPs using a specific gauges from driver and the plugin should start an image processing just for the active gauges.
For example the plugin sent to the driver 10 gauges defined in a XML file. It will start the first gauge generation. Then the driver will know which FIP is using which gauge and it creates a list of used gauges which will be sent to the plugin.
Then the plugin will stop / start or reuse a specific image generation for gauges.

But in the beginning I want to show in a window on my PC the content of that gauge, then I will move to offscreen rendering by getting the generated buffer, compress in a PNG format and send it to the driver.

I’m following the examples in GLFW, but for multi-window environment I’m sure which approach should I take: to start a thread for each gauge I need to process or as the example which is using a loop in the main thread?

Kind regards,
EasyNetDev