RetroArch - Native CRT Support

Im not sure whats happening.

My Pi3 has a QuadCore CPU clocked at 1535Mhz and a shitty on chip GPU and runs my N64 games better. My Dual Core 3.2Ghz is struggling with N64 ALOT. Even the screen in F-Zero where you just pick the track is lagging like hell. I also tried the other gfx plugins but the performance is absolutly the same. Shitty but the same…

Not sure if its the emulator or my hardware… Im using glupen64 with my PI but i cant test und compare it on my dual core cpu system because of the mentioned slowdown three seconds after starting the Game…

Im going to replace my main PC early next year and i could use my desktop PC for emulation then but i prefer to use the small form factor optiplex i bought cheap from ebay…fits perfectly under my TV table (same size as my NES) could upgrade it with 3ghz quadcore cpu but not sure if this will fix my performance problem…Metroid Prime already runs with 45fps … my system isnt that slow.

Maybe you should try to launch N64 games with a standalone emulator. I think cores are optimised depending the hardware you are using, so it’s not surprising you are experiencing slowdowns with N64 and not gc for instance.

Yeah, even tho it has it charm to navigate all your emulators and games via a GUI…hope there will be a cool frontend that is usable with CRTres switch on (or is there already one for windows machines?).

I ordered a 3 Ghz Quadcore CPU for 30 euro on ebay. Hopefully i can get the 10-15fps im missing with it. Dolphin recommends Quadcore with high as possible clockspeed. Two cores for emulation only and the other two for everything else going on with the system…hopefully it will also help with my N64 problem (even tho i still think i failed configurating it properly).

By the way: Is there a way to implement “Latency” settings into the gamespecific cfg file you can create? My games need different run ahead values between 1 and 3 frames and its kinda annoying to always adjust it.

@Alphanu have you tried the Atari800 core with switchres? It is not changing to a superwide resolution here. Is there any specific resolution for it?

1 Like

hi! can anyone tell me if raspberry pi supports this res switching stuff, yet? i know the pi’s GPU has an api which supports run-time crt timing changes, but it’s a unique api, so would need a special code path.

if it hasn’t been done, maybe i can assist? i am looking for an excuse to pick up a CRT.

1 Like

It should work fine anywhere with an X server running. As far as I know, the composite output doesn’t provide very granular timing controls, but I’d love to be proved wrong. :slight_smile:

in lakka or retropie i don’t think you’re using x server - you’re outputting directly to the framebuffer, right?

As far as I know, the composite output doesn’t provide very granular timing controls, but I’d love to be proved wrong

this thread gives some examples of how to update the HDMI timings via runtime:

not composite, i know, but i believe this technique is chiefly used for the RGB/composite/svideo hat adapters like the retrotink, so i think it’s the kind of thing that the crt switch res stuff could usefully hook into.

i think you might be right about the composite timings. i wonder if that’s something that could be requested at the above github, or whether it’s a hardware limit?

i don’t have this hardware to test so i might be getting the wrong end of the stick, here :slight_smile:

Well I finally spent some time on setting it up this weekend and using windows 10 I ran into some issues.

#1. I couldn’t get arcade OSD to set up the testing so I could get change overscan and center position for any of the modelines.

#2. High dpi/full screen optimization kept messing things up, so that had to be disabled.

#3. Not sure if anyone else has this issue, but with vsync on games get synced to 60.00hz. I had hoped I could get custom refreshes going and turn my crt into a poor man’s vrr screen.

#4. MAME locks up retroarch and makes everything unresponsive. Same roms in fba work fine so I believe it has to do with the setup.

Aside from that it looks great with fba and the consoles. If anyone has any ideas on what I could try, please let me know. Had anyone else gotten arcadeosd to work in windows 10 fully?

Hi,

It can be done. I have created a custom Rasbian build with full X11 server. There are still many kinks that need working out though. Other than that it switches, looks and runs lovely.

@hunterk Composite is not the way to go though you’ll want to use a HDMI to VGA adapter.

I have so many things on ATM that I had to halt my work on RetroArch temporarily. but hopefully I’ll be able to get back on it soon. There are many things I want ti add and change.

1 Like

there Just seems to be too many issues with windows 10, I keep suggesting to people that windows 7 seems to be easier to setup.

If you want to get native refresh rates, Linux is the best way to go. It has less overheads and currently runs every core at its native resolution and refresh rate. well at least every core that has the correct information. Which is most to be fair.

1 Like

Yeah, vcgencmd looks promising.

I use a hdmi-to-vga adapter on my RPi and set hdmi_timing lines in the config.txt, but being able to do that automatically during runtime would be great.

1 Like

ArcadeOSD is using DirectDraw, which is fully emulated in Windows 10. Calamity apparently is planning to update it to use Direct3D.

I don’t understand why people keep asking in these forums on issues with crt-emudriver and ArcadeOSD, why don’t you ask in the groovymame forums so that Calamity himself actually gets to know of any issues people are experiencing and may do something about it?

On the same note, I also don’t understand the push for windows 7. Groovymame and crt -emudriver work perfectly fine with Windows 10. I think people should just spent some time reading the manual at the geedorah site linked from Calamity’s forum thread on arcadecontrols.com. It goes in great detail on how to install this. But clearly this is for computer savvy people, we shouldn’t underestimate that.

Finally, sorry to say this, but that’s how I feel currently, when 8 out of 10 people are using Windows, it’s kind of a bummer to read here every time the suggestion to use Linux if you want custom refresh rates.

@Alphanu I thought Calamity was going to help you out implementing his Windows XP/7/8/10 switchres api into RA? Or did he back out of it?

Its a working process, but not just for RA. We are working on SwitchRes standalone and libraries(.dll and .so). Which will also work with Nvidia. :grinning:

I really don’t mind which OS people wish to use, they just need to figure out how to get it to work properly. In the case of windows setting up CRTEmudriver correctly.

ATM the only way to get native refresh rates through RA is through Linux. This is why when asked about refresh rates, its the go to comment. Also the majority of my work has been based on custom porches and sync pulses to match original console outputs. Unfortunately this again is currently is only available in Linux making the most up to date and accurate version.

This will eventually come to Windows but I do not know how long it will take.

3 Likes

yeah, i think for RPI via the vcgencmd API would be idea, rather than X11, purely because that would mean it could be used in regular retropie (and lakka?), which doesn’t use X11 either. but i’m not sure if

  1. the vcgencmd API i linked above is sufficient for everything you need in CRT switchres
  2. does lakka support vcgencmd calls? I know the libreelec stuff means the OS is ‘locked down’ to an extent. it seems to: https://wiki.libreelec.tv/config.txt#checking_the_license
1 Like

I tried out Linux and the performance was abysmal on my radeon HD 5870.

I noticed also that in both Linux and windows, window full-screen has to be on otherwise retroarch crashes. Does anyone else have that issue?

Not sure if this is helpful but crashing at fullscreen had only two reasons when i had this problem:

  1. If you use two monitors the default one is not set to your CRT (you can set it in video settings)

  2. i forgot to install my resolution modelines

I have different problems after ive changed my setup a bit:

  • I switched to Win10

  • I have a vulcan GPU now (R7 240)

Problem is that i cant use Vulcan…when i set the driver to vulcan and restart RA, nothing happens…

Any solution for this? I bought the vulcan gpu so i can finally use Beetle PSX HW…

Also: My N64 Emulator still runs like shit…Parallel64. Mupen runs with cap speed but i have some weird resolution change issues with it. When i cross the start/finish line at F-Zero64 it changes the resolution/aspect ratio(not sure which it is) for like a second.

I have the weirdest problems, man . -.-

Can you not use Volcan with windows 7? I only ask as there always seems to be issues getting win 10 working properly. It seems to be a fine art.

Hey, i asked Calamity and he said the CRT-Emudriver Version doesnt support it yet. Probably next iteration will have support tho.

I also switched back to Win7 again … i had weird controller issues on Win10.

Is there a way to battle the black borders all around Dolphin or N64 Games btw?

https://drive.google.com/open?id=1GeZ6Pvg5W3u-zJcUvxUURTe6oGsnq2Mk

N64 Games even have borders above an below…

That is because:

  • N64 only reports the correct resolution through Parallels with angry lion and cdx4 enabled.

  • Dolphin currently does not report the correct resolution. It only reports correct internal buffer resolution not the output resolution

You can play around with the overscan options in RetroArch or turn on custom aspect ration to manually change it.

1 Like