LogosLinuxInstaller icon indicating copy to clipboard operation
LogosLinuxInstaller copied to clipboard

feat: detect opengl version

Open thw26 opened this issue 9 months ago • 1 comments

Modified this to use a subprocess call rather than using the OpenGL Python libraries. This bypasses the GTK issues described below.

Fixes #366. Adds ability to get OpenGL version, and we compare the retrieved version to the minimum version.

Main test case is a PineTab2, which has a graphics limit of OpenGL 3.1. I'm not actually sure if OpenGL 3.2 is a minimum; it is just a guess based on my current knowledge of the lower limit.

We run this before install in order to prevent wasting the user's time.

We run this whenever we launch Logos to ensure that we can launch, e.g., if the user moves an install to a new computer.

Does some minor work in moving imports around in order to make the program run and to clean up ordering.


TODO

  • [x] Suppress error messages in TUI
    • The current implementation is making calls to Gtk which can cause Gtk and other system errors to be reported to terminal, and thus break the TUI. All my attempted implementations of blocking these have failed.

thw26 avatar Mar 22 '25 14:03 thw26

Two main concerns:

  1. Not sure if I love blocking the install process on this - seems more likely to do harm than good. Should be a warning instead? A logging.warning and app.status plus a sleep of say 5 seconds? So even if the output of glxinfo changes or what have you it still functions
  2. mesa-utils wouldn't be installed for existing installs, nor do I see it in the system.py dependencies. We can't be relying on something we don't check to make sure it's installed. Plus OpenGL check is happing BEFORE we even install system dependencies. We'd need to move it to later

ctrlaltf24 avatar Apr 10 '25 03:04 ctrlaltf24

Two main concerns:

1. Not sure if I love blocking the install process on this - seems more likely to do harm than good. Should be a warning instead? A logging.warning and app.status plus a sleep of say 5 seconds? So even if the output of glxinfo changes or what have you it still functions

My suggestion would be let's add a continue question?

2. mesa-utils wouldn't be installed for existing installs, nor do I see it in the system.py dependencies. We can't be relying on something we don't check to make sure it's installed. Plus OpenGL check is happing BEFORE we even install system dependencies. We'd need to move it to later

This I think is the main issue, even with the continue question. So, given this, the OpenGL check should happen right after package install, no?

thw26 avatar Jul 30 '25 01:07 thw26

I added a new function for all system checks. I think this is cleanest and helps specify these aren't ensure steps as it were. They may be better located under check system dependencies itself.

thw26 avatar Sep 12 '25 13:09 thw26