- 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 Anarchy, ArchLabs, or a pure 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, and Debian along with some of its 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):
Desktop Environment | Screenshot |
---|---|
KDE Plasma, with SDDM or LightDM 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 set as 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 anytime random numbers are desired: typeroll 1 20
to roll 1d20,roll 2 4
to roll 2d4,roll 3 6
to roll 3d6 (or justroll 3
as six-sided dice is the default), and so on. - 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 (
updatemirrors
,updategrub
,yaycleanup
, 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 |
|
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 (unless you want to use a RAID 5/6 setup)! The GDL installer 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 (as a read-only environment) in the unlikely event that your actual (read-write) system is broken, allowing you to use Timeshift from within that snapshot to restore a 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.)
GDL utilizes the standard Linux kernel. Yes, there are a few interesting custom kernels, such as xanmod and tkg, that can in some cases provide slight improvements to gaming performance, RAM usage, etc., but they can also reduce stability and make upgrading less convenient, so, for now, GDL only installs the vanilla 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).
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 (min. 1 GB) as your installation medium, so here are some useful steps for that process in Linux (for alternative methods, including Windows and macOS options, consult this ArchWiki article or search online using a query like "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 later!)
- In a terminal, use the
lsblk
command to carefully determine the exact device name associated with your flash drive (something likesdc
,sdd
, etc.). - 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 via GitHub or email (support[at]goldendrakestudios[dot]com) and, if convenient, share the log file located at /root/gdl.log
during installation (or at ~/gdl.log
in your newly-installed system) either as a direct attachment or by running the command nc termbin.com 9999 < /root/gdl.log
(or nc termbin.com 9999 < ~/gdl.log
post-installation) and sharing the returned URL.
Feel free to send suggestions, questions, feature requests, etc., to the project maintainer, David C. Drake: drake[at]goldendrakestudios[dot]com
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, PayPal, and Venmo are also greatly appreciated). We are deeply grateful for all our supporters, including:
- Aina the Khajiit
- Lucy Rose
- Lyle R.
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 thoroughly test your code. - Write informative commit messages.
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, first ensure git-lfs
is installed on your system.
To compile in an Arch Linux environment, run build.sh
with root permissions (e.g., sudo ./build.sh
). In other environments, add a -c
flag to compile in an Arch container via podman
(e.g., sudo ./build.sh -c
).
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.