[HowTo] introduction to perfect setup for gaming

Difficulty: ★☆☆☆☆

Introduction
Gaming on Linux? Yes, it’s possible, but new Linux users must read tons of articles if they want to play games on Linux, especially Manjaro. Usualy this a reason why people switch back to Windows. There are quite a bit of things different on Linux compared to Microsoft Windows 10. Well, this article has everything that you need.

First update Manjaro
sudo pacman -Syu
Keep everything updated and fresh! :slightly_smiling_face:

We need a fully working GPU
Manjaro Settings ManagerHardware ConfigurationAuto Install
Proprietary if you have NVIDIA
Open-source if you have AMD
More information: Configure Graphics Cards - Manjaro

Laptops with NVIDIA (prime drivers): If you don’t want to run apps/games with your Intel GPU, use this command: prime-run package: where package is the game you want to run on the NVIDIA GPU.

Good starting point for gaming, but there is a lot of more!
Lutris - Great and powerful manager, where you can manage all games in a computer.
Lutris will install Wine automatically for you!
pamac install lutris
More information about Lutris: https://lutris.net/

Wine - Great tool to run app from Windows on Linux.
if wine wasn’t install automatically:
pamac install wine
More information about Wine: https://www.winehq.org/

Here is a screenshot, which packages you need to install :blush:

Steam?
Already pre-installed :wink: What’s next with Steam?

  1. Sign in, there is no different between Windows a Linux. :smiley:
  2. SettingsSteam play and click Enable Steam Play for supported titles and Enable Steam Play for all other titles.
  3. Choose latest (highest number) version of Proton.
    Note: Some titles work better with older Proton versions, but usually the latest Proton works best of all.
  4. This point isn’t necessary but i highly recommend - SettingsShader Pre-Caching and enable all.

Important for NVIDIA laptops!
Don’t forget to use the prime-run package

How to use prime-run??

game in library > properties > set launch options > insert prime-run %command%
Screenshot_20201013_150157 Screenshot_20201013_150325 Screenshot_20201013_150350

Now games will run with NVIDIA GPU!
So, that’s all, now you can play everything in Steam! :slightly_smiling_face:

Optional recommendations to read

Where i can check if games run well with Proton?
https://www.protondb.com/
Note: If you find gold or better mark, don’t worry about installing this game.

Tweaks for Steam
Check custom (unofficial) Proton version GitHub - GloriousEggroll/proton-ge-custom: Compatibility tool for Steam Play based on Wine and additional components
I’ve got better performance and some bugs in games fixed!
Installation is easy, don’t worry you don’t need use terminal.

Outside Steam
Can i install games outside Steam? YES!
GOG is supported on a Linux? YES!

Generally, the best way how to install games outside Steam is go to the Lutris website and search the game that you want.
You can find automatic scripts and methods how to install, run and tweak them!
One example: League of Legends - Lutris

Focus power into the games!
Interesting performance tweak for gaming is Feral gamemode
GitHub - FeralInteractive/gamemode: Optimise Linux system performance on demand
pamac install gamemode
pamac install lib32-gamemode

Note: I don’t use gamemode and you probably won’t need to, if you don’t havet performance issues with games. Simply gamemode does nothing useful if you have enough performance.

Personally something to end
I wish you happy gaming! BTW: Who plays Xonotic? My name is Soong. :grinning:
https://xonotic.org/

16 Likes

Why are you using pamac instead of pacman, any particular reason?

I already wrote one tutorial, but someone edit pacman to pamac. I made decision use pamac now, but of course you can use pacman.

~ >>> pamac install lutris                                                                                                                                                                                                                                
Preparing...
Choose optional dependencies for lutris:
1:  wine: Windows support
2:  vkd3d: Vulkan 3D support
3:  lib32-vkd3d: Vulkan 3D support

Enter a selection (default=none):

What do you suggest? See my profile info for my GPU…
(I already have Steam working with Vulkan support i think)

pamac is the easy Manjaro way of Arch’s pacman and also has a GUI:

(org.manjaro.pamac.manager)

3 Likes

For reasonable power usage and possibly forcing adaptive sync top limit:
AUR: libstrangle-git

For documentation and how-to visit the project page:
https://gitlab.com/torkel104/libstrangle

For people using GOG and Lutris this should be helpful:

Summary

Open Lutris, select the “+” icon in the top-left and select “Import Games…” from the drop-down menu.

Screenshot_20190416_084247.png.4540379f0577f4de610a5193c5b3b6c3.png

In the new window that opens click on the GOG.com tab and then on “Connect your account”.

Screenshot_20190416_084451.png.e32bb5de2c7d2848797e74784375f7d6.png

This will open a login screen for your GOG account (and most likely you will need to provide a 2FA code that will be e-mailed to you after logging in).

Screenshot_20190416_084557.png.a7739385e3af83fdaa0e42b6e8284a5b.png

Once you have added your account you can then import either some or all of your games into Lutris for it to handle future downloads and installs. So, select the ones that you want and press “Import Games”. These games will now be listed in Lutris for you to install.

Screenshot_20190416_085113.png.733f8376a94367fdce88f6eb406f862e.png

Screenshot_20190416_085251.png.9c2338ea74e7f704ed9d5d96d184a817.png

Keep in mind that if these are Windows based games, you will still need to install WINE and any other required dependencies in order for them to install and run.

1 Like

Noob here, how do I know if a package is using prime-run?

and so, to set pcsxr / pcsx2 / ppsspp, are the below codes correct:

prime-run pcsxr

prime-run pcsx2

prime-run ppsspp

Type in the terminal nvidia-smi,every program that use the NVIDIA GPU (prime-run) will appear there.

Yes those are correct.

3 Likes

maybe this’ll help me with my emulators.
Graphics may atleast improve, thanks for this! :grinning:


NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

I’ll see what happens next. Currently, I only have the Hybrid bumblebee Installed and running.
I’m guessing I need that video-nvidia-390xx Installed too.

If you want you can stay with bumblebee,instead of prime-run its primusrun
But you will not have nvidia-smi because thats part of the official NVIDIA driver.

according to your link,

bumblebee detects both cards and automatically selects Intel card by default and can use the Nvidia for more demanding applications.

which means, I have to use primusrun for emulators.
Is there an equivalent command to check which packages are on primusrun too?

I think there is no command to know if the nvidia card is being used with bumblebee,but there is a applet that shows you when the nvidia card is powered on,meaning something is using primusrun,try it.

Thanks mate, this helps, I learned something new, I didn’t know that there’s something like this.
I thought that once I have bumblebee Installed, everything’s good already. I had no idea that I have to primusrun a package first.

I’m back.

This guide seems pretty easy to follow but I had an Issue before with bumblebee trying to set up Nvidia
It appears that bumblebee did not configure Nvidia for primusrun by default.

I mean, I tried to run primusrun for ppsspp but the applet in the notification area isn’t lighting up.

Then I see this Nvidia X Server Settings from my Launcher, after running it.
This showed up.

So I followed it, and did sudo nvidia-xconfig and then a conf has been generated in /etc/X11/xorg.conf


here's the content for xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 390.141  (dvs-builder@U64-P08-12)  Mon Dec 28 16:12:07 UTC 2020

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

After restarting the laptop, My resolution went down to 860x640 and I can’t change it.
In the end I just renamed /etc/X11/xorg.conf to xorg.conf.backup and restarted again.

Now I’m back to zero


inxi --full --verbosity=7 --filter --no-host
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "",
        LC_ALL = (unset),
        LC_ADDRESS = "en_US.UTF-8",
        LC_NAME = "en_US.UTF-8",
        LC_MONETARY = "en_US.UTF-8",
        LC_PAPER = "en_US.UTF-8",
        LC_IDENTIFICATION = "en_US.UTF-8",
        LC_TELEPHONE = "en_US.UTF-8",
        LC_MEASUREMENT = "cic_US.UTF-8",
        LC_TIME = "cic_US.UTF-8",
        LC_NUMERIC = "en_US.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
System:    Kernel: 5.4.108-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.2.0 Desktop: KDE Plasma 5.21.3 tk: Qt 5.15.2 
           info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM Distro: Manjaro Linux base: Arch Linux 
Machine:   Type: Laptop System: Dell product: Inspiron 5558 v: N/A serial: <filter> Chassis: type: 9 serial: <filter> 
           Mobo: Dell model: 0TYKPW v: A00 serial: <filter> UEFI: Dell v: A17 date: 05/14/2019 
Memory:    RAM: total: 7.69 GiB used: 3.09 GiB (40.2%) 
           RAM Report: permissions: Unable to run dmidecode. Root privileges required. 
CPU:       Info: Dual Core model: Intel Core i5-5200U bits: 64 type: MT MCP arch: Broadwell rev: 4 cache: L2: 3 MiB 
           bogomips: 17565 
           Speed: 1940 MHz min/max: 500/2700 MHz Core speeds (MHz): 1: 1940 2: 2316 3: 2124 4: 2186 
           Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_perfmon avx avx2 bmi1 bmi2 bts clflush cmov 
           constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est f16c flexpriority 
           flush_l1d fma fpu fsgsbase fxsr ht ibpb ibrs ida intel_pt invpcid invpcid_single lahf_lm lm mca mce md_clear mmx 
           monitor movbe msr mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse 
           pse36 pti pts rdrand rdseed rdtscp rep_good sdbg sep smap smep ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall 
           tm tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi vpid x2apic xsave xsaveopt xtopology xtpr 
Graphics:  Device-1: Intel HD Graphics 5500 vendor: Dell driver: i915 v: kernel bus-ID: 00:02.0 chip-ID: 8086:1616 
           class-ID: 0300 
           Device-2: NVIDIA GK208BM [GeForce 920M] vendor: Dell driver: N/A bus-ID: 08:00.0 chip-ID: 10de:1299 class-ID: 0302 
           Device-3: Suyin Integrated_Webcam_HD type: USB driver: uvcvideo bus-ID: 2-5:3 chip-ID: 064e:920b class-ID: 0e02 
           serial: <filter> 
           Display: x11 server: X.Org 1.20.10 compositor: kwin_x11 driver: loaded: intel s-res: 1920x1080 s-dpi: 96 
           OpenGL: renderer: Mesa Intel HD Graphics 5500 (BDW GT2) v: 4.6 Mesa 21.0.1 direct render: Yes 
Audio:     Device-1: Intel Broadwell-U Audio vendor: Dell driver: snd_hda_intel v: kernel bus-ID: 00:03.0 chip-ID: 8086:160c 
           class-ID: 0403 
           Device-2: Intel Wildcat Point-LP High Definition Audio vendor: Dell driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 
           chip-ID: 8086:9ca0 class-ID: 0403 
           Device-3: NVIDIA GK208 HDMI/DP Audio driver: snd_hda_intel v: kernel bus-ID: 08:00.1 chip-ID: 10de:0e0f 
           class-ID: 0403 
           Sound Server-1: ALSA v: k5.4.108-1-MANJARO running: yes 
           Sound Server-2: JACK v: 0.125.0 running: no 
           Sound Server-3: PulseAudio v: 14.2 running: yes 
           Sound Server-4: PipeWire v: 0.3.24 running: no 
Network:   Device-1: Intel Wireless 3160 driver: iwlwifi v: kernel port: f040 bus-ID: 06:00.0 chip-ID: 8086:08b3 
           class-ID: 0280 
           IF: wlp6s0 state: up mac: <filter> 
           IP v4: <filter> type: noprefixroute scope: global broadcast: <filter> 
           IP v6: <filter> type: noprefixroute scope: link 
           Device-2: Realtek RTL810xE PCI Express Fast Ethernet vendor: Dell driver: r8169 v: kernel port: e000 
           bus-ID: 07:00.0 chip-ID: 10ec:8136 class-ID: 0200 
           IF: enp7s0 state: down mac: <filter> 
           WAN IP: <filter> 
Bluetooth: Device-1: Intel Bluetooth wireless interface type: USB driver: btusb v: 0.8 bus-ID: 2-6:4 chip-ID: 8087:07dc 
           class-ID: e001 
           Report: This feature requires one of these tools: hciconfig/bt-adapter 
Logical:   Message: No LVM data was found. 
RAID:      Message: No RAID data was found. 
Drives:    Local Storage: total: 1.2 TiB used: 660.24 GiB (53.7%) 
           ID-1: /dev/sda vendor: Toshiba model: MQ01ABD032 size: 298.09 GiB speed: 3.0 Gb/s rotation: 5400 rpm 
           serial: <filter> rev: 2M scheme: MBR 
           ID-2: /dev/sdb vendor: Toshiba model: MQ01ABD100 size: 931.51 GiB speed: 6.0 Gb/s rotation: 5400 rpm 
           serial: <filter> rev: 2D scheme: GPT 
           Message: No Optical or Floppy data was found. 
Partition: ID-1: / size: 915.6 GiB used: 660.24 GiB (72.1%) fs: ext4 dev: /dev/sdb2 label: N/A 
           uuid: dee8bd17-af4e-4dff-9529-672b2a7c0dae 
           ID-2: /boot/efi size: 299.4 MiB used: 312 KiB (0.1%) fs: vfat dev: /dev/sdb1 label: N/A uuid: 4466-B115 
Swap:      Alert: No Swap data was found. 
Unmounted: ID-1: /dev/sda1 size: 50 MiB fs: ntfs label: System Reserved uuid: BEE03B61E03B1ED9 
           ID-2: /dev/sda2 size: 298.04 GiB fs: ntfs label: N/A uuid: 4CFA40C6FA40ADD0 
USB:       Hub-1: 1-0:1 info: Full speed (or root) Hub ports: 2 rev: 2.0 speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
           Hub-2: 1-1:2 info: Intel Integrated Hub ports: 8 rev: 2.0 speed: 480 Mb/s chip-ID: 8087:8001 class-ID: 0900 
           Hub-3: 2-0:1 info: Full speed (or root) Hub ports: 11 rev: 2.0 speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900 
           Device-1: 2-2:2 info: Genius Wireless Mouse type: Mouse driver: hid-generic,usbhid interfaces: 1 rev: 1.1 
           speed: 12 Mb/s power: 100mA chip-ID: 0250:3412 class-ID: 0301 
           Device-2: 2-5:3 info: Suyin Integrated_Webcam_HD type: Video driver: uvcvideo interfaces: 2 rev: 2.0 
           speed: 480 Mb/s power: 500mA chip-ID: 064e:920b class-ID: 0e02 serial: <filter> 
           Device-3: 2-6:4 info: Intel Bluetooth wireless interface type: Bluetooth driver: btusb interfaces: 2 rev: 2.0 
           speed: 12 Mb/s power: 100mA chip-ID: 8087:07dc class-ID: e001 
           Device-4: 2-8:5 info: Realtek RTS5129 Card Reader Controller type: <vendor specific> 
           driver: rtsx_usb,rtsx_usb_ms,rtsx_usb_sdmmc interfaces: 1 rev: 2.0 speed: 480 Mb/s power: 500mA chip-ID: 0bda:0129 
           class-ID: ff00 serial: <filter> 
           Hub-4: 3-0:1 info: Full speed (or root) Hub ports: 4 rev: 3.0 speed: 5 Gb/s chip-ID: 1d6b:0003 class-ID: 0900 
Sensors:   System Temperatures: cpu: 53.0 C mobo: N/A sodimm: SODIMM C 
           Fan Speeds (RPM): cpu: 2800 
Info:      Processes: 193 Uptime: 38m wakeups: 1 Init: systemd v: 247 Compilers: gcc: 10.2.0 Packages: pacman: 1238 
           Shell: Bash v: 5.1.0 running-in: yakuake inxi: 3.3.03

Does it appear that there is no driver for Nvidia according to this inxi?
Should I install Proprietary Drivers for Nvidia?

I just want to make my emulators use Nvidia.


I haven’t tried the official Proton lately, but when i switched to full Linux i had to install Proton-GE instead because some games couldn’t recognize a few keys of my French AZERTY keyboard.