It’s been a while since I last played with RetroArch, but I just got my new Intel NUC to use as a HTPC and decided it was time to check it out again. Loaded up Arch Linux and started playing with my favourite cores/games. To my surprise there was still a bit of input lag even with a fast i5 and using light weight snes9x core. As I was looking at the configuration options for a remedy, I noticed that the video_gl_context description mentions KMS-EGL as a driver. The NUC has an Intel HD4000 GPU which has proper EGL and KMS support. Worth a shot I think, as emulation directly on the framebuffer supposedly can remedy this problem
So I stop my X server and fire up RetroArch. Mind = blown. The emulated games come to life and play just like they were intended to. Actually they are improved from the original, the scrolling is 100% smooth, no tearing or frames dropped at all, input lag is non-existent (very important for retro gaming, you can’t play Super Mario when the Mario jumps 1 second after you press the button). Combined with a nice CRT shader, playing retro games on the bigscreen with decent sound is very cool. The KMS/EGL driver works great with all the cores I tested. Amazing difference really.
So big thanks to TheMaister for coding this stuff. I wish all emulators could output to KMS/EGL, it’s definitely the future of emulation. I decided to post about it since I haven’t really seen any mention of it anywhere and it’s just so much better than X11.
Tested cores: bsnes, desmume, fba, mame078, mednafen-psx, pcsx_rearmed Test setup: Intel NUC DC53427HYE, Arch Linux, 3.11-rc1 kernel, Mesa 9.2 git, RetroArch/cores from git.
Now I’m off to play some more