With GeForceNow now being available for Linux we can now use the service with optimal performance.
Unfortunately Nvidia only officially supports SteamDeck and during getting this to work on my systems I had to get through some hoops that i want to share here.
First of all the app Nvidia provided is just a normal Flatpak app so the installation is relatively straight forward.
We will not use the official binary that Nvidia proved here, we can install the Flatpak app ourselves.
Just for reference im on PopOs 22.04 but since this is a flatpak it should work the same for everyone.
The guide assumes you have a working flatpak installation.
First install the runtime that GeForceNow uses, high chance that this is already installed.
The official installer installs this with the --system flag but I find this unnecessary so we install it as user like everything else.
flatpak install --user flathub org.freedesktop.Sdk//24.08flatpak remote-add --user --if-not-exists GeForceNOW https://international.download.nvidia.com/GFNLinux/flatpak/geforcenow.flatpakrepoflatpak install --user GeForceNOW com.nvidia.geforcenowThat's it you should now be able to launch the app.
Some issues I encountered and how I worked around them.
I encountered while testing this in a VM. The application failed because some GPU features where not available. On real hardware I had no issues. However, if you encounter that check these log files.
cat ~/.var/app/com.nvidia.geforcenow/.local/state/NVIDIA/GeForceNOW/geronimo.log
cat ~/.var/app/com.nvidia.geforcenow/.local/state/NVIDIA/GeForceNOW/GeForceNOW.logI'm on a full AMD system, I could imagine Nvidia GPUs might make some trouble since the SteamDeck uses AMD.
This is because GeForceNow is failing to open the hosts browser. Luckily Nvidia writes the oauth url it wants to open into a logfile.
You can extract the line with this command.
tac ~/.var/app/com.nvidia.geforcenow/.local/state/NVIDIA/GeForceNOW/console.log | grep starfleet/o-auth | head -n 1Then paste it into your browser and continue as you would normally.
For me the Network Test always failed and claimed there was no connection to Nvidia servers. Even though the app was clearly online. I'm usure why this happens. What I ended up doing is:
- Click the Burger Menu on the Left Top Corner
- Go to Settings
- Gameplay
- Change Streaming Quality Mode to Custom
This will skip the network check.
When the GeForceNow App is not opening and you are under wayland try removing the wayland permission from the flatpak to force it thorough XWayland.
flatpak override --user --nosocket=wayland com.nvidia.geforcenow Thats it, for me it worked flawlessly afterwards. If you have any additional issues and fixes write them in the comments so we can update the Gist.
Tip: you can remap controller buttons (specifically to swap A/B and X/Y) by setting the
SDL_GAMECONTROLLERCONFIGenvironment variable. The example below is for the8BitDo Pro 3 Receiver, but you will need to generate a unique mapping string if you are using a different controller (eg. withjstest-sdl)Note: GeForceNow uses an embedded version of libSDL2.so. So, the mapping string required here might differ from strings generated, if your tools use SDL3 or an SDL3-to-2 shim.
alias gfnow='flatpak run "--env=SDL_GAMECONTROLLERCONFIG=03000000c82d00000b31000000010000,*,a:b1,b:b0,x:b3,y:b2,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,crc:b6f6,platform:Linux" com.nvidia.geforcenow'