Retroarch on DRM/KMS doesn't work anymore

Yeah, try it I’m sure it will work.

But I don’t know how to revert to an old Mesa on Arch (it’s not in the official repos).

look overhere

I mean, I know how to downgrade package, but I don’t know where I can find an older Mesa for Arch… But thanks anyway ! :slight_smile:

For information, since I can’t use DRM/KMS I used Vulkan in a Gnome Wayland session and the performance is really good ; much better than with Plasma on X.org, and almost what I get on KMS. :slight_smile:

yeah! Vulkan with Wayland is a great, convenient alternative to KMS.

Indeed ; @Brunnis should benchmark the input lag. :stuck_out_tongue:

Hi ! I’m kinda pulling my hair out on this subject !

In my experience : using Lakka / KMS with an Intel integrated GPU gives a really low input lag. (even better with double buffering and frame delay)

Using any DE (KDE in my case), under X, with double buffering gives an OK experience but I can feel a slight lag.

Lag is horrible on a Raspberry Pi IMHO. (except if one uses dispmanx and frame delay but it looks horrible then).

As I have a machine with a good Nvidia GPU but also a correct Intel integrated GPU, which one should I use ? It’s tricky because…

  • the Nvidia blobs supposedly support KMS but Retroarch segfaults when starting it from the console (it was also behaving strangely with Intel when started from the Ubuntu console and not Lakka)

  • I could use Lakka but it doesn’t come with the nvidia proprietary drivers so it means I’d have to drop my nvidia card and use the intel gpu instead

  • I could use Wayland but it seems there are politics involved regarding Wayland, KDE/kwin & nvidia blobs and I don’t really want to switch to GNOME.

  • Could I could continue to use KDE/kwin over X with my nvidia card and make Lakka use the intel chipset ?

It seems difficult to combine all the advantages (keep KDE, keep my nvidia card and have a low input lag).

What do you think ?

The Wayland context has some of the same advantages as KMS and “feels” almost as snappy in subjective testing (no one has done any objective tests of it vs KMS and/or X AFAIK).

I think Lakka typically has issues with Optimus GPU switching and defaults to the Intel GPU anyway(?), so if that’s the case and you’re dual-booting, I think that should get you covered. You won’t be able to run the most demanding shaders, obviously, but anything after Sandy Bridge HD3000 should handle most of them just fine.

1 Like

Hi ! Thanks for the reply ! Hmm, yeah dual boot would be a satisfying compromise, then. (or downgrade to Intel-only and use it under KDE in the wayland session).

My only concern is that the nvidia gpu overheats if Lakka doesn’t disable it.

thanks for the replies ! :slight_smile:

Oh, BTW, I’m getting quite offtopic, but as we are assessing the option to reduce input lag… Does the Vulkan output improve the situation, even over an X session ? I tried to switch to Vulkan, (X/KDE/Nvidia) but it always segfaults…

Edit : I opened a distinct topic about this segfault. After comparing performance with the nvidia & intel gpus, I decided to settle with the nvidia, as the intel one chokes with big shaders.

Hunterk: I’m googling quite a lot and didn’t manage to figure out if the recent NVIDIA proprietary drivers are supposed to work with retroarch in kms mode (and/or Vulkan).

Can anyone enlighten me ?

I’m pretty sure they don’t. I believe you still have to use nouveau for it.

Yes for now you have to use open source driver so nouveau. The support of DRM/KMS in nvidia driver is still premature.

Okay, thank you both ! At least, it’s promising for the future. Thanks !

Oh, do your comments also apply to the Vulkan API (segfault in my case) ? At least this would enable to switch to double buffering…

Vulkan has its own KMS-type environment but I don’t think we support it…?

I’m really just a dumb user, but in a blog artcle on libretro.com, the Vulkan API was mentioned as a way to reduce input lag by making it possible to apply double buffering (apart from the fact it’s obviously a lower level API). I thought that was Vulkan over X (like the Feral games ports) but I’m not sure that was specified.

Edit : here is the relevant post : https://www.libretro.com/index.php/retroarch-1-3-6-released/

Oh nice, we do support VK_KHR_display.

Yes, you can set the max swapchain images with vulkan and it should potentially reduce latency vs just letting the OS/GPU do whatever it wants.

From the nvidia driver readme : “The Vulkan WSI extensions VK_KHR_display and VK_KHR_display_swapchain define how to present in the absense of a window system, which is interesting in the context of the following sections.”

Very cool, it should work. I have to find a workaround this segfault. Maybe I’ll eventually try to recompile RA or another distro. (KDE Neon here based on Ubuntu 16.04)

So, in order to make use of VK_KHR_display, I should also start retroarch from the console or from X ?

Thanks again for your nice replies :slight_smile:

Here is what I get before the segfault : ERROR] [Vulkan]: Failed to open Vulkan loader. [ERROR] [Vulkan]: Failed to create Vulkan context. [INFO] [Vulkan]: Detecting screen resolution 320x240. [INFO] [Vulkan]: Using resolution 320x240 [INFO] [Vulkan]: Using RGB565 format.

From console, with your XServer killed, I think.