- About
- Features
- Minimum system requirements
- Using the installer
- Reporting issues
- Contributing
- Compiling
- License
Golden Drake Linux (GDL) is a custom version of Arch Linux designed for gaming and game development. Strictly speaking, GDL is not an independent distro: it's simply a convenient method for installing Arch with certain packages, configurations, and theming and thus it only utilizes the standard Arch repositories along with the Arch User Repository (AUR). GDL is a highly-modified fork of the Anarchy installer with additional inspiration from archdi-pkg, ArchLabs, Manjaro, and other sources. The installer ISO is built using Archiso and the installation process uses dialog for a visually appealing TUI (text-based UI, a.k.a., terminal UI).
GDL is a side project of indie game development studio Golden Drake Studios (GDS), with updates and support provided by GDS's founder, David C. Drake. We hope you'll enjoy it, provide constructive feedback, and support our ongoing work on this and other projects through Patreon, but please note that GDL is provided without any warranty and, if it doesn't offer what you're looking for, we recommend checking out another tried-and-true Arch installer, such as ArchLabs or an official Arch Linux ISO. For a more beginner-friendly Arch-based experience, check out Garuda Linux, EndeavourOS, or Manjaro. Looking beyond the Arch family, we can also recommend Fedora (inc. Spins and Labs), openSUSE, Debian, and certain Debian derivatives, such as Linux Mint Debian Edition (LMDE) and MX Linux.
(Please note that the acronym "GDL" can also refer to the GNOME Docking Library in other contexts.)
Four popular DEs, each lovingly customized for beauty and usability, are available during installation (follow the links for custom keyboard shortcuts and other details):
DE | Screenshot |
---|---|
KDE Plasma, with SDDM as the display manager. | ![]() |
GNOME, with GDM as the display manager. | ![]() |
Cinnamon, with LightDM as the display manager. | ![]() |
Xfce, with LightDM as the display manager. | ![]() |
If LightDM is your display manager, a secure "Guest Session" option is made available courtesy of lightdm-guest-account
. This is useful when you want to let someone briefly use your computer while ensuring your system and data remain safe: a temporary guest user with limited capabilities is created when they log in, then deleted (along with all associated data) when they log out (the "Switch User" feature should not be used during the guest session as they won't be able to return to that session).
All DEs include a custom .bashrc
file to provide the following while in a terminal:
- A
roll
function for tabletop gaming or whenever random numbers are desired: typeroll 1 20
for 1d20,roll 2 4
for 2d4,roll 3 6
for 3d6 (or justroll 3
as six-sided dice is the default), etc. - Functions for creating and extracting archive files:
maketarxz
,maketargz
,makezip
, andextract
. - An
mcd
function for creating a directory and immediately moving into it. - Aliases to improve some basic commands, facilitate a few important tasks (
yayup
to check for Arch news before updating software,yaycleanup
to remove old dependencies and cache files,updatemirrors
,updategrub
,reinstallgrub
, etc.), and provide more convenient access to features of some of the fun terminal programs listed below.
Category | Details |
---|---|
Games |
|
Game management |
|
Game development | |
Reading & writing |
|
Listening & watching | |
Misc. |
|
GDL provides three partitioning options:
Partitioning method | Details |
---|---|
Automatic |
|
Automatic with LUKS encryption and logical volume management (LVM) |
|
Manual |
|
If hibernation support (suspend to disk) is desired, choose a suitably large swap space during installation: at least half the size of system RAM, but preferably much larger. If GDL detects that swap is smaller than system RAM, it will configure the system to compress the hibernation image as much as possible.
Three file system options are available for all partitions (except ESPs, which use FAT32):
Btrfs is growing in popularity due to its convenient compression and snapshot capabilities, among other features, and we highly recommend it! GDL automatically sets up Btrfs partitions with excellent mount options, including compression (compress-force=zstd:2
), and creates appropriate subvolumes with names starting with @
as is common practice and expected by certain system restore utilities, such as Timeshift.
In fact, if Timeshift is selected during installation (and the root partition uses Btrfs), GDL configures Timeshift to automatically create root subvolume snapshots on a regular basis, including right before software updates (courtesy of timeshift-autosnap
), and snapshots are added to the GRUB menu (thanks to grub-btrfs
) so you can boot directly into one of them in the unlikely event that your system is "broken" but the GRUB menu is still accessible, allowing you to use Timeshift from within a snapshot to restore that (or another) snapshot so you can then reboot into your system as usual. (By default, these snapshots do not include the @home
subvolume, which is generally the right choice: user data backups should probably be handled separately through a secure external drive, remote server, or both.) If the GRUB menu is inaccessible, then you must boot into a live Linux environment (such as the GDL installer) via USB flash drive to fix your system.
As of v1.2.0, GDL installs the Zen kernel, described on the ArchWiki as "a collaborative effort of kernel hackers to provide the best Linux kernel possible for everyday systems" (the GDL installer itself uses the vanilla Arch Linux kernel). There are also a few unofficial custom kernels that might, in some cases, provide additional slight improvements to performance, RAM usage, etc., but they can also reduce stability and make upgrading less convenient, so, for now, GDL only provides the Zen kernel. You are, of course, free to install additional kernels as you see fit.
You can select any locale/language for your new system, of course, but as for the installer itself, GDL currently supports the following languages:
- Bulgarian (Български)
- Dutch (Nederlands)
- English
- French (Français)
- German (Deutsch)
- Greek (Ελληνικά)
- Hungarian (Magyar)
- Indonesian (bahasa Indonesia)
- Italian (Italiano)
- Latvian (Latviešu)
- Lithuanian (Lietuvių)
- Polish (Polski)
- Portuguese (Português)
- Portuguese, Brazilian (Português do Brasil)
- Romanian (Română)
- Russian (Русский)
- Spanish (Español)
- Swedish (Svenska)
Options for Chinese (中文), Japanese (日本語), and Korean (한국어) fonts were explored, but sadly there is currently no way to provide them within the minimal text-based environment of the installer. For your new system, however, IBus packages for convenient keyboard input in Chinese (ibus-libpinyin
or ibus-chewing
), Japanese (ibus-kkc
), and Korean (ibus-hangul
) are available during installation and, if selected, are configured for you (after login, use Ctrl+Space or Super+Space to change input language at any time). NOTE: In some cases, such as when using Cinnamon or Xfce, IBus might require additional configuration to work under Wayland, but it should always work well immediately under Xorg.
Hardware | Requirements |
---|---|
CPU | 1 GHz dual-core 64-bit processor (3 GHz quad-core recommended) |
GPU | Whatever you need for the type of games you want to play/develop! |
Memory | 2 GB RAM (16 GB recommended) |
Storage | 20 GB of HDD/SSD space (1 TB recommended) |
You can try GDL safely by downloading the latest ISO and using it as a virtual CD/DVD in a virtual machine. When you're ready to use it on a physical machine, you'll most likely want to use a USB flash drive as your installation medium, so here are some useful steps for that process on Linux (for alternative methods, including Windows and macOS options, consult this ArchWiki article or search online using a query such as "create bootable USB from ISO"):
- First, back up all important data from all devices involved in this process.
- Download the latest ISO.
- Insert the USB flash drive you want to use as the install medium. (NOTE: All data on the flash drive will be erased!)
- In a terminal, use the
lsblk
command to carefully determine the exact device name associated with your flash drive (something likesdc
,sdd
, etc.). - Ensure the flash drive is unmounted.
- Carefully use the
dd
command shown below (which may requiresudo
for elevated privileges), replacingpath/to/file.iso
with the actual path to the ISO and replacing thex
at the end of/dev/sdx
with the letter associated with your flash drive as determined in step 4 (do not include a number and, above all, do not use the wrong device name). CAUTION: Using the wrong device name could result in extensive data loss and/or destruction of your current operating system!
dd bs=4M conv=fsync oflag=direct status=progress if=path/to/file.iso of=/dev/sdx
That's it! Now you can boot from your USB flash drive to perform a fresh install of Golden Drake Linux.
The installer's command line environment can also be used for other purposes, such as fixing a broken system by mounting the appropriate partition(s) in /mnt
and then running commands within the broken system via arch-chroot /mnt [command]
.
If you encounter an issue that might just be a general hardware/software issue, or you simply have questions about terminology, processes, etc., first check the ArchWiki, man pages, and other resources for relevant information. (Consider this a gentle reminder to RTFM...ha!)
If you're confident an issue you've encountered is due to a problem within GDL, please provide a detailed report. If convenient, share ~/gdl.log
as a direct attachment, copy-pasted text, or link (e.g., by running nc termbin.com 9999 < ~/gdl.log
and copy-pasting the returned URL).
Suggestions, questions, feature requests, etc., are welcome and can be shared here as an issue or discussion.
To contribute financially and receive certain benefits, including increased influence over the development of GDL and our indie game projects, please support us through Patreon or GitHub Sponsors. Donations via Ko-fi, Liberapay, Venmo and PayPal are also appreciated. We're deeply grateful for all our supporters, including:
- CinnaMonday
- Lucy Rose 🌹
- Lyle R.
- Aina the Khajiit 🐱
If you wish to modify or supplement the project's code, feel free to submit a pull request. Please adhere to the following guidelines:
- Follow shell scripting best practices, such as those recommended in Google's Shell Style Guide.
- Use
"${variable}"
instead of$variable
(but omit the quotation marks when necessary, i.e., in rare cases when a variable needs to be word-split into multiple strings). - Name constants and global variables
LIKE_THIS
, other variables (and functions)like_this
. - Write comments where needed.
- Use
shellcheck
and carefully test your code.
If you'd like to provide a new translation or modify an existing language file, that would be wonderful! Please use english.conf
as your primary reference.
GDL uses git-lfs
to manage images, so if you want to git clone
this repository, ensure git-lfs
is installed on your system.
To compile within an Arch (or Arch-based) Linux environment, run build.sh
with root permissions (e.g., sudo ./build.sh
). If that fails, or if your Linux environment is not Arch-based, add a -c
flag to compile in a temporary Arch container via podman
(e.g., sudo ./build.sh -c
). Compilation within non-Linux environments, such as Windows, macOS, and FreeBSD, should also be possible in one way or another, but these have not been tested.
Once the build is complete, the ISO and its checksum file are located in an out
directory.
This project is licensed under the GNU GPLv2 license.