-
-
Notifications
You must be signed in to change notification settings - Fork 850
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
Merged
Merged
Modernize Mesa library #3414
Changes from 15 commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
a26d8e8
Prepare program for user upgrade with current Mesa3D builds, and
gzotti 1e01a05
SUG: Clarifications
gzotti 5a5aa9d
Use newer Mesa20 library
gzotti 52faeb1
[publish] obvious fixes
alex-w f929de5
[publish] fix stupid typos
alex-w 3cb2dc8
[publish] enforcement updating the MESA library
alex-w e29ab4c
[publish] another fix for another stupid typo
alex-w 8417dc8
[publish] hmm... let's try to fix previous commit
alex-w 132ff97
[publish] cosmetic fix
alex-w 10653f3
[publish] fixed another stupid typo :(
alex-w 402fe95
[publish] restore extra libGLES for Qt5-based packages
alex-w 3d1b33d
Request/override required OpenGL version.
gzotti d70b168
Improve error message
gzotti 21590a0
Add more warnings for out-of-memory
gzotti 5bb0a17
Somewhat cleaner error handling.
gzotti 67cfb74
Merge branch 'master' into modernize-mesa
alex-w File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -453,6 +453,38 @@ \subsubsection{NMEA Device} | |
hardware and other settings, e.g. real GPS sensor or network and WiFi | ||
detection.\footnote{\url{https://support.microsoft.com/en-us/windows/windows-location-service-and-privacy-3a8eee0a-5b0b-dc07-eede-2a5ca1c49088}} | ||
|
||
|
||
\subsection{Modernized MESA3D libraries (Software OpenGL on Windows)} | ||
\label{sec:ExtraData:Mesa} | ||
|
||
Stellarium uses hardware-accelerated OpenGL for rendering. On very old Windows systems without dedicated graphics hardware, | ||
or in special circumstances like virtual machines, hardware accelerated graphics may not be available, | ||
and the \program{Mesa3D} software implementation of OpenGL is used. This can also be forced by the command-line option \command{-\/-mesa-mode}. | ||
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 all versions from applying dithering in Mesa mode. | ||
Also the \program{ShowMySky} skylight model (see section~\ref{sec:skylight:ShowMySky}) is then not available. | ||
|
||
We have replaced\newFeature{23.4} this by a version of Mesa~20 compiled by Federico Dossena\footnote{\url{https://fdossena.com/?p=mesa/index.frag}} which appears to be even a bit faster. | ||
|
||
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, | ||
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. | ||
You must decide whether this is really beneficial in your situation. The libraries don't provide any additional graphics features that Stellarium makes 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 commentThe 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. |
||
\item Copy \file{(x86|x64)/{libglapi.dll,libgallium\_wgl.dll,opengl32.dll}} to where the executable \file{stellarium.exe} is. | ||
\item Delete the existing \file{opengl32sw.dll} | ||
\item Rename the just-copied \file{opengl32.dll} to \file{opengl32sw.dll}. | ||
\end{itemize} | ||
|
||
\noindent Now running Stellarium in Mesa mode (with link from program menu or command line) should report to provide OpenGL~4.5. | ||
|
||
|
||
|
||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
\chapter{Command Line Options} | ||
%\label{command-line-options} | ||
\label{sec:CommandLineOptions} | ||
|
@@ -474,7 +506,7 @@ \chapter{Command Line Options} | |
|
||
For example, using the option \texttt{-c\ my\_config.ini} would resolve to the file | ||
\file{\textless{}user\ directory\textgreater{}/my\_config.ini} whereas | ||
\file{-c\ ./my\_config.ini} can be used to explicitly say the file | ||
\file{-c\ ./my\_config.ini} can be used to explicitly point to the file | ||
\file{my\_config.ini} in the current working directory.\\ | ||
-\/-log-file or -l & log file name & Specify the log file name. The default value is \file{log.txt}. | ||
|
||
|
@@ -484,7 +516,7 @@ \chapter{Command Line Options} | |
Note: The old configuration file will be overwritten. \\\midrule | ||
-\/-user-dir & path & Specify the user data directory. \\ | ||
-\/-screenshot-dir & path & Specify the directory to which screenshots will be saved. \\\midrule | ||
-\/-full-screen & yes or no & Over-rides the full screen setting in the config file. \\\midrule | ||
-\/-full-screen & yes or no & Overrides the full screen setting in the config file. \\\midrule | ||
-\/-home-planet & planet & Specify observer planet (English name). \\ | ||
-\/-longitude & longitude & Specify latitude, e.g. +53d58'16.65" \\ | ||
-\/-latitude & latitude & Specify longitude, e.g. -1d4'27.48" \\ | ||
|
@@ -509,7 +541,6 @@ \chapter{Command Line Options} | |
-\/-angle-d3d11 & {[}none{]} & Force use Direct3D 11 for ANGLE OpenGL ES2 rendering engine.\footnotemark[1]\footnotemark[3]\\ | ||
-\/-angle-warp & {[}none{]} & Force use the Direct3D 11 software rasterizer for ANGLE OpenGL ES2 rendering engine.\footnotemark[1]\footnotemark[3]\\ | ||
-\/-mesa-mode or -m & {[}none{]} & Use MESA as software OpenGL rendering engine.\footnotemark[1]\\ | ||
-\/-safe-mode or -s & {[}none{]} & Synonymous to -\/-mesa-mode.\footnotemark[1]\\ | ||
-\/-single-buffer & {[}none{]} & Use single-buffering. This reportedly avoids screen blanking problems with some Intel GPUs. \\ | ||
-\/-opengl-compat or -C & {[}none{]} & Request OpenGL 3.3 Compatibility Profile. Might fix graphics problems in some driver configurations.\\ | ||
\bottomrule | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
(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.