Skip to content

Commit

Permalink
SUG: Add instructions to upgrade Mesa3D libraries
Browse files Browse the repository at this point in the history
  • Loading branch information
gzotti committed Sep 15, 2023
1 parent ab9bf10 commit 6ac4ba6
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions guide/ch_advanced_use.tex
Original file line number Diff line number Diff line change
Expand Up @@ -452,6 +452,37 @@ \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 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.

The built-in Mesa library 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.

The \program{Mesa3D} project \footnote{\url{https://www.mesa3d.org/}} meanwhile (2023) provides at least OpenGL~4.5.
If you need it and have Administrator privileges on your Windows system, \newFeature{23.3}
you can replace the built-in library using the following steps to install inofficial builds\footnote{\url{https://github.com/pal1000/mesa-dist-win/}}.

\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.
\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 provide OpenGL~4.5.
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.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\chapter{Command Line Options}
%\label{command-line-options}
\label{sec:CommandLineOptions}
Expand Down

0 comments on commit 6ac4ba6

Please sign in to comment.