RetroArch - Native CRT Support


Lakka/RetroArch OS uses KMS mode for everything if I understand correctly.

Edit: I am not suggesting that KMS mode is within the scope of any of these projects or bounties.


@markwkidd Yeah you are correct there. If this patch works for standard Linux it could work for Lakka. This will help open the doors for RPi too. Currently I’m looking into a full implementation of X on RPi.

Would the Lakka devs be interested in add X support?


I think Lakka is trying to move away from X as a long-term dependency. That doesn’t mean a patch from you wouldn’t be welcome in the short term.


I have been testing superwide in Linux. Using the gl video driver, content will usually freeze on startup. If not at first, then it freezes after picking a second game or shortly after entering the menu. I am able to force close retroarch, but then my desktop becomes unresponsive.

Using the SDL2 video driver, everything is stable and content runs reliably. The problem with the SDL2 video driver is that shaders seem to be unsupported, and I need to use the image-adjustment shader for this particular TV!

Is anyone experiencing similar issues or can offer some insight?



I picked up 4 crt monitors for free on eBay recently. If you happen to live near west London you’re very welcome to have one of them! Ive also seen them on Gumtree, but again only if you’re in the UK.

A small tip if you’re looking for crts from online ‘markets’; try searching for ‘old style tv’ or ‘old style computer monitor’, as opposed to ‘crt tv/monitor’. In my experience sellers who list as ‘old style’ either don’t appreciate the value of these devices(and therefore sell cheaply) or don’t care about the price. Too often I see ‘crt tv/monitor’ ads where the seller has seen an opportunity to sell to a niche market at grossly inflated prices.

My 10c worth :grin:



First of all, congratulations for your great work!

I’m having issues when running PAL games on Beetle Saturn. The image is being squashed on the vertical. Actually it doesn’t switch to super resolution. This does not happens with NTSC games.

I have installed all the PAL modelines with static table and set last PAL line to 279 as suggested here: 15 khz CRT documentation wiki

Worth mentioning that the mednafen fork made by the user silmalik (available at,155264.0.html) runs fine these PAL games with super resolution.

Thank you!


Hi @purity1516 pal games are all working fine. It’s All about the setup on the resolutions and in core options.

For psx I think the start scan line needs to be on 16 and make sure overscan is turned off.

@Retrorepair @Abwezi can you guys sheed light on these setting.


Since I don’t have a TV that supports 50hz I don’t really have much to offer sorry. The few PAL games I play such as the PAL Gex games for the voice acting and 40 Winks N64 proto that is only in PAL. I personally for those few games have just been making an override to turn switchres off and set my own custom vertical viewport so I can just crop the game into a regular ntsc resolution and force it to 60hz. For example I think I run Gex 3d with a 252 px high viewport and that lets me play cropped at 240p with no artifacting. Unfortunately interlaced and progressive switching wouldn’t work then but the few PAL games I play don’t make much use of interlacing


Is this on Windows or Linux?


I am using Linux. After building from the latest commit of MME4CRT, RetroArch shows only a black screen on startup. Tried switching video drivers and using a new retroarch.cfg, but I get the same result.


Hi @soulnet

There are a few bugs that still need working out here. What games and cores have you tried and more importantly that hardware are you running. A lot of things are fixed on my git but have not been merged yet.

Http:// give it a try and let me know how you get on.


After compiling the MME4CRT_GA fork, the gl video driver seems to be working correctly. I was only able to test a few games with the beetle_psx core, but had no problems. I look forward to testing more cores this weekend when I have more time. Great work Alphanu


Hey @Harrytoons

I am from the UK but my issue is space, I looking for a small 31khz CRT. If you can help out with that, that would be great.

To be fair I am still sorting out a few bug with Linux anyway so there is no real rush for one.


I also have a 31khz CRT I can test with when the time comes if you need any help


Just to clarify, by 31khz support do you mean that if the resolution for a game were 2560 x 224 on 15khz, the res would be automatically switched to 2560 x 448 on a 31khz monitor? (similar to how groovymame handles 31khz)

If this is the case, I would be happy to help you test this, as I have a couple of 31 khz monitors.


Just wanted to pop by and first say thanks for working on this.

I wanted to say that I’m seeing the same issue soulnet saw in Linux. I’m using the main RetroArch nightly from 05/20/18 I’m actually on Windows and my machine is an old laptop with an A6 APU that has the CRT_Emudriver V2 installed. I added all the suggested super resolutions including the PAL ones. I’m seeing 2 issues:

  1. Using the GL driver when I first open RetroArch, it seems to freeze for about 5 seconds. It also will freeze for 5 seconds or so when changing a resolution while a core is running. Using D3D11, I don’t see this issue. This is most noticeable when starting a PSX game. Everything works, it’s just slow using the GL driver due to the pause after a res switch.
  2. After opening a 2nd game from the same core/res the resolution switches back to the interlaced menu resolution. The game is then interlaced and in the wrong aspect ratio. If I goto “close content” before opening a 2nd game then I don’t have any issue. Also I tried a fresh config and then later a fresh config and install just to make sure I didn’t have some setting wrong. This also appeared for me when using both GL and D3D11.

I’ll try to see if compiling your branch fixes the issue for me as well but wanted to corroborate that I saw something similar. I’ll probably just switch over to your fork anyways since I really like this feature. Thanks again.


Would someone tell me how to build the linux patched the 15khz,it is too difficult to use the linuxmint and ubuntu. I succeed in win7 and the groovymame is nice.but the retroarch is not perfect. Must I install the xf86-video-ati? I have fond three kind of 15khz patch but I dont konw which one is right.


@yuuyuubaishu You don’t need a patched kernel to run it. The kernel patch is just to be able to see the boot screen. All you need to do is set a desktop res on boot with xrandr. However, you can use the Groveyarcade ISO, its Linux Arch but with a pre-patched kernel once setup you will need to go to ga-setup and change the options to load the desktop environment instead of whacade.


I’m not sure why this would introduce any freezing or delay when switch. Turn off the option to pause in background. I know that on slower machines there is a delay in loading the core and game for cores like bsnes.

For note 2 there was an issue that caused this way back as well as aspect problems when staying in the same core. but it was fixed. The only reason for resolutions not switching correctly would be that there not installed. what cores and games have you noticed this on?


This is the idea. However, increasing the image size may have some unwanted effects . I am toying with some ideas, one being scanlines. Making them double size but not the rest!?

I have not done much work on it yet as I need to finish my end of module assignment first. its due the end of the month so I will start working on it then.