Setting up my gaming computer in Ubuntu 16.04

This is really a how-to for my personal hardware setup in case I want to try other distributions or operating systems on my gaming computer down the line. However it may be helpful to anyone who would like to play games or run flight sims in a Linux environment. What? Stranger things have happened!


Stock Intel i5-based computer that like most PCs boots into vanilla Ubuntu without any trouble at all.

The special stuff:

  • nVidia GTX 670 graphics card (requires proprietary driver to give acceptable 3D acceleration)
  • Foris FG2421 screen capable of running at 1920×1080 @ 120 Hz (requires the existence of a monitors.xml file to keep this refresh rate across reboots)
  • CH Products Fighter Stick and Flight Sim Pedals (the latter aren’t seen as a joystick device since they lack buttons, and so the permissions get screwed up so they can’t be read by games and simulators like X-Plane)
  • Secondary drive where I have my Steam stuff (120 GB is OK for a boot drive, but get some custom scenery into X-Plane, or install World of Warcraft, and it eats stuff up pretty fast)

NVIDIA drivers

  1. Search for drivers and run the application.
  2. Change from Nouveau to NVIDIA 361.42 (as of may 2016) – Apply changes and reboot.
  3. Search for NVIDIA X Server Settings and run the application
  4. Resolution -> 1920×1080, 120 Hz and apply

Permanent screen resolution settings

  1. Run System Settings -> Displays.
  2. Change a setting, change it back and Apply. This should be enough. Check the monitor’s On Screen Display menu to confirm the resolution and refresh rate.

For troubleshooting purposes, the above points should have created ~/.config/monitors.xml – if not, the screen will revert to its default refresh rate of (usually) 60 Hz after re-logging or rebooting the computer.

Contents of my ~/.config/monitors.xml:

<monitors version="1">
      <output name="DVI-I-0">
      <output name="DVI-I-1">
      <output name="HDMI-0">


Joystick + Pedals configuration

My own take on the write-up at – in turn courtesy of a Bill Good:

  1. The relevant output from lsusb
    Bus 001 Device 008: ID 068e:00f2 CH Products, Inc. Flight Sim Pedals
    Bus 001 Device 007: ID 068e:00f3 CH Products, Inc. Fighterstick
  2. Create the file /etc/udev/rules.d/99-CHProducts.rules and give it the following two lines:
    KERNEL=="event*", ATTRS{idProduct}=="00f2", ATTRS{idVendor}=="068e", MODE="0666"
    KERNEL=="event*", ATTRS{idProduct}=="00f3", ATTRS{idVendor}=="068e", MODE="0666"
  3. Run sudo udevadm control –reload-rules to load the rules without invoking an unnecessary reboot.

Steam on a separate drive

There are two ways to go about it; earlier I mounted my secondary drive as /opt and put a symlink from ~/.steam towards /opt/games/steam, but I figured I can just as well put my entire home drive on the other drive just for good measure.

Relevant output of blkid /dev/sdb1:

/dev/sdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" TYPE="ext4"

Add the following line to /etc/fstab:

UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx" /home    ext4    defaults    0    0

Move the home directory (unless you already have one):

$ sudo mkdir /mnt/sdb1 ; sudo mount /dev/sdb1 /mnt/sdb1
$ sudo mv /home/* /mnt/sdb1/
$ sudo umount /mnt/sdb1

Note: At this point you have no home directory, which may cause some errors until you’ve re-logged on.

$ mount -a

re-logon, install Steam, and move any existing Steam directory to ~/.steam

Verify by starting Steam. You should see your game library, with previously downloaded titles available for immediate play.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s