diff --git a/.gitignore b/.gitignore
index 2e8285a7e6..7e9c1bfb50 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,5 @@ version.ent
blfs-bootscripts*
xxx
*.swp
+*.bak
local.mk
diff --git a/shareddeps/drivers/libglvnd.xml.bak b/shareddeps/drivers/libglvnd.xml.bak
deleted file mode 100644
index 81b8efb40e..0000000000
--- a/shareddeps/drivers/libglvnd.xml.bak
+++ /dev/null
@@ -1,312 +0,0 @@
-
-
- %general-entities;
-
-
-
-]>
-
-
-
-
- libglvnd-&libglvnd-version;
-
-
- libglvnd
-
-
-
- Introduction to libglvnd
-
-
- The libglvnd package dispatchs API calls to a given driver vendor at
- runtime. Some of the libraries are simply wrappers to the main
- dispatcher. Drivers that are built with libglvnd in mind provide their
- own OpenGL implementations. For , it will install
- libEGL_mesa and libGLX_mesa. For ,
- it will provide libEGL_nvidia,
- libGLESv2_nvidia, and
- libGLX_nvidia. Each
- implementation is specific to the driver it comes from.
-
-
-
- The benefit of doing it that way is that a driver doesn't have to obey to
- the architecture an OpenGL vendor applies nor being absorbed by the
- vendor.
-
-
-
- Read to decide if you want to install OpenGL
- implementations from this provider.
-
-
-
-
-
- Download:
-
-
-
-
- libglvnd Dependencies
-
- Recommended
-
-
-
- If is not installed, this package will not
- provide libGL or libGLX. libOpenGL will still be built. Many
- build systems will expect libGL to be present, so it is heavily
- recommended to install before installing
- this package.
-
-
-
-
-
-
- Installation of libglvnd
-
-
- Install libglvnd by running the following commands:
-
-
-mkdir build &&
-cd build &&
-
-meson setup --prefix=/usr \
- --buildtype=release \
- -D gles1=false \
- -D hgl=false \
- .. &&
-
-ninja
-
-
- Now as the root user:
-
-
-ninja install
-
-
-
-
- lib32 Installation of libglvnd
-
-
- Install lib32-libglvnd by running the following commands:
-
-
-rm -rf * &&
-CC="gcc -m32" CXX="g++ -m32" \
-PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
-meson setup --prefix=/usr \
- --libdir=/usr/lib32 \
- --buildtype=release \
- -D gles1=false \
- -D hgl=false \
- .. &&
-
-ninja
-
-
- Now as the root user:
-
-
-DESTDIR=$PWD/DESTDIR ninja install &&
-cp -vr DESTDIR/usr/lib32/* /usr/lib32 &&
-rm -rf DESTDIR &&
-ldconfig
-
-
-
-
- Command Explanations
-
- &options-meson;
-
- &meson-buildtype-release;
-
-
- -D gles1=false: This disables an obsolete version
- of OpenGL ES.
-
-
-
- -D hgl=false: This disables targetting Haiku by
- default as this guide is for Linux, not Haiku.
-
-
-
- : If you don't need OpenGL ES, use
- this option. Be sure to read .
-
-
-
-
-
- List of packages With Issues
-
-
- While installing this package can help prevent a lot of issues down the
- road, this package can come with some caveats and all of them are in
- relation to BLFS. BLFS naturally expects that the only OpenGL vendor is
- Mesa, so the instructions will thus assume
- that this package has not been installed. The following have known
- issues, and solutions:
-
-
-
-
- Mesa: In BLFS, a patch is listed in
- the Mesa page and will
- instruct you to apply it. This will cause an issue unless you explictly
- tell the build system not to link against this package's libraries,
- which means having it build its own OpenGL implementations, which will
- cause issues of its own. The exact error the patch causes is a linking
- error in the final set of steps when building the demos as it expects
- functions that are not found in the specific libraries from this
- package it tries to link against.
- Either don't apply that patch or follow this book's page instead. Thanks to
- Mesa's build system autodetecting if
- libglvnd is installed, the installation
- instructions don't change that much between this book and BLFS. The
- main differences are lib32 support and not listing the demos
- patch.
-
-
- GLU: In BLFS, the GLU page explictly sets the GL
- vendor to be Mesa as the build system will
- otherwise expect libglvnd and
- libOpenGL to be installed.
- While the BLFS page instructions lead to a successful compilation, the
- resulting library does not function properly. You should follow the
- SLFS GLU page
- instead. It also does check if the vendor is
- Mesa.
-
-
-
-
-
-
- Contents
-
-
- Installed Programs
- Installed Libraries
- Installed Directories
-
-
- None
-
- libEGL,
- libGL,
- libGLESv2,
- libGLX,
- libGLdispatch, and
- libOpenGL
-
-
- /usr/include/{EGL,GLES{2,3},glvnd,KHR}
-
-
-
-
-
- Short Descriptions
-
-
-
-
- libEGL
-
-
- contains EGL window-system API functions
-
-
- libEGL
-
-
-
-
-
- libGL
-
-
- is the legacy OpenGL library; wrapper library
- calling libGLdispatch
- and libGLX
-
-
- libGL
-
-
-
-
-
- libGLESv2
-
-
- exposes OpenGL ES 2.x and 3.x entrypoints; wrapper library calling
- libGLdispatch
-
-
- libGLESv2
-
-
-
-
-
- libGLX
-
-
- dispatches GLX extensions to the right vendor
-
-
- libGLX
-
-
-
-
-
- libGLdispatch
-
-
- dispatches OpenGL and TLS to the right vendor
-
-
- libGLdispatch
-
-
-
-
-
- libOpenGL
-
-
- is the new OpenGL library and exposes OpenGL
- entrypoints; wrapper library calling libGLdispatch
-
-
- libOpenGL
-
-
-
-
-
-
-
-
-
diff --git a/shareddeps/drivers/vulkan-sdk.xml.bak b/shareddeps/drivers/vulkan-sdk.xml.bak
deleted file mode 100644
index 2deda403eb..0000000000
--- a/shareddeps/drivers/vulkan-sdk.xml.bak
+++ /dev/null
@@ -1,358 +0,0 @@
-
-
- %general-entities;
-
-
-
-]>
-
-
-
-
- Vulkan-SDK-&vulkan-sdk;
-
-
- Vulkan-SDK
-
-
-
- Introduction to Vulkan-SDK
-
-
- This page covers the installation of the Vulkan headers and the loader,
- the SPIR-V headers and tools, and the glslang compiler.
-
-
-
- Vulkan is a graphics API that allows a wealth of control over how each
- step is handled in the graphics pipeline. It is used by Steam's Proton
- and . OpenGL is much higher level and often leads
- to worse performance. However, it is up to the developer to implement
- either. This SDK doesn't provide any Vulkan driver, just what is needed
- for Vulkan applications and drivers.
-
-
-
- The SPIR-V tools process SPIR-V modules, often attributed to shader
- code/binaries. Khronos APIs, like OpenGL and Vulkan, make use of them.
- The tooling provides a base other applications can use to convert to and
- from.
-
-
-
- Glslang is a reference compiler and validator for the GLSL (OpenGL Shader
- Language). It is one of the compilers that can convert SPIR-V, such as
- GLSL to SPIR-V. In some cases, packages can compile shaders and turn
- them into header files which get included by a C/C++ file(s). In OpenGL,
- this process doesn't need glslang at all as OpenGL functions directory
- can compile shaders from a string and be binded for execution on every
- frame. With Vulkan, a separate shader compiler is needed to facilitate
- shader compilation.
-
-
- &long-build-time;
-
- Vulkan-SDK Dependencies
-
- Required
-
- and
-
-
- Recommended
-
-
-
-
- BLFS Equivalent Packages
- This combined page installs what would be in BLFS:
-
-
- Vulkan-Headers
-
-
- Vulkan-Loader
-
-
- SPIRV-Headers
-
-
- SPIRV-Tools
-
-
- Glslang
-
-
-
-
-
-
- Downloading Vulkan-SDK
-
-
- First, create a list of files to be downloaded:
-
-
-cat > &vk-common;-list << "EOF"
-Vulkan-Headers/archive/&vk-common;/Vulkan-Headers-&vk-common;.tar.gz
-Vulkan-Loader/archive/&vk-common;/Vulkan-Loader-&vk-common;.tar.gz
-SPIRV-Headers/archive/&vk-common;/SPIRV-Headers-&vk-common;.tar.gz
-SPIRV-Tools/archive/&vk-common;/SPIRV-Tools-&vk-common;.tar.gz
-glslang/archive/&vk-common;/glslang-&vk-common;.tar.gz
-EOF
-
-
- To download the needed files using ,
- use the following commands:
-
-
-mkdir &vk-common; &&
-cd &vk-common; &&
-grep -v '^#' ../&vk-common;-list | wget -i- -c \
- -B &kg-url;
-
-
-
-
- Installation of Vulkan-SDK
-
-&as_root;
-
-
- First, start a subshell that will exit on error:
-
-
-bash -e
-
-
- Install all of the packages by running the following commands:
-
-
-for package in {Vulkan-{Headers,Loader},SPIRV-{Headers,Tools},glslang}
-do
- longpackage=$package-&vk-common;.tar.?z*
- packagedir=${longpackage%.tar.?z*}
- tar -xf $longpackage
- pushd $packagedir
- mkdir build
- cd build
- case $package in
- SPIRV-Tools )
- cmake -D CMAKE_INSTALL_PREFIX=/usr \
- -D CMAKE_BUILD_TYPE=Release \
- -D SPIRV_WERROR=OFF \
- -D BUILD_SHARED_LIBS=ON \
- -D SPIRV_TOOLS_BUILD_STATIC=OFF \
- -D SPIRV-Headers_SOURCE_DIR=/usr \
- -G Ninja ..
- ;;
- glslang )
- cmake -D CMAKE_INSTALL_PREFIX=/usr \
- -D CMAKE_BUILD_TYPE=Release \
- -D ALLOW_EXTERNAL_SPIRV_TOOLS=ON \
- -D BUILD_SHARED_LIBS=ON \
- -D GLSLANG_TESTS=OFF \
- -G Ninja ..
- ;;
- * )
- cmake -D CMAKE_INSTALL_PREFIX=/usr \
- -D CMAKE_BUILD_TYPE=Release \
- -D CMAKE_SKIP_INSTALL_RPATH=ON \
- -G Ninja ..
- ;;
- esac
- ninja
- as_root ninja install
- popd
- rm -rf $packagedir
-done
-
- For multilib:
-
-for package in {Vulkan-Loader,SPIRV-Tools,glslang}
-do
- longpackage=$package-&vk-common;.tar.?z*
- packagedir=${longpackage%.tar.?z*}
- tar -xf $longpackage
- pushd $packagedir
- mkdir build
- cd build
- case $package in
- SPIRV-Tools )
- CC="gcc -m32" CXX="g++ -m32" \
- PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
- cmake -D CMAKE_INSTALL_PREFIX=/usr \
- -D CMAKE_INSTALL_LIBDIR=lib32 \
- -D CMAKE_BUILD_TYPE=Release \
- -D SPIRV_WERROR=OFF \
- -D BUILD_SHARED_LIBS=ON \
- -D SPIRV_TOOLS_BUILD_STATIC=OFF \
- -D SPIRV-Headers_SOURCE_DIR=/usr \
- -G Ninja ..
- ;;
- glslang )
- CC="gcc -m32" CXX="g++ -m32" \
- PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
- cmake -D CMAKE_INSTALL_PREFIX=/usr \
- -D CMAKE_INSTALL_LIBDIR=lib32 \
- -D CMAKE_BUILD_TYPE=Release \
- -D ALLOW_EXTERNAL_SPIRV_TOOLS=ON \
- -D BUILD_SHARED_LIBS=ON \
- -D GLSLANG_TESTS=OFF \
- -G Ninja ..
- ;;
- * )
- ASFLAGS+=" --32" CFLAGS+=" -m32" \
- CXXFLAGS+=" -m32" \
- PKG_CONFIG_PATH=/usr/lib32/pkgconfig \
- cmake -D CMAKE_INSTALL_PREFIX=/usr \
- -D CMAKE_INSTALL_LIBDIR=lib32 \
- -D CMAKE_BUILD_TYPE=Release \
- -D CMAKE_SKIP_INSTALL_RPATH=ON \
- -G Ninja ..
- ;;
- esac
- ninja
- DESTDIR=$PWD/DESTDIR ninja install
- as_root cp -Rv DESTDIR/usr/lib32/* /usr/lib32
- rm -rf DESTDIR
- as_root /sbin/ldconfig
- popd
- rm -rf $packagedir
-done
-
-
- Finally, exit the shell that was started earlier:
-
-
-exit
-
-
-
-
- Contents
-
-
- Installed Programs
- Installed Libraries
- Installed Directories
-
-
-
- glslang,
- glslang-validator (symlink to glslang),
- spirv-as,
- spirv-cfg,
- spirv-dis,
- spirv-lesspipe.sh,
- spirv-link,
- spirv-lint,
- spirv-objdump,
- spirv-opt,
- spirv-reduce,
- spirv-remap, and
- spirv-val
-
-
- libglslang,
- libglslang-default-resource-limits,
- libSPIRV,
- libSPIRV-Tools-diff,
- libSPIRV-Tools-link,
- libSPIRV-Tools-lint,
- libSPIRV-Tools-opt,
- libSPIRV-Tools-reduce,
- libSPIRV-Tools-shared,
- libSPIRV-Tools,
- libSPVRemapper, and
- libvulkan
-
-
- /usr/include/glslang,
- /usr/include/spirv,
- /usr/include/spirv-tools,
- /usr/include/vk_video,
- /usr/include/vulkan,
- /usr/lib/cmake/glslang,
- /usr/lib/cmake/SPIRV-Tools,
- /usr/lib/cmake/VulkanLoader,
- /usr/share/cmake/VulkanHeaders,
- /usr/share/cmake/SPIRV-Headers, and
- /usr/share/vulkan
-
-
-
-
-
- Short Descriptions
-
-
-
-
- glslang
-
-
- is a reference GLSL and SPIR-V shader compiler
-
-
- glslang
-
-
-
-
-
- libglslang
-
-
- contains backend functions for the glslang
- frontend
-
-
- libglslang
-
-
-
-
-
- libSPIRV
-
-
- processes and generates SPIR-V binaries
-
-
- libSPIRV
-
-
-
-
-
- libSPIRV-Tools
-
-
- contains functions for processing SPIR-V modules
-
-
- libSPIRV-Tools
-
-
-
-
-
- libvulkan
-
-
- provides the Vulkan API and core support for graphics drivers
-
-
- libvulkan
-
-
-
-
-
-
-
-
-