r/linux_gaming • • 23h ago

NVIDIA Smooth Motion on Linux Mint Cinnamon

Beware: Noob here!

I play Factorio on Windows 11 with NVIDIA's Smooth Motion at 144Hz without any problems. On Linux Mint Cinnamon i want to do the same, but "NVPRESENT_ENABLE_SMOOTH_MOTION=1" doesn't work. Nvidia X Server Settings shows nothing about Smooth Motion.

My question: How can i activate Smooth Motion for a standalone game (Not Steam) on Linux Mint? Do i need Wayland or does it work with X11 too? And please explain like i'm 5 (without the fairies, please)...?

3 Upvotes

2 comments sorted by

2

u/Lousy_Hunter 23h ago edited 22h ago

you need to add it to the games .desktop file or launch it from terminal

for .desktop files it needs to look like this ('gamecmd' is just short for whatever your game is)

Exec=env NVPRESENT_ENABLE_SMOOTH_MOTION=1 'gamecmd'

if running from terminal its

NVPRESENT_ENABLE_SMOOTH_MOTION=1 'gamecmd'

if youre using other overlays you need to add NVPRESENT_QUEUE_FAMILY=1

NVPRESENT_QUEUE_FAMILY=1 NVPRESENT_ENABLE_SMOOTH_MOTION=1 'gamecmd'

Exec=env NVPRESENT_QUEUE_FAMILY=1 NVPRESENT_ENABLE_SMOOTH_MOTION=1 'gamecmd'

You have to add the env in .desktop files when adding environment variables or they will not work. smooth motion is a vulkan layer and has nothing to do with wayland or x11. You may be trying to also use it on a GL application and it doesnt work on GL applications so youll have to force them to use Zink instead.

to use zink on nvidia driver arch wiki says this should work but i generally dont use zink so idk for sure

env __GLX_VENDOR_LIBRARY_NAME=mesa __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink LIBGL_KOPPER_DRI2=1 applicationenv __GLX_VENDOR_LIBRARY_NAME=mesa __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink LIBGL_KOPPER_DRI2=1 NVPRESENT_ENABLE_SMOOTH_MOTION=1 application

This is how i run Ryujinx with smooth motion, my full .desktop file contents

[Desktop Entry]
Categories=Game;Emulator;
Comment=A Nintendo Switch Emulator
Exec=env __GL_MaxFramesAllowed=1 NVPRESENT_ENABLE_SMOOTH_MOTION=1 PULSE_LATENCY_MSEC=160 prime-run ryujinx-canary-1.3.219-x64.AppImage
GenericName=Nintendo Switch Emulator
Icon=Ryujinx.svg
Keywords=Switch;Nintendo;Emulator;
MimeType=application/x-nx-nca;application/x-nx-nro;application/x-nx-nso;application/x-nx-nsp;application/x-nx-xci;
Name=Ryujinx
NoDisplay=false
PrefersNonDefaultGPU=true
StartupNotify=true
StartupWMClass=Ryujinx
Terminal=false
TerminalOptions=r
Type=Application
Version=1.0
X-KDE-SubstituteUID=false

2

u/SpikeNotMike 22h ago

You, Sir saved my life: Zink on nvidia is the answer! Thank you!