Help with KMS linux?

These questions are pretty super basic, but I am having trouble googling these terms, because most of the literature is about servers not about retrogaming. Even if all I get are better key words to search on that would be an immense help.

I want to do the full no lag emulation experience and KMS seems to be a part of that. I know vaguely what KMS is, but I don’t know how to enable it, or what the restrictions are, or what distro I should choose. I have some experience with linux but I am not guru. I also want to do the the 15khz thing with super resolutions to my CRT TV, so I am wondering if I can do KMS and all of that at the same time. A point in the right direction would help me a lot, thank you.

You don’t really have to do much to use KMS/EGL. Basically just use an open-source driver and try to run RetroArch without a windowing server (X or Wayland) running.

I’m a bit foggy on whether KMS mode is compatible with 15 khz res/refresh switching, as that is usually done through X using xrandr API, but I recall there being some submissions related to it fairly recently, so it may function better now. Not sure. :man_shrugging:

@KristopherTadlock what you want is already possible with using EDID, I did myself a couple of years ago. you can install a linux distro without a desktop environment and without xorg and it worked really well. every EDID represents a certain resolution i.e. 320x240. However, switching between this modes didn’t work (at least I didn’t know how to) which is troublesome for many playstation, n64 etc games, because they use both interlaced as progressive resolutions, as you probably.

Luckily @Alphanu invented and implemented CRTSwitchres in Retroarch and it’s ‘officialy’ part of it now. On Linux it switches to any modeline the core demands. On Windows the process is more troublesome as you have to do stuff manually.

Crtswitchres works best with AMD/ATI cards, but also with NVidia and Intel GPU’s, however the latter don’t support native resolutions if I’m not wrong. CRTSwitchRes uses X11, and does not support KMS at the moment.

However, Alphanu is working on KMS CrtSwitchRes for some time, I think exactly what you are looking: DRMKMS display server. Kernel mode switching for CRTSwitchRes I’m really looking forward to this feature, as it hopefully comes close to seemless switching and you don’t have the desktop bloat and can create a close to perfect dedicated emulation machine.

Just as a side note to @redturtle message. You don’t need a full desktop environment setup. You can install xorg for X11 compatibility then just run “startx ./retroarch”. Then RetroArch is basically your desktop environment, removing a load of the overhead.

You may have to change some setting in your xorg config. and you can add “startx retroatch” to rc.local if you have setup autologin.

2 Likes