Upgrading to the Latest Development Version of Wine in Lubuntu Linux to Play Fallout: New Vegas

Fallout: New Vegas Title Screen

Fallout: New Vegas Title Screen

A couple days ago, Bethesda Softworks released a teaser trailer for the new game Fallout 76. I have heard speculation that it might be a Fallout MMO, which would be awesome. I have been unable to find any details on release date yet. The news of a new Fallout game made me want to go back and play an older Fallout game.

It was while browsing through my Fallout game collection that I noticed Fallout: New Vegas is available on Steam download for Windows users only. I was surprised by this. I thought surely there would be a Mac version released at some point if not a Linux version. I went on the wine website and checked their AppDB to see how compatible Fallout: New Vegas is for running in wine. For those unfamiliar, wine is a program that runs in Linux that can be used to run windows compatible software with varied success. They have an AppDB that keeps track of what programs work for what versions of wine across various flavors of Linux. The wine program’s website may be found at www.winehq.org. The AppDB can be found at appdb.winehq.org.

Cutscenes Work Flawlessly in Wine 3.9

Cutscenes Work Flawlessly in Wine 3.9

According to the AppDB on the wine website, Fallout: New Vegas should work flawlessly in any version of wine since version 3.3. Excited by this, I downloaded the game to one of my Linux machines and got ready to play. The flavor of Linux I prefer to use is Lubuntu, a Ubuntu variant. The game downloaded successfully and I launched it with wine. The game bombed right at the title screen.

Depressed and annoyed by this, I checked my wine version I had install on my machine. You do this by opening a terminal and typing in the command, “wine –version”. I saw my machine had wine version 1.9 running on it. Users of Ubuntu and its variants who want to get a stable, system compatible version of wine up and running very quickly can use the the Synaptic Package Manager, search for wine, and install the most recent wine version offered within the “Universe” package repository provided by default upon installation of the operating system. This version of wine, while tested to work well with the operating system, is not the latest and best version of wine to achieve high compatibility with more recent Windows programs. To do that, you must go to wiki.winehq.org/Ubuntu and download the latest version using the instructions provided there.

We've Got Some Geckos to Clear Out.

We’ve Got Some Geckos to Clear Out.

There are three branches of wine versions that can be installed via the apt-get command on Ubuntu flavored Linux systems directly from winehq: stable, development, and staging. Stable is less error prone, obviously. Staging is what will hopefully be released with the kinks worked out in the next version. Meanwhile the development branch, despite its name, has turned out iteratively better versions of wine that can be used with relative stability until the next stable branch version comes out. The longer I get away from a stable wine version, the more I feel a need to use the latest development branch version.

To install the latest development branch version of wine onto my Lubuntu system, I first had to open a terminal and type in commands to add the wine specific repository to download the latest wine development branch packages. The first command I ran was to enable my system to download and install 32-bit binaries and code libraries necessary for wine to run any 32-bit applications. Interestingly, 64-bit Ubuntu systems are more apt to run fully 64-bit code as opposed to Windows systems where it seems many libraries still have a 32-bit variant, sometimes the 32-bit one is used by default.

sudo dpkg --add-architecture i386

To add the wine specific repository for the latest branches, run the following commands in the terminal. I ran these commands from my home directory.

wget -nc https://dl.winehq.org/wine-builds/Release.key
sudo apt-key add Release.key
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/

Then run an update to pull down the latest package information.

sudo apt-get update

Finally, install the latest wine version from the development branch.

sudo apt-get install --install-recommends winehq-devel

Everything completed successfully, so I was finally able to run Fallout: New Vegas using the latest development version of wine on my machine. I reloaded the game and watched it crash again in roughly the same place. Hmmm, that’s not good. I checked my wine version again. Still 1.9! What happened!?!

The Ubuntu default wine installation from the universe repository installs its wine binaries into the /usr/local/bin directory and has all sorts of system links that call the wine commands located there. This directory is also part of the system path ($PATH), so any wine command contained there will be favored even over a wine command located in the /usr/bin directory. Meanwhile, the wine binaries for the latest development branch are installed to the /opt/wine-devel/bin directory.

It was at this point that I wrote a bash script to replace the old wine binaries in the /usr/local/bin directory with links to the new binaries in the /opt/wine-devel/bin directory. I opened a new file in a text editor and saved it as RefreshWineCommandsToDevel.sh. Once the script was run, all of my Ubuntu specific links were now pointing to the more recent version of wine. The contents of the script follow.

if [ -f /usr/local/bin/wine ]; then
    rm /usr/local/bin/wine
fi
ln -s /opt/wine-devel/bin/wine /usr/local/bin/wine
if [ -f /usr/local/bin/wine64 ]; then
    rm /usr/local/bin/wine64
fi
ln -s /opt/wine-devel/bin/wine64 /usr/local/bin/wine64
if [ -f /usr/local/bin/wine64-preloader ]; then
    rm /usr/local/bin/wine64-preloader
fi
ln -s /opt/wine-devel/bin/wine64-preloader /usr/local/bin/wine64-preloader
if [ -f /usr/local/bin/wineboot ]; then
    rm /usr/local/bin/wineboot
fi
ln -s /opt/wine-devel/bin/wineboot /usr/local/bin/wineboot
if [ -f /usr/local/bin/winebuild ]; then
    rm /usr/local/bin/winebuild
fi
ln -s /opt/wine-devel/bin/winebuild /usr/local/bin/winebuild
if [ -f /usr/local/bin/winecfg ]; then
    rm /usr/local/bin/winecfg
fi
ln -s /opt/wine-devel/bin/winecfg /usr/local/bin/winecfg
if [ -f /usr/local/bin/wineconsole ]; then
    rm /usr/local/bin/wineconsole
fi
ln -s /opt/wine-devel/bin/wineconsole /usr/local/bin/wineconsole
if [ -f /usr/local/bin/winecpp ]; then
    rm /usr/local/bin/winecpp
fi
ln -s /opt/wine-devel/bin/winecpp /usr/local/bin/winecpp
if [ -f /usr/local/bin/winedbg ]; then
    rm /usr/local/bin/winedbg
fi
ln -s /opt/wine-devel/bin/winedbg /usr/local/bin/winedbg
if [ -f /usr/local/bin/winedump ]; then
    rm /usr/local/bin/winedump
fi
ln -s /opt/wine-devel/bin/winedump /usr/local/bin/winedump
if [ -f /usr/local/bin/winefile ]; then
    rm /usr/local/bin/winefile
fi
ln -s /opt/wine-devel/bin/winefile /usr/local/bin/winefile
if [ -f /usr/local/bin/wineg++ ]; then
    rm /usr/local/bin/wineg++
fi
ln -s /opt/wine-devel/bin/wineg++ /usr/local/bin/wineg++
if [ -f /usr/local/bin/winemaker ]; then
    rm /usr/local/bin/winemaker
fi
ln -s /opt/wine-devel/bin/winemaker /usr/local/bin/winemaker
if [ -f /usr/local/bin/winemine ]; then
    rm /usr/local/bin/winemine
fi
ln -s /opt/wine-devel/bin/winemine /usr/local/bin/winemine
if [ -f /usr/local/bin/winepath ]; then
    rm /usr/local/bin/winepath
fi
ln -s /opt/wine-devel/bin/winepath /usr/local/bin/winepath
if [ -f /usr/local/bin/wine-preloader ]; then
    rm /usr/local/bin/wine-preloader
fi
ln -s /opt/wine-devel/bin/wine-preloader /usr/local/bin/wine-preloader
if [ -f /usr/local/bin/wineserver ]; then
    rm /usr/local/bin/wineserver
fi
ln -s /opt/wine-devel/bin/wineserver /usr/local/bin/wineserver

Once the script was created and saved with the above contents, I was able to run the script using the following command from the directory that the script was located in.

sudo bash RefreshWineCommandsToDevel.sh

After that, when I ran “wine –version” I received output indicating the current version of 3.9. Time to test out Fallout: New Vegas again.

Well, VATS!

Well, VATS!

It worked! Perhaps flawlessly? There were moments where it would briefly slow down a little or acted funky, but I remember having had a few problems with it when I used to run it natively on Windows. Looks like this was a success. All of the screenshots included in this article were taken from within Linux while running Fallout: New Vegas in Wine 3.9. Many thanks to all of the wine developers that make it possible to play these mainstream Windows only titles on the Linux platform. Wine helps me get closer to having a truly integrated universal gaming platform that will play all of my games.

Disabling Sticky Keys in Windows 10 – Tutorial

1. Click on the Start button and then click on Settings (the button with the gear icon).

Click Start, Click Settings

Click Start, Click Settings

2. The Windows Settings menu screen will pop up. Click on the Ease of Access button.

Windows Settings - Select Ease of Access

Windows Settings – Select Ease of Access

3. The Ease of Access settings menu will appear. Click on the Keyboard option on the menu on the left side.

Ease of Access - Select Keyboard

Ease of Access – Select Keyboard

4. You should now see the Keyboard settings. Here there is a switch for Sticky Keys. Make sure the switch is in the off position.

Keyboard Settings - Switch Sticky Keys Off

Keyboard Settings – Switch Sticky Keys Off