diff --git a/introduction/welcome/rationale.xml b/introduction/welcome/rationale.xml
new file mode 100644
index 0000000000..90c1728bfa
--- /dev/null
+++ b/introduction/welcome/rationale.xml
@@ -0,0 +1,72 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ Rationale for Packages
+
+
+ Upon reading through some of the sections in this book, you may notice
+ that a lot of the packages linked in some of the sections aren't in
+ this book but rather in BLFS, and that some optional dependencies aren't
+ even listed. Furthermore, some packages may be outdated. These choices
+ are very much deliberate.
+
+
+
+ Why Are Many Packages Not in the Book?
+
+
+ Many packages linked on some of the packages' sections aren't in
+ the book but rather in the BLFS book. There are multiple reasons
+ for this, but the most notable one is the packages that aren't in
+ the book aren't important for the main packages in the book, those
+ being Steam and Wine
+ . They are still listed anyway if users want more
+ support out of the specific packages not specific to the main
+ packages, like media playback for example. Another reason for
+ packages not being in the book is that the packages take a lot
+ of work to install and require jumping around. They can also require
+ a lot of choice or take up space or RAM for no real benefit for a
+ lot of users when there are more simple solutions, for example: a
+ logind variant being completely unnecessary as the regular user can
+ just be added to the audio,
+ video, and
+ input groups.
+
+
+
+
+
+ Why Are Some Optional Dependencies Not Listed?
+
+
+ There are some optional dependencies that aren't listed, and the
+ main reason for this is that they just would take up unnecessary
+ space. If on the offchance you desire even more out of your system,
+ there are plenty more packages in BLFS and is more geared for
+ everyone, although this book focuses more on gaming.
+
+
+
+
+
+ Packages That Are Outdated and Why
+
+
+ GCC-&gcc-version; vs GCC-14.1.0: GCC-14.1.0 introduces a lot of
+ bugs, leading to the inability to even compile the newest version
+ with MinGW-w64. It also leads to
+ unexpected test failures. Until these bugs are worked out, the
+ GCC version will be &gcc-version;.
+
+
+
+
+
diff --git a/introduction/welcome/welcome.xml b/introduction/welcome/welcome.xml
index b8f191311c..7859620c33 100644
--- a/introduction/welcome/welcome.xml
+++ b/introduction/welcome/welcome.xml
@@ -30,6 +30,7 @@
+
diff --git a/shareddeps/audio/flac.xml b/shareddeps/audio/flac.xml
new file mode 100644
index 0000000000..80b0a9590e
--- /dev/null
+++ b/shareddeps/audio/flac.xml
@@ -0,0 +1,214 @@
+
+
+ %general-entities;
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+ FLAC-&flac-version;
+
+
+ FLAC
+
+
+
+ Introduction to FLAC
+
+
+ FLAC is an audio CODEC similar to
+ MP3, but lossless, meaning that audio is compressed without losing any
+ information.
+
+
+ &lfs121_checked;
+
+ Package Information
+
+
+
+ Download (HTTP):
+
+
+
+
+ Download (FTP):
+
+
+
+
+ Download MD5 sum: &flac-md5sum;
+
+
+
+
+ Download size: &flac-size;
+
+
+
+
+ Estimated disk space required: &flac-buildsize;
+
+
+
+
+ Estimated build time: &flac-time;
+
+
+
+
+
+
+ FLAC Dependencies
+
+ Optional
+
+ ,
+ ,
+ , and
+
+
+
+
+
+
+ Installation of FLAC
+
+
+ Install FLAC by running the
+ following commands:
+
+
+./configure --prefix=/usr \
+ --disable-thorough-tests \
+ --docdir=/usr/share/doc/flac-&flac-version; &&
+make
+
+
+ To test the results, issue: make check. Note that
+ if you passed the and
+ parameters to
+ configure and then run the test suite, it will take a
+ very long time (up to 300 SBUs) and use about 375 MB
+ of disk space.
+
+
+
+ Now, as the root user:
+
+
+make install
+
+
+
+
+ Command Explanations
+
+
+ --disable-thorough-tests: This parameter is
+ used so that the test suite will complete in a reasonable amount of time.
+ Remove it if you desire more extensive tests.
+
+
+
+
+
+ Contents
+
+
+ Installed Programs
+ Installed Libraries
+ Installed Directories
+
+
+ flac and metaflac
+ libFLAC.so and libFLAC++.so
+ /usr/include/FLAC, /usr/include/FLAC++ and
+ /usr/share/doc/flac-&flac-version;
+
+
+
+
+ Short Descriptions
+
+
+
+
+ flac
+
+
+ is a command-line utility for encoding, decoding and
+ converting FLAC files
+
+
+ flac
+
+
+
+
+
+ metaflac
+
+
+ is a program for listing, adding, removing, or editing
+ metadata in one or more FLAC files
+
+
+ metaflac
+
+
+
+
+
+ libFLAC{,++}.so
+
+
+ these libraries provide native FLAC and Ogg FLAC C/C++ APIs
+ for programs utilizing FLAC
+
+
+ libFLAC{,++}.so
+
+
+
+
+
+
+
+
+
+
+
diff --git a/shareddeps/audio/libogg.xml b/shareddeps/audio/libogg.xml
new file mode 100644
index 0000000000..90bc26f6e0
--- /dev/null
+++ b/shareddeps/audio/libogg.xml
@@ -0,0 +1,142 @@
+
+
+ %general-entities;
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+ libogg-&libogg-version;
+
+
+ Libogg
+
+
+
+ Introduction to libogg
+
+
+ The libogg package contains the Ogg file
+ structure. This is useful for creating (encoding) or playing (decoding) a
+ single physical bit stream.
+
+
+ &lfs121_checked;
+
+ Package Information
+
+
+
+ Download (HTTP):
+
+
+
+
+ Download (FTP):
+
+
+
+
+ Download MD5 sum: &libogg-md5sum;
+
+
+
+
+ Download size: &libogg-size;
+
+
+
+
+ Estimated disk space required: &libogg-buildsize;
+
+
+
+
+ Estimated build time: &libogg-time;
+
+
+
+
+
+
+
+ Installation of libogg
+
+
+ Install libogg by running the following
+ commands:
+
+
+./configure --prefix=/usr \
+ --disable-static \
+ --docdir=/usr/share/doc/libogg-&libogg-version; &&
+make
+
+
+ To test the results, issue: make check.
+
+
+
+ Now, as the root user:
+
+
+make install
+
+
+
+
+ Command Explanations
+
+
+
+
+
+
+ Contents
+
+
+ Installed Programs
+ Installed Library
+ Installed Directories
+
+
+ None
+ libogg.so
+ /usr/include/ogg and /usr/share/doc/libogg-&libogg-version;
+
+
+
+
+ Short Descriptions
+
+
+
+
+ libogg.so
+
+
+ provides the functions required for programs to
+ read or write Ogg formatted bit streams
+
+
+ libogg.so
+
+
+
+
+
+
+
+
+
diff --git a/shareddeps/audio/libsndfile.xml b/shareddeps/audio/libsndfile.xml
new file mode 100644
index 0000000000..fa40b2006a
--- /dev/null
+++ b/shareddeps/audio/libsndfile.xml
@@ -0,0 +1,289 @@
+
+
+ %general-entities;
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+ libsndfile-&libsndfile-version;
+
+
+ libsndfile
+
+
+
+ Introduction to libsndfile
+
+
+ Libsndfile is a library of C routines for
+ reading and writing files containing sampled audio data.
+
+
+ &lfs121_checked;
+
+ Package Information
+
+
+
+ Download (HTTP):
+
+
+
+
+ Download (FTP):
+
+
+
+
+ Download MD5 sum: &libsndfile-md5sum;
+
+
+
+
+ Download size: &libsndfile-size;
+
+
+
+
+ Estimated disk space required: &libsndfile-buildsize;
+
+
+
+
+ Estimated build time: &libsndfile-time;
+
+
+
+
+ libsndfile Dependencies
+
+ Recommended
+
+ ,
+ , and
+
+
+
+ Optional
+
+ ,
+ ,
+ ,
+ , and
+
+
+
+
+
+
+ Installation of libsndfile
+
+
+ Install libsndfile by running the following
+ commands:
+
+
+./configure --prefix=/usr \
+ --docdir=/usr/share/doc/libsndfile-&libsndfile-version; &&
+make
+
+
+ To test the results, issue: make check.
+
+
+
+ Now, as the root user:
+
+
+make install
+
+
+
+ Contents
+
+
+ Installed Programs
+ Installed Library
+ Installed Directory
+
+
+
+ sndfile-cmp,
+ sndfile-concat,
+ sndfile-convert,
+ sndfile-deinterleave,
+ sndfile-info,
+ sndfile-interleave,
+ sndfile-metadata-get,
+ sndfile-metadata-set,
+ sndfile-play, and
+ sndfile-salvage
+
+ libsndfile.so
+ /usr/share/doc/libsndfile-&libsndfile-version;
+
+
+
+
+ Short Descriptions
+
+
+
+
+ sndfile-cmp
+
+
+ compares two audio files
+
+
+ sndfile-cmp
+
+
+
+
+
+ sndfile-concat
+
+
+ concatenates two or more audio files
+
+
+ sndfile-concat
+
+
+
+
+
+ sndfile-convert
+
+
+ converts a sound file from one format to another
+
+
+ sndfile-convert
+
+
+
+
+
+ sndfile-deinterleave
+
+
+ splits a multi-channel into multiple single channel files
+
+
+ sndfile-deinterleave
+
+
+
+
+
+ sndfile-info
+
+
+ displays information about a sound file
+
+
+ sndfile-info
+
+
+
+
+
+ sndfile-interleave
+
+
+ converts multiple single channel files into a multi-channel file
+
+
+ sndfile-interleave
+
+
+
+
+
+ sndfile-metadata-get
+
+
+ retrieves metadata from a sound file
+
+
+ sndfile-metadata-get
+
+
+
+
+
+ sndfile-metadata-set
+
+
+ sets metadata in a sound file
+
+
+ sndfile-metadata-set
+
+
+
+
+
+ sndfile-play
+
+
+ plays a sound file
+
+
+ sndfile-play
+
+
+
+
+
+ sndfile-salvage
+
+
+ salvages the audio data from WAV files which are more than
+ 4GB in size
+
+
+ sndfile-salvage
+
+
+
+
+
+ libsndfile.so
+
+
+ contains the libsndfile API functions
+
+
+ libsndfile.so
+
+
+
+
+
+
+
+
+
diff --git a/shareddeps/audio/libvorbis.xml b/shareddeps/audio/libvorbis.xml
new file mode 100644
index 0000000000..84e7dbe89e
--- /dev/null
+++ b/shareddeps/audio/libvorbis.xml
@@ -0,0 +1,173 @@
+
+
+ %general-entities;
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+ libvorbis-&libvorbis-version;
+
+
+ Libvorbis
+
+
+
+ Introduction to libvorbis
+
+
+ The libvorbis package contains a general
+ purpose audio and music encoding format. This is useful for creating
+ (encoding) and playing (decoding) sound in an open (patent free)
+ format.
+
+
+ &lfs121_checked;
+
+ Package Information
+
+
+
+ Download (HTTP):
+
+
+
+
+ Download (FTP):
+
+
+
+
+ Download MD5 sum: &libvorbis-md5sum;
+
+
+
+
+ Download size: &libvorbis-size;
+
+
+
+
+ Estimated disk space required: &libvorbis-buildsize;
+
+
+
+
+ Estimated build time: &libvorbis-time;
+
+
+
+
+ libvorbis Dependencies
+
+ Required
+
+
+
+
+ Optional
+
+ and
+ (or )
+ (specifically, pdflatex and htlatex) to build the PDF documentation
+
+
+
+
+
+ Installation of libvorbis
+
+
+ Install libvorbis by running the following
+ commands:
+
+
+./configure --prefix=/usr --disable-static &&
+make
+
+
+ To test the results, issue: make -j1 check.
+
+
+
+ Now, as the root user:
+
+
+make install &&
+install -v -m644 doc/Vorbis* /usr/share/doc/libvorbis-&libvorbis-version;
+
+
+
+
+ Command Explanations
+
+
+
+
+ : This switch enables building the
+ documentation in formats other than the supplied html.
+
+
+
+
+
+ Contents
+
+
+ Installed Programs
+ Installed Libraries
+ Installed Directories
+
+
+
+ None
+
+
+ libvorbis.so, libvorbisenc.so and libvorbisfile.so
+
+
+ /usr/include/vorbis and /usr/share/doc/libvorbis-&libvorbis-version;
+
+
+
+
+
+ Short Descriptions
+
+
+
+
+ libvorbis.so
+
+
+ provides the functions used to read and write sound files
+
+
+ libvorbis.so
+
+
+
+
+
+
+
+
+
diff --git a/shareddeps/audio/opus.xml b/shareddeps/audio/opus.xml
new file mode 100644
index 0000000000..be42a5e87f
--- /dev/null
+++ b/shareddeps/audio/opus.xml
@@ -0,0 +1,159 @@
+
+
+ %general-entities;
+
+
+
+
+
+
+
+]>
+
+
+
+
+
+ Opus-&opus-version;
+
+
+ Opus
+
+
+
+ Introduction to Opus
+
+
+ Opus is a lossy audio compression format
+ developed by the Internet Engineering Task Force (IETF) that is
+ particularly suitable for interactive speech and audio transmission over
+ the Internet. This package provides the Opus development library and
+ headers.
+
+
+ &lfs121_checked;
+
+ Package Information
+
+
+
+ Download (HTTP):
+
+
+
+
+ Download (FTP):
+
+
+
+
+ Download MD5 sum: &opus-md5sum;
+
+
+
+
+ Download size: &opus-size;
+
+
+
+
+ Estimated disk space required: &opus-buildsize;
+
+
+
+
+ Estimated build time: &opus-time;
+
+
+
+
+ Optional
+
+ and
+ (or )
+
+
+
+
+
+
+ Installation of Opus
+
+
+ Install Opus by running the following
+ commands:
+
+
+mkdir build &&
+cd build &&
+
+meson setup --prefix=/usr \
+ --buildtype=release \
+ -Ddocdir=/usr/share/doc/opus-&opus-version; &&
+ninja
+
+
+ To test the results, issue: ninja test.
+
+
+
+ Now, as the root user:
+
+
+ninja install
+
+
+
+
+ Command Explanations
+
+
+
+
+
+
+ Contents
+
+
+ Installed Programs
+ Installed Library
+ Installed Directory
+
+
+
+ None
+
+
+ libopus.so
+
+
+ /usr/include/opus and /usr/share/doc/opus-&opus-version;
+
+
+
+
+
+ Short Descriptions
+
+
+
+
+ libopus.so
+
+
+ provides the functions used to read and write Opus format
+
+
+ libopus.so
+
+
+
+
+
+
+
+
+