By now, you should have most of the packages needed to compile the following packages after this section. The good news is you are now done with the hardest part of this book. Congrats!
Well, how do you go from here? You could continue straight to the following chapters if you wish. But to run graphical compile like Steam-1.0.0.82 and Wine-10.1 (including wineboot as shown in the setup for DXVK-2.5.3), you will need a graphical environment. There are a few components you will need in order to get a graphical environment working and not accidently lock yourself inside of it without a hard reboot. The installation of those components are not covered in this book and which components you will need will depend on if you are going to use X11, Wayland, or both. This page acts as a simple nudge to help point you in the right direction, and when you are done, can come back and continue on with the next chapters.
While you are at it, make sure you have followed The Bash Shell Startup Files if you have not already as the files in that section set necessary variables.
It is recommended to read up on the BLFS page Xorg-7 Testing and Configuration. It is pretty comprehensive. However, there is some extra information you may wish to know.
If you compiled Zink in Mesa-24.3.4, chances are X11 or any Wayland compositors will use the Gallium3D driver meant for your GPU specifically, like Nouveau for NVIDIA GPUs. You can override this by setting the following variable:
export MESA_LOADER_DRIVER_OVERRIDE=zink
This could be considered unstable, so if you experience crashes, the Zink driver could be the issue and you should use the Gallium3D driver meant for your GPU instead.
There are typically three important components of an X11 environment:
a window manager or desktop environment
a terminal and/or launcher
and optionally a compositor
A window manager is an application that manages windows, their
placement, how they move, and more. It is a minimal option for
a graphical environment, not requiring a ton of packages and
takes less disk and RAM usage. Good window managers include
AwesomeWM,
BSPWM, DWM, and i3. In
order to start these window managers, add a line to
~/.xinitrc
:
echo "exec <WINDOW-MANAGER>
" >> ~/.xinitrc
Then launch it:
startx
A desktop environment is a more user friendly graphical environment and provides much more than a standard window manager. It is also worth noting that a desktop environment also includes a window manager. Good desktop environments include Cinnamon, GNOME, and KDE Plasma. These can require a lot of setup and uses more disk space and RAM. These should be loaded by a display manager, like SDDM. A display manager is often loaded by a service or daemon.
By this point, you should know what a terminal is, whether it be a TTY or a graphical terminal. Terminals are almost a necessity and help when you are in a pinch. You can launch most applications with a terminal. This is useful when you have no other way to launch an application. There are a wide variety of terminals and some integrate better with the system depending on if you went with a window manager or desktop environment. Check the Arch Wiki page Category:Terminal emulators for a comprehensive list on some terminals you can go for and some on the page are in BLFS. If you decided to go with a window manager, make sure to add a keybind for your chosen terminal.
A launcher is what it sounds like: an application that launches
the one you ask it to. Some launch applications by the binary
name in the PATH
variable, while
others launch applications according to desktop file entries.
Desktop files are often located in /usr/share/applications
and ~/.local/share/applications
. Don't be afraid
to create your own! It's okay to be creative sometimes. Check
the Arch Wiki page
Category:Application launchers for a comprehensive list on
some launchers you can go for. Desktop environments include
their own launcher and are often accessed via the “start menu”. If you
went with a window manager, make sure to add the keybind for
the launcher.
A compositor talks with Xorg-Server-21.1.15 and can
change what is seen on screen. The changes compositors make on
X11 can range from doing
vsync, adding window animations which helps with presentation,
and opacity. They can be taxing for the GPU if it is weak or
the graphics driver isn't that performant. When gaming, it
might be a good idea to temporary kill the compositor. These
compositors aren't needed on X11; however, they make the graphical
environment look nicer. The choice to have one is up to you.
Check the Arch Wiki page Xorg
Composite for a list of compositors. In order to enable
them when starting a window manager, add the following line
BEFORE the
line:
exec
...
<compositor>
&
Desktop environments include their own and are started when the desktop environment loads up.
Wayland is much more simple to set up than X11. Please read the X11 section above as much of the information is also relevant to Wayland. There are a few changes, however.
Unlike X11 where components were more separated, especially when using a window manager, this is not the case for Wayland. The window manager and compositor will always be combined. Desktop environments will combine both. This leaves the only things that need to be installed are a terminal and perhaps a launcher. The minimal graphical environments are called compositors instead of window managers, but desktop environments are still called desktop environments.
Many X11 window managers do not have Wayland support. There are some unofficial ports that use certain reusable frameworks which would be called an X11 compositor, like wlroots (these are called compositor libraries). You can try some ports if you wish but some of them do their own thing which you may not agree with.
Native Wayland compositors include Hyprland, i3, Sway, and Wayfire. In order to start these compositors, you can start them by using a display manager or simply run the binary that is of the compositor name. The choice is up to you how you wish to approach it.
Go with GNOME or KDE Plasma. They have good Wayland support. Like with X11, you can launch these using a display manager.