Skip to content

Commit 5f5162b

Browse files
Adding article for running Steam with Nvidia GPU on ParrotOS
1 parent 9ab9839 commit 5f5162b

1 file changed

Lines changed: 181 additions & 0 deletions

File tree

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
---
2+
description: >-
3+
A guide on running Steam games with an Nvidia GPU on ParrotOS 6.4.
4+
title: "Running Steam games with an Nvidia GPU on ParrotOS 6.4"
5+
categories: [Walkthrough, Guide, Tutorial, ParrotOS, Gaming, Linux, Nvidia]
6+
tags: [walkthrough, guide, tutorial, parrotos, gaming, steam, linux, nvidia, gpu, discrete, dedicated]
7+
date: 2026-01-01 20:15 -0500
8+
---
9+
## Introduction
10+
This guide documents the steps that I took to install and run Steam games on my computer that has an integrated graphics card and a dedicated Nvidia graphics card.
11+
12+
Historically, the easiest ways to install Steam were to use the official .deb package from Steam's website or use apt, but ParrotOS no longer supports 32-bit binaries which the traditional Steam installer requires. I installed and ran Steam using flatpak.
13+
14+
While the steps that I took worked for me, your mileage may vary and I recommend that you properly back up your data before making any changes to your system!
15+
16+
The ParrotOS discord server has some very knowledgeable people in there, and I recommend posting there if you have questions or run into a problem that you are stuck on.
17+
## Installing Nvidia drivers
18+
Before installing Steam, I installed drivers for my graphics card. I'm not entirely sure if it was necessary for me to use Nvidia's proprietary drivers instead of the open-source nouveau drivers, but I will explain why I did this later on.
19+
20+
Create a config file to block the open-source nouveau driver from running
21+
```shell
22+
sudo bash -c 'echo -e -n "blacklist nouveau\noptions nouveau modeset=0\nalias nouveau off" > /etc/modprobe.d/blacklist-nouveau.conf'
23+
```
24+
25+
Check for apt repository updates and install the proprietary Nvidia drivers
26+
```shell
27+
sudo apt update && sudo apt install nvidia-driver
28+
```
29+
30+
Reboot your machine
31+
32+
Display graphics card information and validate that the proprietary Nvidia drivers are in use
33+
```shell
34+
inxi -G
35+
```
36+
There should be a string that says "driver: nvidia" rather than "driver: nouveau"
37+
Make note of the version number that is specified after "v: " as this will be needed later
38+
39+
If you would like to display additional information about your GPU and that applications that are using it, install and run the Nvidia System Management Interface
40+
```shell
41+
sudo apt install nvidia-smi
42+
watch nvidia-smi
43+
```
44+
45+
## Geting GPU environment variables & switching between GPUs for applications
46+
switcheroo-control is a tool that can be used to list GPU-specific environment variables that can be set when running an application. It can also be used to execute a program using a specific GPU, however I was not able to get this working with flatpak and did not spend a lot of time troubleshooting this since using environment variables worked for me.
47+
48+
Install switcheroo-control
49+
```shell
50+
sudo apt install switcheroo-control
51+
```
52+
53+
List available GPUs and make a note of the environment variables listed for the Nvidia GPU
54+
```shell
55+
switcherooctl --list
56+
```
57+
58+
In my case, the environment variables were
59+
```
60+
__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only
61+
```
62+
63+
## Installing Steam
64+
Install flatpak
65+
```shell
66+
sudo apt install flatpak
67+
```
68+
69+
Install the flathub repository (this is where Steam and the Nvidia flatpak packages will be pulled from)
70+
```shell
71+
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
72+
```
73+
74+
Install Steam
75+
```shell
76+
flatpak install flathub com.valvesoftware.Steam
77+
```
78+
79+
The Steam flatpak installer should prompt to install the necessary flatpak packages, including the Nvidia flatpaks.
80+
81+
Confirm if the Nvidia flatpaks are installed
82+
```shell
83+
flatpak list --columns=application:f | grep org.freedesktop.Platform.GL.nvidia
84+
flatpak list --columns=application:f | grep org.freedesktop.Platform.GL32.nvidia
85+
```
86+
Output returned for both commands would indicate that the Nvidia flatpaks are installed.
87+
88+
If no packages are returned in either of the above command outputs, this is where it comes in handy to know the Nvidia driver version that is installed on your system.
89+
For example, if you have driver version 535.247.01 installed, then you would want to install these flatpak packages:
90+
```shell
91+
flatpak install flathub org.freedesktop.Platform.GL.nvidia-535-247-01
92+
flatpak install flathub org.freedesktop.Platform.GL32.nvidia-535-247-01
93+
```
94+
The format of the Nvidia package naming is `org.freedesktop.Platform.GL.nvidia-` with the version appended, but the periods are replaced with hyphens
95+
96+
## Running Steam
97+
There are at least a couple different ways to run Steam; each are valid and it really comes down to a matter of preference on which one you use (I personally use method 2).
98+
### Method 1: Setting environment variables at program execution
99+
This will temporarily set the GPU environment variables when running the flatpak Steam process:
100+
```shell
101+
__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only flatpak run com.valvesoftware.Steam
102+
```
103+
**Note:** The environment variables that you need to use may be different. Refer to the earlier ```switcherooctl --list``` command.
104+
105+
### Method 2: Setting environment variables in flatpak for the Steam package
106+
This will permanently configure the environment variables that need to be set when running Steam. Each environment variable is set using the ```--env``` parameter.
107+
```shell
108+
sudo flatpak override --env="__GLX_VENDOR_LIBRARY_NAME=nvidia" --env="__NV_PRIME_RENDER_OFFLOAD=1" --env="__VK_LAYER_NV_optimus=NVIDIA_only" com.valvesoftware.Steam
109+
```
110+
**Note:** The environment variables that you need to use may be different. Refer to the earlier ```switcherooctl --list``` command.
111+
112+
Verify that the environment variables have been set
113+
```shell
114+
flatpak override --show com.valvesoftware.Steam
115+
```
116+
117+
Run Steam
118+
```shell
119+
flatpak run com.valvesoftware.Steam
120+
```
121+
122+
To remove the environment variables
123+
```shell
124+
sudo flatpak override --reset com.valvesoftware.Steam
125+
```
126+
127+
## Creating desktop shorcuts
128+
If you would like to create a desktop shortcut to run Steam, here are some examples. The important part is the `Exec` line which contains the command to run.
129+
130+
### Method 1
131+
If you used method 1 in the Running Steam section above, use this to create a desktop shortcut
132+
```shell
133+
cat > ~/Desktop/Steam.desktop << EOF
134+
#!/usr/bin/env xdg-open
135+
[Desktop Entry]
136+
Version=1.0
137+
Type=Application
138+
Terminal=false
139+
Name[en_US]=Steam
140+
Exec=env __GLX_VENDOR_LIBRARY_NAME=nvidia env __NV_PRIME_RENDER_OFFLOAD=1 env __VK_LAYER_NV_optimus=NVIDIA_only flatpak run com.valvesoftware.Steam
141+
Name=Steam
142+
EOF
143+
```
144+
145+
### Method 2
146+
If you used method 2 in the Running Steam section above, use this to create a desktop shortcut
147+
```shell
148+
cat > ~/Desktop/Steam.desktop << EOF
149+
#!/usr/bin/env xdg-open
150+
[Desktop Entry]
151+
Version=1.0
152+
Type=Application
153+
Terminal=false
154+
Name[en_US]=Steam
155+
Exec=flatpak run com.valvesoftware.Steam
156+
Name=Steam
157+
EOF
158+
```
159+
160+
## Running Steam games
161+
I did not experience any issues when attempting to download and install Steam games, however, when attempting to run them, I found that the Proton version used was crucial.
162+
I had to use Proton version 9 or version 10 to run my games, otherwise they would error out at runtime.
163+
164+
To change the Proton version used for all Steam games:
165+
1. Click on the Steam menu in the top-left of your Steam window
166+
2. Choose Settings
167+
3. Go to the Compatibility tab
168+
4. Set the desired Proton version in the `Default compatibility list` drop-down menu
169+
170+
To change the Proton version used for a specific game:
171+
1. Go to your Steam library
172+
2. Right-click on the game and click on Properties in the menu that appears
173+
3. Go to the Compatibility tab
174+
4. Check the `Force the use of a specific Steam Play compatibility tool` checkbox
175+
5. Set the desired Proton version in the drop-down menu
176+
177+
## References
178+
[https://www.parrotsec.org/docs/configuration/nvidia-drivers/](https://www.parrotsec.org/docs/configuration/nvidia-drivers/)
179+
[ParrotOS Discord](https://discord.gg/j7QTaCzAsm)
180+
[https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/optimus-laptops-and-multi-gpu-desktop-systems.html](https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/optimus-laptops-and-multi-gpu-desktop-systems.html)
181+
[https://docs.flatpak.org/en/latest/](https://docs.flatpak.org/en/latest/)

0 commit comments

Comments
 (0)