Linux Gaming: Fallout 1
Fallout 1 is "a post nuclear role playing game" released October 10th, 1997 on DOS, PC, and Mac platforms. Despite its age, it's definitely worth playing nowadays and has a couple of different ways to play on Linux including a native port. In this post, the first of several "Linux Gaming" entries I plan to write, I'll go over why I think the game is so special as well as what options we have for playing it. 1
→ Why Fallout 1?
At its core Fallout 1 is an immersive RPG with lots of very rich dialogue (including choices that actually have consequences!), and turn-based combat. The game takes place in southern California, near the ruins of Los Angeles. You can travel solo or with companions, and one infamous mechanic of the game involves time limits for certain objectives. 2
This game is, in many ways, a product of its time. Many of the mechanics are awkward, not well-explained (if they are explained at all), and some progression paths may not be totally obvious unless you really understand the mechanics. Additionally, the UI is pretty clunky, which can make some things like inventory management somewhat painful.
So why bother with it? It's got one of the most interesting game worlds I've ever seen, and despite potentially being on the shorter side it's absolutely packed with awesome writing and content. There's quite a lot to do, and you'll usually find more than one way to approach much of the game. The game does not hold your hand; you're expected to explore and be inquisitive. Dialogue choices offer several paths for role-playing, too. Part of the fun of revisiting the game lies in trying new things and seeing different outcomes. This is where the writing really shines.
There is a quest tracker, but it's pretty minimal, and there won't be much in the way of reminders or visual cues. Some might think of this as an inconvenience, but after having played the game I view it as something that can deepen your connection to the game - unlike modern games where you can simply follow a quest marker and more or less detach, in games like this you have to invest yourself in the world and the tasks it gives you.
On a personal level, I really love the visual style and art direction. I didn't actually play this game until last year, but to me it still looks really great for what it is and when it's from. Once I got the hang of the mechanics, I found myself totally drawn in and couldn't put it down until I was done. 3
→ Requirements
If you've never played Fallout 1 before, I recommend using "fallout1-ce", but if you have I'd recommend going with Fallout Et Tu (more on these options below). You'll need to have a few things available on your system before proceeding:
-
Copies of Fallout 1 and Fallout 2 from GOG.com
- Please note that you only need Fallout 2 if you're going the Fallout Et Tu route.
- wine, runs Windows software
-
wem
, a wine helper for installing and running Windows software (download here) -
cmake
, for building an executable (fallout1-ce only) -
make
, for building an executable (fallout1-ce only) -
SDL2-devel
(or your distro's equivalent), for building an executable (fallout1-ce only) -
7z
, for file extraction (Fallout Et Tu only) -
bash
, used by the game installer (Fallout Et Tu only) -
curl
, used to download required mods (Fallout Et Tu only) -
unzip
, for file extraction (Fallout Et Tu only) -
gamescope
, optional but highly recommended
If any of the above are available via your system package manager, that version is probably fine to use. Read on to learn more about the different options available for playing.
→ fallout1-ce
As I stated above: if you've never played Fallout 1 before, I fully recommend fallout1-ce for your first experience with the game. If you have played it, I'd say it's fine to skip this section and go down to the part about Fallout Et Tu. It's based on a reverse-engineering project that disassembled the original executable, and added some new features on top of that including support for Linux. It does not yet implement all features from Fallout Fixt, a community patch for the original executable, but it does have many quality of life features. 4 5 6
Yes, there's going to be some bugs, and yes, you'll be missing some nice features added by mods, but generally speaking, this method for playing the game is great. 7
→ Installing Fallout 1
The original game data is required to use fallout1-ce. You can use WEM's curated env for the GOG.com version of Fallout 1: 8
# View the env details
wem get-view --show-env fallout-gog
# Download the env
wem get fallout-gog --install-workdir /path/to/the/game/installer
# Install it
wem install fallout
With the game installed, you're ready to build yourself a native executable for it!
→ Building fallout1-ce
You'll most likely have to compile it yourself, and unfortunately as of this writing the main
branch currently has some rather nasty issues on Linux, so you'll want to manually apply these PRs yourself:
- Fix incorrect format specifier usage in obj_examine_func() #187
- movie_lib.cc: Fix incorrect return type of getOffset #195
Alternatively, you can use my fork/branch which has these two already merged: https://gitlab.com/hristoast/fallout1-ce
Compiling is a pretty simple affair, you just need SDL2-devel (or your distro's equivalent), make, and cmake (as noted above):
cd fallout1-ce/build
cmake ..
make
This will produce a fallout-ce
binary, simply drop that into the game installation directory and it's ready to go.
→ Running fallout1-ce
Before you run the game, it's a good idea to edit the f1_res.ini
file with these changes:
; This defaults to 0, set it to 1
SCALE_2X=1
SCR_WIDTH=1280
SCR_HEIGHT=960
Adjust that resolution as needed for the aspect ratio of your display, it's not necessary to change any of the other values. You can edit the file directly, or run the config GUI:
wem run fallout1 --exec f1_res_Config
If you use the GUI: Check the box next to "Scaling x2" and select your resolution; there's no need to enable the Hi-Res patch. I'll discuss game resolution in more detail below.
I strongly recommend running the game with gamescope using these options (edit resolution values as needed): 9
# Do "wem cfg fallout1 | grep RunWorkDir"
# to find the Fallout game directory
cd /path/to/fallout-gamedir
gamescope \
--adaptive-sync \
--nested-width 1280 \ # Game resolution
--nested-height 960 \
--output-width $DISPLAY_X \ # Display resolution
--output-height $DISPLAY_Y \
--filter fsr \
--scaler fit \
--fullscreen \
--force-grab-cursor -- ./fallout-ce
Gamescope will not only resize the game window to the resolution of your choosing, it will also upscale it via FSR (which in my experience works fantastically with older games). 10 11 12
→ Fallout Et Tu
Fallout Et Tu is an ambitious project that implements the Fallout 1 game in the Fallout 2 engine, which has many very nice features compared to the engine of the original game. Few liberties are taken with this implementation, but it does take advantage of some Fallout 2 features that arguably change the game in notable ways. 13
→ Installing Fallout Et Tu
There's a WEM curated env available for this, which makes installation simple. Not only will it install Fallout 1, Fallout 2, and Fallout Et Tu, but you'll also get the FO2tweaks and Inventory Filter mods. 14 15
# View the env details
wem get-view --show-env fallout1in2-beth
# Download the env
wem get fallout1in2-beth --install-workdir /path/to/the/game/installer
# Install it
# NOTE that the Fallout 1 and Fallout 2 game installation media both
# need to be in the directory you gave to wem when you got the env
wem install fallout1in2
# Set video options
wem run fallout1in2 --exec f2_res_Config
Additionally, there's several config files that are worth checking out, including but not limited to: 16
-
wineprefix/drive_c/fo2/Fallout1in2/ddraw.ini
-
wineprefix/drive_c/fo2/Fallout1in2/f2_res.ini
-
wineprefix/drive_c/fo2/Fallout1in2/config/fo1_settings.ini
-
wineprefix/drive_c/fo2/Fallout1in2/mods/fo2tweaks.ini
-
wineprefix/drive_c/fo2/Fallout1in2/mods/mods_order.txt
-
wineprefix/drive_c/fo2/Fallout1in2/mods/sfall-mods.ini
→ Running Fallout Et Tu
When you're ready to play the game, just run: wem run fallout1in2
→ What Resolution To Play At?
I touched on this a bit above when I shared how to use gamescope with fallout1-ce, but the question of what resolution to play at is a tricky one when it comes to certain older games. Some folks might be thinking "higher is better" when it comes to game resolution for classics, but I don't always agree with that, it really depends on the game. Fallout 1 (and Fallout 2) are both good examples where this might not necessarily be true, and there's a few reasons for this.
→ Higher Resolution
With a few tweaks, you can play Fallout Et Tu at the native resolution of your display with a reasonably-sized UI:
A few settings enable this:
-
{{.RunWorkDir}}/ddraw.ini
: ChangeMode=4
toMode=6
-
{{.RunWorkDir}}/mods/mods_order.txt
: Change;InterfaceUpscaled
toInterfaceUpscaled
-
Run
wem run fallout1in2 --exec f2_res_Config
, enable "Scaling X2" and set the screen dimensions to your display's native resolution
The result should look much like the images above. The game will be zoomed out a bit compared to the default resolution, and as a result you'll see a bit more but also some UIs such as the dialogue UI will be a bit smaller.
→ Default Resolution: 640x480
Contrast the higher resolution shots from above with these taken of the game's default resolution, scaled up with gamescope: 17
Here's how I achieve this look:
-
Run
wem run fallout1in2 --exec f2_res_Config
, disable "Scaling X2" (if it's enabled) and set the screen dimensions to 640x480 -
Set
RunPrefix
to this in the fallout1in2 env's cfg file:RunPrefix = "gamescope --adaptive-sync --nested-width 640 --nested-height 480 --output-width $DISPLAY_X --output-height $DISPLAY_Y --filter pixel --scaler fit --fullscreen --force-grab-cursor --"
With this setup, the overall game screen is smaller because it's "zoomed in" a bit. The result of that is you get a more detailed view of the game world, even you're seeing less of it at once comparatively. Another effect is: the dialogue window now fits to the screen, arguably making text a bit easier to read on higher resolutions.
There's things about both methods that I really like, but I personally stick with the default resolution, scaled up. I accept the smaller view as a sacrifice for what is to me a more detailed look at the game world. I also really enjoy the full screen-sized dialogue window. You might also consider that this is how the game was designed and intended to be played when it was originally released, if that sort of thing appeals or matters to you. Sometimes it's cool to experience games as close to how they were originally played as possible, and for me that does definitely apply to Fallout.
→ Conclusion
The original Fallout is a classic RPG that's incredibly deep and well-written. I'd strongly argue that it's worth a shot if you never played it (and have an interest in older games), and even if you have it's worth another look via Fallout Et Tu.
I can't talk about Fallout 1 without also mentioning The Nearly Ultimate Fallout Guide. If you never played the game, don't spoil it by reading this guide! But if you have, it's a worthy and very comprehensive reference. And last but not least: Tim Cain, one of the original creators of Fallout, has an excellent YouTube channel where he talks about Fallout but also games in general. I highly recommend checking it out, there's a playlist for Fallout videos too.
→ Footnotes And References
1 English Fallout Wikipedia page: https://en.wikipedia.org/wiki/Fallout_(video_game)
2 Initially, there was a 500-day limit to complete the game, but that was patched out after its release. Your first quest, to find a water chip for Vault 13, does still have a time limit.
3 And when I was done with it, I was totally ready for Fallout 2 and jumped right into that one! I'll cover that game in a future blog post.
4 fallout1-re GitHub repo: https://github.com/alexbatalov/fallout1-re
5 "Reverse engineering Fallout 2" by Alexander Batalov: https://medium.com/@alex.batalov/reverse-engineering-fallout-2-5dad1421de21
6 Fallout Fixt on No Mutants Allowed: https://www.nma-fallout.com/resources/fallout-fixt-full-all-fixes-and-mods.8/
7 Not to be too much of a purist but I truly believe that one's first experience with any classic game should be as close to the vanilla experience as possible. This will help you really appreciate things that mods or even engine replacements improve with the game.
8 Fallout curated WEM env: https://wem.hristos.co/get/fallout-gog/
9 gamescope GitHub repo: https://github.com/ValveSoftware/gamescope
10 AMD page on FSR (FidelityFX Super Resolution): https://www.amd.com/en/products/graphics/technologies/fidelityfx/super-resolution.html
11 FSR on Wikipedia: https://en.wikipedia.org/wiki/GPUOpen#FidelityFX_Super_Resolution
12 All screenshots are taken on my Framework Laptop 13 running Void Linux - except for the last one, this was taken on my gaming rig at 4K resolution.
13 Fallout Et Tu GitHub repo: https://github.com/rotators/Fo1in2
14 Fallout Et Tu WEM curated env: https://wem.hristos.co/get/fallout1in2-beth/
15 Please note that the "Classic" versions of Fallout 1 and 2 are both supported, you'll just want to use the fallout1in2-int
curated env instead of fallout1in2-beth
.
16 Fallout Et Tu README Configuration section: https://github.com/rotators/Fo1in2/blob/master/Fallout2/Fallout1in2/README.md#configuration
17 Originally I claimed that 800x600 was the original resolution of the game, but I was corrected by none other than Tim Cain himself while watching one of his awesome videos about the game!