diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 527dc18046b971b68dce53fd011b27a40c79ff39..b292bfc06c21f5ef02d6bb155ae4ab5e4ee6533c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,16 +1,9 @@
-default:
-  image: debian:stable-slim
-
-stages:          # List of stages for jobs, and their order of execution
-  - build
-
 variables:
   GIT_STRATEGY: clone
   GIT_CLONE_PATH: $CI_BUILDS_DIR/$CI_CONCURRENT_ID/$CI_PROJECT_PATH
 
-.job_template: &job_build # This job runs in the build stage, which runs first.
-
-  stage: build
+default:
+  image: debian:stable-slim
 
   cache:
     - key: ccache-$CI_PROJECT_PATH_SLUG-$CI_JOB_NAME_SLUG
@@ -28,142 +21,188 @@ variables:
 
   before_script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:debconf[collapsed=true]\r\e[0KSetup debconf's environment"
+         # debconf
+         echo -e "\e[0Ksection_start:`date +%s`:debconf[collapsed=true]\r\e[0KSetup debconf's environment"
       - export DEBIAN_FRONTEND="noninteractive"
       - export DEBIAN_PRIORITY="low"
       - export DEBCONF_NONINTERACTIVE_SEEN="true"
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:debconf\r\e[0K"
-
+          # debconf
+          echo -e "\e[0Ksection_end:`date +%s`:debconf\r\e[0K"
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:dpkg_aa[collapsed=true]\r\e[0KAdding architectures to dpkg"
+          # dpkg_aa
+          echo -e "\e[0Ksection_start:`date +%s`:dpkg_aa[collapsed=true]\r\e[0KAdding architectures to dpkg"
       - dpkg --add-architecture i386
       - dpkg --add-architecture amd64
       - dpkg --add-architecture arm64
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:dpkg_aa\r\e[0K"
-
+          # dpkg_aa
+          echo -e "\e[0Ksection_end:`date +%s`:dpkg_aa\r\e[0K"
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_conf[collapsed=true]\r\e[0KSetting up APT conf"
+          # apt_conf
+          echo -e "\e[0Ksection_start:`date +%s`:apt_conf[collapsed=true]\r\e[0KSetting up APT conf"
       - export APT_CACHE_DIR=`pwd`/apt-cache
       - mkdir --parents --verbose $APT_CACHE_DIR/partial/
       - touch /etc/apt/apt.conf.d/99build
       - |
-       echo Adding options to apt.conf':'
+          # apt.conf
+          echo Adding options to apt.conf':'
       - |
-       echo APT::Install-Recommends "false"\;       | tee --append /etc/apt/apt.conf.d/99build
+          # APT::Install-Recommends
+          echo APT::Install-Recommends "false"\;       | tee --append /etc/apt/apt.conf.d/99build
       - |
-       echo quiet "1"\;                             | tee --append /etc/apt/apt.conf.d/99build
+          # quit
+          echo quiet "1"\;                             | tee --append /etc/apt/apt.conf.d/99build
       - |
-       echo APT::Get::Assume-Yes "true"\;           | tee --append /etc/apt/apt.conf.d/99build
+          # APT::Get::Assume-Yes
+          echo APT::Get::Assume-Yes "true"\;           | tee --append /etc/apt/apt.conf.d/99build
       - |
-       echo Dir::Cache::Archives "$APT_CACHE_DIR"\; | tee --append /etc/apt/apt.conf.d/99build
+          # Dir::Cache::Archives
+          echo Dir::Cache::Archives "$APT_CACHE_DIR"\; | tee --append /etc/apt/apt.conf.d/99build
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_conf\r\e[0K"
-
+          # apt_conf
+          echo -e "\e[0Ksection_end:`date +%s`:apt_conf\r\e[0K"
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_update[collapsed=true]\r\e[0KUpdating APT listing"
+          # apt_update
+          echo -e "\e[0Ksection_start:`date +%s`:apt_update[collapsed=true]\r\e[0KUpdating APT listing"
       - apt-get update
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_update\r\e[0K"
+          # apt_update
+          echo -e "\e[0Ksection_end:`date +%s`:apt_update\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_pre[collapsed=true]\r\e[0KInstalling pre packages"
+          # apt_pre
+          echo -e "\e[0Ksection_start:`date +%s`:apt_pre[collapsed=true]\r\e[0KInstalling pre packages"
       - apt-get install apt-utils
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_pre\r\e[0K"
+          # apt_pre
+          echo -e "\e[0Ksection_end:`date +%s`:apt_pre\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
+          # apt_upgrade
+          echo -e "\e[0Ksection_start:`date +%s`:apt_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
       - apt-get upgrade
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_upgraden\r\e[0K"
+          # apt_update
+          echo -e "\e[0Ksection_end:`date +%s`:apt_upgrade\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_common[collapsed=true]\r\e[0KInstalling common packages"
-      - apt-get install make git ccache
+          # apt_common
+          echo -e "\e[0Ksection_start:`date +%s`:apt_common[collapsed=true]\r\e[0KInstalling common packages"
+      - apt-get install make git ccache nasm
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_common\r\e[0K"
+          # apt_common
+          echo -e "\e[0Ksection_end:`date +%s`:apt_common\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:ccache_config[collapsed=true]\r\e[0KSetting up ccache config"
+          # ccache_config
+          echo -e "\e[0Ksection_start:`date +%s`:ccache_config[collapsed=true]\r\e[0KSetting up ccache config"
       - mkdir --parents --verbose ~/.ccache/
       - touch ~/.ccache/ccache.conf
       - |
-       echo Adding ccache configution option
+          # cache.conf
+          echo Adding ccache configution option
       - |
-       echo base_dir = $PWD                  | tee --append ~/.ccache/ccache.conf
+          # base_dir
+          echo base_dir = $PWD                  | tee --append ~/.ccache/ccache.conf
       - |
-       echo cache_dir = $PWD/ccache          | tee --append ~/.ccache/ccache.conf
+          # cache_dir
+          echo cache_dir = $PWD/ccache          | tee --append ~/.ccache/ccache.conf
       - |
-       echo compiler_check = content         | tee --append ~/.ccache/ccache.conf
+          # compiler_check
+          echo compiler_check = content         | tee --append ~/.ccache/ccache.conf
       - |
-       echo stats_log = $PWD/ccache_statslog | tee --append ~/.ccache/ccache.conf
+          # stats_log
+          echo stats_log = $PWD/ccache_statslog | tee --append ~/.ccache/ccache.conf
       - |
-       echo max_size = 50M                   | tee --append ~/.ccache/ccache.conf
+          # max_size
+          echo max_size = 50M                   | tee --append ~/.ccache/ccache.conf
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:ccache_config\r\e[0K"
+          # ccache_config
+          echo -e "\e[0Ksection_end:`date +%s`:ccache_config\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:ccache_reset[collapsed=true]\r\e[0KResetting ccache statistics"
+          # cache_reset
+          echo -e "\e[0Ksection_start:`date +%s`:ccache_reset[collapsed=true]\r\e[0KResetting ccache statistics"
       - ccache --zero-stats
       - ccache --show-stats
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:ccache_reset\r\e[0K"
+          # ccache_reset
+          echo -e "\e[0Ksection_end:`date +%s`:ccache_reset\r\e[0K"
+
+  artifacts:
+    paths:
+      - "bin/"
+      - "src/comptime.h"
+    name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
 
   after_script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_clean[collapsed=true]\r\e[0KCleaning of unneeded APT packages"
+           # apt_clean
+           echo -e "\e[0Ksection_start:`date +%s`:apt_clean[collapsed=true]\r\e[0KCleaning of unneeded APT packages"
       - apt-get autoclean
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_clean\r\e[0K"
+          # apt_clean
+          echo -e "\e[0Ksection_end:`date +%s`:apt_clean\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
+          # ccache_stats
+          echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
       - ccache --show-stats --verbose
       - ccache --show-log-stats --verbose
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
+          # ccahe_stats
+          echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
 
-build-testing:
-  <<: *job_build
+stages:
+  - build
+
+Debian testing GCC:
+  stage: build
   image: debian:testing-slim
 
   allow_failure: true
 
   artifacts:
-    paths:
-      - "bin/lsdl2srb2*"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-gcc"
 
   variables:
     CC: gcc
+    LDFLAGS: -Wl,-fuse-ld=gold
 
   script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
+          # apt_toolchain
+          echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
       - apt-get install gcc
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
+          # apt_toolchain
+          echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
+          # apt_development
+          echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
       - apt-get install libsdl2-mixer-dev libpng-dev libcurl4-openssl-dev libgme-dev libopenmpt-dev
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
+          # apt_development
+          echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
+          # make
+          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
       - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
+          # make
+          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 
-build-i686-w64-mingw32:
-  <<: *job_build
+Windows x86:
+  stage: build
 
   artifacts:
     paths:
-      - "bin/srb2win.exe*"
+      - "bin/"
+      - "src/comptime.h"
+    expose_as: "Win32"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win32"
 
   variables:
@@ -171,56 +210,71 @@ build-i686-w64-mingw32:
 
   script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
+          # apt_toolchain
+          echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
       - apt-get install gcc-mingw-w64-i686-win32
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
+          # apt_toolchain
+          echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
-      - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1
+          # make
+          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
+      - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1 SDL=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW=1 SDL=1
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
+          # make
+          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 
-build-x86_64-linux-gnu:
-  <<: *job_build
+Debian stable:amd64:
+  stage: build
 
   artifacts:
     paths:
-      - "bin/lsdl2srb2*"
+      - "bin/"
+      - "src/comptime.h"
+    expose_as: "Debian amd64"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-x86-64"
 
   variables:
     CC: x86_64-linux-gnu-gcc
+    LDFLAGS: -Wl,-fuse-ld=gold
     OBJCOPY: x86_64-linux-gnu-objcopy
     OBJDUMP: x86_64-linux-gnu-objdump
     PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
 
   script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
+          # apt_toolchain
+          echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
       - apt-get install gcc-x86-64-linux-gnu || apt-get install gcc
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
+          # apt_toolchain
+          echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
+          # apt_development
+          echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
       - apt-get install libsdl2-mixer-dev:amd64 libpng-dev:amd64 libcurl4-openssl-dev:amd64 libgme-dev:amd64 libopenmpt-dev:amd64
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
+          # apt_development
+          echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
+          # make
+          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
       - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
+          # make
+          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 
-build-i686-linux-gnu:
-  <<: *job_build
+Debian stable:i386:
+  stage: build
 
   artifacts:
     paths:
-      - "bin/lsdl2srb2*"
+      - "bin/"
+      - "src/comptime.h"
+    expose_as: "Debian i386"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-i686"
 
   variables:
@@ -231,62 +285,79 @@ build-i686-linux-gnu:
 
   script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
+          # apt_toolchain
+          echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
       - apt-get install gcc-i686-linux-gnu || apt-get install gcc
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
+          # apt_toolchain
+          echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
+          # apt_development
+          echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
       - apt-get install libsdl2-mixer-dev:i386 libpng-dev:i386 libcurl4-openssl-dev:i386 libgme-dev:i386 libopenmpt-dev:i386
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
+          # apt_development
+          echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
+          # make
+          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
       - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX=1
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
+          # make
+          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 
-build-aarch64-linux-gnu:
-  <<: *job_build
+Debian stable:arm64:
+  stage: build
 
   artifacts:
     paths:
-      - "bin/lsdl2srb2*"
+      - "bin/"
+      - "src/comptime.h"
+    expose_as: "Debian arm64"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-aarch64"
 
   variables:
     CC: aarch64-linux-gnu-gcc
+    LDFLAGS: -Wl,-fuse-ld=gold
     OBJCOPY: aarch64-linux-gnu-objcopy
     OBJDUMP: aarch64-linux-gnu-objdump
     PKG_CONFIG_PATH: /usr/lib/aarch64-linux-gnu/pkgconfig
 
   script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
+          # apt_toolchain
+          echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
       - apt-get install gcc-aarch64-linux-gnu || apt-get install gcc
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
+          # apt_toolchain
+          echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
+          # apt_development
+          echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
       - apt-get install libsdl2-mixer-dev:arm64 libpng-dev:arm64 libcurl4-openssl-dev:arm64 libgme-dev:arm64 libopenmpt-dev:arm64
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
+          # apt_development
+          echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
+          # make
+          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
       - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 LINUX64=1 NONX86=1
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
+          # make
+          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 
-build-x86_64-w64-mingw32:
-  <<: *job_build
+Windows x64:
+  stage: build
 
   artifacts:
     paths:
-      - "bin/srb2win64.exe*"
+      - "bin/"
+      - "src/comptime.h"
+    expose_as: "Win64"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-Win64"
 
   variables:
@@ -294,63 +365,70 @@ build-x86_64-w64-mingw32:
 
   script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
+          # apt_toolchain
+          echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
       - apt-get install gcc-mingw-w64-x86-64-win32
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
+          # apt_toolchain
+          echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
-      - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1
+          # make
+          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
+      - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 MINGW64=1 SDL=1
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
+          # make
+          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 
-build-clang:
-  <<: *job_build
+Debian stable Clang:
+  stage: build
 
   allow_failure: true
 
   artifacts:
-    paths:
-      - "bin/lsdl2srb2*"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-clang"
 
   variables:
     CC: clang
+    WFLAGS: -Wno-cast-align
     CFLAGS: -Wno-cast-align
+    LDFLAGS: -Wl,-fuse-ld=gold
 
   script:
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
+          # apt_toolchain
+          echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
       - apt-get install clang
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
+          # apt_toolchain
+          echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
+          # apt_development
+          echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
       - apt-get install libsdl2-mixer-dev libpng-dev libcurl4-openssl-dev libgme-dev libopenmpt-dev
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
+          # apt_development
+          echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
 
     - - |
-       echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
+          # make
+          echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling SRB2"
       - make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1 || make --directory=src --keep-going CCACHE=1 ERRORMODE=1 NONX86=1
       - |
-       echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
+          # make
+          echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
 
-
-build-clang-testing:
-  <<: *job_build
-
-  extends: build-clang
+Debian testing Clang:
+  extends: Debian stable Clang
 
   image: debian:testing-slim
 
   artifacts:
-    paths:
-      - "bin/lsdl2srb2*"
     name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-testing-clang"
 
   variables:
     CC: clang
+    WFLAGS: -Wno-cast-align -Wno-deprecated-non-prototype
     CFLAGS: -Wno-cast-align -Wno-deprecated-non-prototype
+    LDFLAGS: -Wl,-fuse-ld=gold
diff --git a/src/dummy/i_system.c b/src/dummy/i_system.c
index 125d2e8aec897f288995649aec2476989b4136d6..70e1ef4ec2b7aba9699731c0d743733750bc26fc 100644
--- a/src/dummy/i_system.c
+++ b/src/dummy/i_system.c
@@ -14,13 +14,18 @@ size_t I_GetFreeMem(size_t *total)
 	return 0;
 }
 
-void I_Sleep(UINT32 ms){}
+void I_Sleep(UINT32 ms)
+{
+	(void)ms;
+}
 
-precise_t I_GetPreciseTime(void) {
+precise_t I_GetPreciseTime(void)
+{
 	return 0;
 }
 
-UINT64 I_GetPrecisePrecision(void) {
+UINT64 I_GetPrecisePrecision(void)
+{
 	return 1000000;
 }
 
@@ -182,10 +187,12 @@ const char *I_ClipboardPaste(void)
 
 size_t I_GetRandomBytes(char *destination, size_t amount)
 {
+	(void)destination;
+	(void)amount;
 	return 0;
 }
 
-void I_RegisterSysCommands(void) {}
+void I_RegisterSysCommands(void){}
 
 void I_GetCursorPosition(INT32 *x, INT32 *y)
 {
diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c
index ed0c90a36ceb8c3799be8d696f0e00de0c19b620..b05f40ee375376bd7c585c3952daad2446580fca 100644
--- a/src/sdl/i_system.c
+++ b/src/sdl/i_system.c
@@ -3035,11 +3035,11 @@ size_t I_GetFreeMem(size_t *total)
 #ifdef FREEBSD
 	u_int v_free_count, v_page_size, v_page_count;
 	size_t size = sizeof(v_free_count);
-	sysctlbyname("vm.stat.vm.v_free_count", &v_free_count, &size, NULL, 0);
-	size_t size = sizeof(v_page_size);
-	sysctlbyname("vm.stat.vm.v_page_size", &v_page_size, &size, NULL, 0);
-	size_t size = sizeof(v_page_count);
-	sysctlbyname("vm.stat.vm.v_page_count", &v_page_count, &size, NULL, 0);
+	sysctlbyname("vm.stats.vm.v_free_count", &v_free_count, &size, NULL, 0);
+	size = sizeof(v_page_size);
+	sysctlbyname("vm.stats.vm.v_page_size", &v_page_size, &size, NULL, 0);
+	size = sizeof(v_page_count);
+	sysctlbyname("vm.stats.vm.v_page_count", &v_page_count, &size, NULL, 0);
 
 	if (total)
 		*total = v_page_count * v_page_size;