-
-
Notifications
You must be signed in to change notification settings - Fork 838
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modernize Mesa library #3414
Modernize Mesa library #3414
Conversation
Great PR! Please pay attention to the following items before merging: Files matching
Files matching
This is an automatically generated QA checklist based on modified files. |
I see no changes in |
guide/ch_advanced_use.tex
Outdated
Rendering the graphics without hardware acceleration is of course much slower than accelerated graphics, but it's surely better than nothing. | ||
|
||
Qt's default Mesa library (Mesa 11) provides support for OpenGL~3.0 only. This prevents users of Qt5-based versions from applying dithering. | ||
On Qt6, also the \program{ShowMySky} skylight model (see section~\ref{sec:skylight:ShowMySky}) is then not available. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ShowMySky doesn't depend on Qt version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ShowMySky is now available on Qt6 builds only, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, Qt version doesn't make any difference.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, dithering also doesn't depend on Qt version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. I remember we had discussed removing SMS from Qt5 builds as those are intended for incapable systems only. Good!
Does dithering depend on the availability of OpenGL3.3 or not? If it does, then users of Qt5/Mesa11(OpenGL3.0) cannot apply dithering. This was written in light of SMS not available, so the only OpenGL issue to mention would have been missing dithering.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only factor that affects availability of high graphics mode is support for OpenGL 3.3. After all the discussions I decided to not take Qt version into account, because it wouldn't simplify anything.
High graphics mode currently defines whether we have dithering and ShowMySky.
The \program{Mesa3D} project \footnote{\url{https://www.mesa3d.org/}} meanwhile (2023) provides at least OpenGL~4.5. | ||
If you wish to use more ``up to date'' precompiled binaries and have Administrator privileges on your Windows system, \newFeature{23.3} | ||
you can replace this library using the following steps to install inofficial builds\footnote{\url{https://github.com/pal1000/mesa-dist-win/}}. | ||
Note however that after this upgrade, the program runs with considerably ($\approx$35\%?) lower framerate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't you say this improves frame rate rather than degrades?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This branch should
- replace Qt's Mesa 11 by fdossena's Mesa 20. Unconditionally.
- For "purists" who don't like taking Mesa DLLs from other sources than github, describe a path to move to a "more official" Mesa build, which however runs considerably slower. Just like giving instructions to run nouveau drivers for OS purists.
(2) is done. The next steps will hopefully bring the Mesa20 DLL to where it belongs.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(2) makes zero sense, because pal1000's builds are not more official than fdossena's ones. Both provide instructions to reproduce the builds, so you can make your own binaries if you want. And GitHub is not an authority for Mesa in any way, since Mesa has long moved to GitLab@FreeDekstop.
You must decide whether this is really beneficial in your situation. The libraries don't provide and additional graphics features that Stellarium make use of. | ||
|
||
\begin{itemize} | ||
\item Download the latest ``release-msvc'' package as you need from \url{https://github.com/pal1000/mesa-dist-win/releases} and unpack it somewhere. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The instructions seem out of date, referring to the previous source of packages.
Yes, nothing done yet. Where do I put the new Mesa libraries in stellarium-data before I start? I am not familiar with the Github "release" thing. In case you can "unrelease" something, you can BTW remove the Mesa23 stuff. |
Just follow link https://github.com/Stellarium/stellarium-data/releases/new and put the text and data |
@gzotti do you really want to replace dll for Qt6-based packages? |
Yes, I see >8fps for this Mesa20, vs. 6fps for Qt6's Mesa11.2. |
Ok, it’s look complete now |
OK, Must test if Qt5 works with all 3 options now... |
Works for Qt6, but not for Qt5 builds :( |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Qt6 solution: finished. Qt5 solutions: log_Qt5-x64_ANGLE_qt5.6EGLstuff.txt log_Qt5-x64-ANGLEdx11_qt5.5EGLstuff.txt [sorry, misspelled, 5.6...] x32: tomorrow (download limit exceeded...) |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Trying Qt5-32bit-Mesa. Crash on startup. Saw memory problems loading higher star catalogs. Now reset to default and disabled all plugins. Still, logfile:
App remains alive now, but shows nothing. I have not installed a 32-bit build for some time now. Does it work regularly? |
75b16d7
to
5bb0a17
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this PR can be merged and we should publish a snapshot for testing on various users hardware
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Hello @gzotti! Please check the fresh version (development snapshot) of Stellarium: |
Hello @gzotti! Please check the latest stable version of Stellarium: |
Retry of #3409
Description
This is intended to fix problems around outdated Mesa V11 libraries which come with Qt.
It provides OpenGL 4.5 CoreProfile and would allow to run advanced features (OpenGL3.3) on really old systems,
or in some circumstances where Stellarium needs to run in a VM without GPU.
A first way is replacing the default opengl32sw.dll by another build of Mesa 20 from https://fdossena.com/?p=mesa/index.frag
Further, if users prefer, prepare program for user upgrade with current Mesa3D builds, and add instructions to SUG.
This also finally removes the deprecated "safe mode" CLI switch.
Fixes #2803
Screenshots (if appropriate):
Type of change
How Has This Been Tested?
Test Configuration:
Checklist: