Fixing Steam and gaming on Linux
Posted on 27 May 2026, 14:14 - Updated on 27 May 2026, 14:42
It was all done with IA. I know nothing about Linux for now. But I learned some stuff along the way.
The other day I wanted to play Conan Exiles on a friend' server. He told me about it and the "Enhanced" rework Funcom did on the game. I was excited and decided I'll play this weekend.
On Saturday, I launch Steam, and Steam don't start. It's weird. It just doesn't open. I decide to launch it with the command line to see logs and have an idea of what is going on. Steam is trying to install an update, but get stuck at around 15%. I decide to kill the process and try again, same problem. I reboot my computer, same problem. I don't know what to do so I decide to install Steam via Flatpak. And there it works!
A perfect gaming weekend
I spend my weekend playing games with my friends, everything is fine. On Monday, I decide to start Crusader King 3 to show my save to someone. That's when the troubles began. CK3 use the Paradox Launcher to start and previously I want playing CK3 using Steam installed in my computer, not the one installed with Flatpak which mean the game couldn't find my saves.
After an hour of trying to move around my saves so they can be detected, I decide to ditch Flatpak completely and fix my Steam install. I remove Flatpak, backup my steam files and my CK3 saves.
The beginning of a whole adventure
First things first. I know I have no idea of what I'm about to do. It's all trailblazing now. So I decided to get help from IA to help me understand what is going on and tell me which commands to run. Of course I didnt' followed blindly (yes I did), I used explainshell.com when I didn't know what the command was supposed to do.
I explain my situation, and apparently I was missing 32 bits packages for steam and nvidia.
sudo pacman -Syu nvidia-open nvidia-utils nvidia-settings lib32-nvidia-utils opencl-nvidia vulkan-intel intel-media-driver libva-intel-driver switcheroo-control
I install nvidia-prime to be able to run programs directly on the Nvidia GPU. Spoiler alert: it didn't helped and wasn't very useful. I removed it down the road.
I check the mkninitcpio.conf to be sure that all the nvidia packages are there. They are. So far so good. I update the list to include xe at the beginning to be able to use it when I don't run games.
Time for another test. I run Conan Exiles, hoping for the best and of course, the graphic card run out of memory again. I find it weird, because I launch the game using prime-run steam to force it onto the graphic card.
Change of tactic
I'm going back to a clean state and undo my changes. I'm gonna do things differently. My computer was running the game fine last weekend, so something must be wrong with the config. Maybe the steam game don't have any guardrails or it's trying to run on the Intel Arc graphic integrated to the CPU.
I want to force the usage of the Nvidia card and put my computer in performance power mode.
I discover the very useful lspci command. Here is what my VGA and 3D device looks like:
00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Arc Graphics] (rev 08)
Subsystem: Lenovo Device 50ea
Kernel driver in use: xe
Kernel modules: i915, xe
--
01:00.0 3D controller: NVIDIA Corporation AD107GLM [RTX 500 Ada Generation Laptop GPU] (rev a1)
Subsystem: Lenovo Device 50ea
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
I can see I have an integrated Intel graphic card and an Nvidia laptop GPU. I'm gonna monitor my graphic cards with nvtop, and stress test them with vkmark to see what's happening.
After some tests, I realize the Nvidia card is never used. I check the address of the cards using cat /sys/class/drm/card0/device/vendor on card0, card1 and card2. I discover that the card address at card0 for Intel and card1 for Nvidia.
I update the Hyprland config file to use Intel Arc by default and then the Nvidia card under heavy load with this:
# bind Intel Arc as primary and exposes NVIDIA RTX 500 for offloading
env = AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1
I try to run vkmark by passing the vulkan vendor for nvidia. The graphic card is now being used! VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json vkmark
I update the Steam command to setup the vulkan vendor for Nvidia.
I now install gamemode to optimize the game running. I update the Steam launch command to run with gamemode.
Sadly, even with all those changes, I still get Out of Memory on my graphic card.
The culprit
It's fucking Unreal Engine. My graphic card has 4Gb of VRAM, and the Unreal Engine 5 eats it all so fast.
So we passed an argument when starting Conan Exiles, to make it think as if my graphic card has 6GB of VRAM to avoid OOM crashes. When Unreal Engine needs more VRAM, it will use my swapfile.
Over optimizing everything
Along the way I decide to make a break and optimize everything. I want to setup my graphic card so that for everyday tasks, my computer only use the Integrated Intel Arc. I can do that by putting the Nvidia driver to put the card into a deep sleep state when it's not used.
# File: /etc/modprobe.d/nvidia.conf
options nvidia NVreg_DynamicPowerManagement=0x02
I setup udev rules to tell the kernel to keep the graphic card sleeping until it's needed.
# File: /etc/udev/rules.d/80-nvidia-pm.rules
# Enable runtime power management for NVIDIA VGA controllers
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", ATTR{power/control}="auto"
# Enable runtime power management for NVIDIA Audio controllers (HDMI audio)
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{power/control}="auto"
I also pin the SDDM to use the Intel Arc graphic:
# File: /etc/sddm.conf.d/sddm-env.conf
AQ_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1
Now I'm only using my Intel Arc for everyday tasks and only my Nvidia graphic card for heavy graphical process. As my graphic card is basically shutdown unless I do something, it's temperature and power consumption dropped drastically. My computer is now super silent !
Updates
The game crashed once again. To get more informations, as I was playing, I run a command to log the use of the graphic cards:
nvidia-smi --query-gpu=timestamp,utilization.gpu,utilization.memory,memory.total,memory.used,memory.free,temperature.gpu,power.draw --format=csv -lms 200 > ~/nvidia_crash_log.csv
This time, the game didn't crashed. I suspect it's because there is a lot of items to display and the tavern was suspicious. So I removed the tavern and decorative objects. It worked fine and was able to play for 30mn.
Side note: apparently, you cannot set the size of the graphical device memory using dxgi.maxDeviceMemory for Conan Exiles Enhanced because it's not available with Direct X12.
I updated the command in steam:
gamemoderun VKD3D_CONFIG=no_upload_h_vram,single_queue PROTON_USE_NTSYNC=1 __GL_THREADED_OPTIMIZATIONS=1 PROTON_ENABLE_NVAPI=1 PROTON_HIDE_NVIDIA_GPU=0 %command% -useallavailablecores -skipintro -ExecCmds="r.Lumen.Reflections.Allow 0, r.SSR.Quality 0, r.BloomQuality 1"
The end
It's working fine now. I discovered a lot about graphic cards in Linux, monitoring of graphic card usage (I've really been mesmered by nvtop) and commands to list the hardware available. I couldn't have done this myself without using IA. It leave a sour taste in my mouth. But also, it was like having someone who actually know Linux and gaming next to me that helped me debug.
Don't believe everything the IA say. It's full of mistakes and unnecessary steps. My advice is to go step by step, ask for verification and double check everything. Thanks for reading until now. I'm not sure this article would be very helpful if someone tries to fix their setup. But if you do, good luck!