Hi! I have been enjoying Minetest immensely these last few days but it is simply unplayable on my PC because it is unable to maintain a stable framerate, be it 30 or 60 fps. Sometimes when viewing giant block structures or sometimes at random times the FPS drops to 24 or less and I tried to lower the rendering distance (I think it’s called differently) but although it does improve, it shouldn’t be fixed if my PC is 100% capable of running it well, and in fact on Windows it runs beautifully.
Specs: RTX 3060, Ryzen 5 5600X, 16GB DDR4, SSD.
I thought it was a problem with my distro (Garuda Linux) so I installed another one (KDE Neon) and it’s exactly the same, I also switched from X11 to Wayland and it’s still the same, I honestly don’t know why this happens but it’s not hardware deficiency, also I tried the git version (via AUR), flaptak and snap, the problem persists,
In Windows it works perfectly without any problem, it runs great and with everything set to maximum but in Linux it is simply unplayable.
I would like to add something important, and it is that in Linux none of the compilations uses the GPU to the maximum, according to nvtop it is being used but in very little measure, and it seems that the CPU does everything.
What does
inxi -G
say about your system? If you’re using nouveau, you may have to install the nvidia driver to get the kind of performance you want.Minetest can’t use Wayland if I remember correctly, so it will be run in Xwayland, a special X11 implementation that runs X11 applications in a “wrapper”. This costs performance, so it likely runs worse there.
Stupid question, but: the drivers are installed and utilized?
For my GTX 1080 I have this X11 config file:
$ cat /etc/X11/xorg.conf.d/20-nvidia.conf Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce GTX 1080" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" Option "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On}" Option "AllowIndirectGLXProtocol" "off" Option "TripleBuffer" "on" EndSection
You could also try to add the Nvidia DRM module to your kernel parameters (
nvidia_drm.modeset=1
).Yep, I am using the latest proprietary drivers available in the Ubuntu repos (535) and I will try what you suggest but what does that do?
I set the options because I had issues with screen tearing when moving around windows. It’s a very old setup, though.
- Enabling
ForceCompositionPipeline
andTripleBuffer
pevents screen tearing on my machine when moving windows around - Disabling
AllowIndirectGLXProtocol
is just a performance option. Indirect GLX protocol is slower.
Full options for the driver are available here: http://http.download.nvidia.com/XFree86/Linux-x86_64/535.113.01/README/xconfigoptions.html
Edit Here’s an exhaustive article on the DRM. It basically manages what and when applications can have access to the GPU instead of the applications “fighting” over it.
- Enabling
Echoing what others have said: what drivers are you using? If you’re not running the Nvidia drivers then you’re not going to see good performance.
Oops, I forgot to mention that. I am using the proprietary 535 drivers, in general playing with Wine/Proton I have the expected performance.
That’s too bad… My kids play a lot of 3D games on Linux and they tell me that the 535 driver is terrible. They both run older drivers (470 and 525) to make some games work. Maybe try downgrading the 535 driver?
I’ll add that one of my sons plays Minetest on Ubuntu 22.04 with Nvidia graphics and it works great. So it’s definitely possible. I can check his computer later to see which driver he’s on.
Update: His computer uses Nvidia GeForce GTX 1650 (pretty old) and it’s running driver 525. I just tried Minetest and Mineclone at max settings and they seemed great. No input lag, and no detectable fps issues.