Can I game on Linux?
Linux Gaming Introduction
Our computers are not only our digital communications and business tools, they are also a major source of entertainment. As we wind down from our work we like to log on and relax and de-stress with some fun. If you are wondering if there is a way for you to do that on Linux you are in luck! There are a number of existing games that run natively on Linux and that number is growing. In addition there are several methods which allow you to even run Windows games too!
This is a large section of our digital footprint and I would like to go over just a few examples of how you can get started.
Here are some basic categorizes that will get you started
- Native Linux Support - Will Cover a bit on this post
- Proton Compatibility Layer - will cover on subsequent posts
Games run through an Emulator
dosbox - old games like “the Aethra Chronicles” that are either shareware or have been released into the public domain. These often run just fine and many have aged quite well!
Wine - This is a Windows Interpretation program that runs Windows programs without Windows. It allows many windows games to be run. - Will be covered in subsequent posts
Native Linux games that are free and Open Source -
Since the dawn of Computers folks have been writing games like “Zork” , “Adventure”, and “Rogue”, so this community has a lot to offer. Really it is the design of the game not necessarily the graphics card that makes a good game. We see this in Movies and new games which seem to have all fluff but no substance. There is a reason why things like “Monopoly”, “Risk”, and Chess are still popular! But don’t think that there are only text or simple graphics available here - this is growing too! - This will also be covered in subsequent posts.
Steam has an application that is available through the Software Manager. You can find Steam by searching in the Software Manager (as the below example shows with Linux Mint):
Searching for Steam:
This will take you to the Installation Page:
You can find more details about Steam games that are able to be run on Linux here.
Here are is a picture of “Torchlight II” running natively on Linux Mint:
Steam Linux Games
Here is a partial list of games available natively on Linux from Steam:
Although this post is only a taste of what is available, I hope it has whet your appetite to explore the world of Linux gaming!
Awesome article, Caleb! I’d recommend doing an addition for Steam Play, which allows Linux to run Windows games too.
Thanks Vasileios! I am on it! I wanted to hit the “Easy Button” First! I think you have good experience in the regard too!
I do, in fact. Time has been missing from my life the past few years, so I am falling a bit behind on that aspect!
Steam Play is actually as easy as activating an option in preferences. Then you can have a look at the game you’d like to get and then look at how it performs under Linux here:
Nice job , steam is good and I’ve had some distros running minecraft.
Steam Play is Proton then? I’m using Proton-GE, which is the experimental version. PoE runs like a sputtering troll on it. I’ve been meaning to try other versions to see if it helps at all.
Once you activate Steam Play, you will see Proton activate.
I would love to know more about your Minecraft success. On my Mint Cinnamon system, MC runs but is laggy. I administer a family MC server (through a hired server service) and really need it to run so I don’t have to switch to Windows to run it successfully. Are there some tweaks I could make that might fix my lag problem? It runs fine in Windows, dang it!
Hello, sounds like you need to allocate more memory for the game.Try this How to Allocate More RAM to Minecraft .I run an amd 8350 8 core processor at 4gig per core, with 4 memory sticks 16 gig total. minecraft is a big resource hog and needs that much horsepower to run without lag or crashes. So i guess more horsepower under the hood also helps.
Thank you. I have looked at that site and it offers some ideas, but I’m still stuck. I know immediately how to tell how much RAM I have in Windows, but haven’t been able to find that information in Linux, and I don’t remember how much I have (although I think my system is a reasonably good one.) I COULD boot back into Windows and look it up (dual boot system), but I want to learn how to do it in my preferred OS. Where would I find system information about how much RAM I have?
Next, the article suggests using the Default Launcher to allocate RAM. I tried following those instructions, but the JVM Arguments box doesn’t exist in my installation. Apparently not an option!
Method 2 is all about allocating RAM in Windows 10, obviously not applicable, but the java command line might be work (no doubt showing my ignorance here) IF I knew where to find the folder containing my Minecraft server directories. I don’t know enough about Linux to understand how the directories are organized, and can’t find it.
Method 3 refers to ATLauncher. No idea what that is. Same for Method 4, Twitch/Curse Launcher.
Can you offer further guidance? I’d really appreciate it!
Hi twitch/ curse was a 3rd party minecraft launcher, which enabled you to mod minecraft and add all kinds of mods using curseforge. Now it’s called overwolf launcher. I will look for the linux java setting. Oh and look under system settings and hardware for specs
I found the specs! Next problem: I do not understand what all this gobbeldy-gook means. Perhaps you can tell me how much RAM I have based on this:
System: Kernel: 5.4.0-88-generic x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: Cinnamon 5.0.5
wm: muffin dm: LightDM Distro: Linux Mint 20.2 Uma base: Ubuntu 20.04 focal
Machine: Type: Desktop Mobo: ASUSTeK model: PRIME H310M-A R2.0 v: Rev X.0x serial: <filter>
UEFI [Legacy]: American Megatrends v: 1401 date: 03/31/2020
Battery: Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard serial: <filter>
charge: 55% (should be ignored) status: Discharging
CPU: Topology: Quad Core model: Intel Core i3-9100 bits: 64 type: MCP arch: Kaby Lake rev: B
L2 cache: 6144 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 28800
Speed: 800 MHz min/max: 800/4200 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800
Graphics: Device-1: NVIDIA GP108 [GeForce GT 1030] vendor: ASUSTeK driver: nouveau v: kernel
bus ID: 01:00.0 chip ID: 10de:1d01
Display: x11 server: X.Org 1.20.11 driver: modesetting unloaded: fbdev,vesa
resolution: 1600x900~60Hz, 1920x1080~60Hz
OpenGL: renderer: NV138 v: 4.3 Mesa 21.0.3 direct render: Yes
Audio: Device-1: Intel 200 Series PCH HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
bus ID: 00:1f.3 chip ID: 8086:a2f0
Device-2: NVIDIA GP108 High Definition Audio vendor: ASUSTeK driver: snd_hda_intel
v: kernel bus ID: 01:00.1 chip ID: 10de:0fb8
Device-3: Linux Foundation EEM Gadget type: USB driver: snd-usb-audio,uvcvideo
bus ID: 1-3:3 chip ID: 1d6b:0102
Sound Server: ALSA v: k5.4.0-88-generic
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: ASUSTeK
driver: r8169 v: kernel port: d000 bus ID: 03:00.0 chip ID: 10ec:8168
IF: enp3s0 state: up speed: 100 Mbps duplex: full mac: <filter>
Drives: Local Storage: total: 1.36 TiB used: 176.70 GiB (12.6%)
ID-1: /dev/sda vendor: Samsung model: SSD 870 EVO 1TB size: 931.51 GiB speed: 6.0 Gb/s
ID-2: /dev/sdb vendor: Samsung model: SSD 860 EVO 500GB size: 465.76 GiB
speed: 6.0 Gb/s serial: <filter>
Partition: ID-1: / size: 915.40 GiB used: 88.35 GiB (9.7%) fs: ext4 dev: /dev/sda5
USB: Hub: 1-0:1 info: Full speed (or root) Hub ports: 10 rev: 2.0 chip ID: 1d6b:0002
Device-1: 1-1:2 info: Logitech Unifying Receiver type: Keyboard,Mouse
driver: logitech-djreceiver,usbhid rev: 2.0 chip ID: 046d:c534
Device-2: 1-3:3 info: Linux Foundation EEM Gadget type: Video,Audio
driver: snd-usb-audio,uvcvideo rev: 2.0 chip ID: 1d6b:0102
Device-3: 1-4:4 info: Logitech G203 Gaming Mouse type: Mouse,HID
driver: hid-generic,usbhid rev: 2.0 chip ID: 046d:c084
Hub: 2-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.0 chip ID: 1d6b:0003
Sensors: System Temperatures: cpu: 42.0 C mobo: N/A gpu: nouveau temp: 34 C
Fan Speeds (RPM): N/A gpu: nouveau fan: 1050
Repos: No active apt repos in: /etc/apt/sources.list
Active apt repos in: /etc/apt/sources.list.d/brave-browser-beta.list
1: deb [signed-by=/usr/share/keyrings/brave-browser-beta-archive-keyring-gpg arch=amd64] https: //brave-browser-apt-beta.s3.brave.com/ stable main
Active apt repos in: /etc/apt/sources.list.d/brave-browser-release.list
1: deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https: //brave-browser-apt-release.s3.brave.com/ stable main
Active apt repos in: /etc/apt/sources.list.d/megasync.list
1: deb https: //mega.nz/linux/MEGAsync/xUbuntu_20.04/ ./
Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list
1: deb http: //mintmirror.math.washington.edu/linuxmint-repo uma main upstream import backport
2: deb http: //archive.ubuntu.com/ubuntu focal main restricted universe multiverse
3: deb http: //archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
4: deb http: //archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
5: deb http: //security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
6: deb http: //archive.canonical.com/ubuntu/ focal partner
Info: Processes: 242 Uptime: 12h 30m Memory: 15.58 GiB used: 4.32 GiB (27.7%) Init: systemd
v: 245 runlevel: 5 Compilers: gcc: 9.3.0 alt: 9 Client: Unknown python3.8 client
Your system has a very good amount of 16GB of RAM.
Thanks, Vasileios! What line in all that gibberish said so? I want to understand it.
My pleasure, @PrettyGranny !
Scroll all the way down, in the “Info:” category. You’ll see the Memory: 15.58GB - which is rounded to 16GB (as systems go by 8GB, 12GB, 16GB, etc.).
Thank you! I could have sworn I had read through all that stuff carefully, but I missed that bit entirely.
No worries! It’s a lot of data to go through.
Having established that I have plenty of memory, now I need help telling Minecraft how much memory it may use. Suggestions? I still need to get Minecraft working well.
Steam on Linux: Compatibility Mode
Steam on Linux also offers a Compatibility layer by integrating ProtonDB as an option in the setup of games which do not run natively on Linux. The following article has a nice explanation of how to get this setup and running.
An Introduction to Linux Gaming thanks to ProtonDB | Linux Journal
Here is an example from my own setup for “Borderlands 3” which uses the ProtonDB Compatibility layer. I have chosen to use a stable release of ProtonDB rather than the latest Beta release because I want to work out all the particular issues. This is still a works in progress for me so I will post as I am successful in running this more challenging game.
The ProtonDB compatability layer has to download as would a regular game and you will find that each game that you setup to use ProtonDB will require some extra download and some extra computation. For instance, I have set things upon launch to pre-calculate shaders and cache them to save time.
For now this will get you started, and I suggest you choose one of your games that does not tax the most out of you system as your first attempt.
More to come…
Well it looks like Will Welker has posted some good information as well over on the Jeff.pro Telegram Chatroom. Here is a link to some additional information on running Windows Games on Steam using Proton:
How to use Steam’s Proton to play Windows Games on Linux
-Caleb C (Thanks Will!)