Full Speed in Win, (abnormally?) slow in Linux

Hi all,

Thank you as always for a wonderful 1.3.4. I am scratching my head over seemingly abnormally slow speeds with some cores (Nestopia, Mednafen PSX & bsnes-mercury balanced) in Linux.These run full speed in Windows and I can’t seem to find the culprit. I have been having the same problem since at least 1.3.0.

Hardware Setup: Braodwell Celeron 3205U - Dual Core 1.5Ghz Intel HD Graphics (GT1 - 12EU) 4GB RAM

OSes: DualBoot: Majaro 16.06 XFCE (32bit) - Kernel 4.4.8 Windows 10 (32 bit)

RetroArch Version:


RetroArch [INFO] :: [CPUID]: Features: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE4.2
MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 Built: May  7 2016
RetroArch [INFO] :: Version: 1.3.4
RetroArch [INFO] :: Git: 0a2544c

Things I have tried: Disabling SpeedStep in BIOS Turning off all Power Management Settings (all visible from the XFCE UI anyways) Disabling XFCE compositor Different Monitors

Whether I set a shader or not does not make any difference. I get full speed also getfull speed in Linux with more demanding cores (Mupen64). The other thing I have noticed is that CPU Load peaks at 48~50% on all these cores while Mupen64 or Genesis Plus GX are happy with 10~11%.

From the log:-


RetroArch [INFO] :: Average audio buffer saturation: 13.09 %, standard deviation (percentage points): 13.09 %.
RetroArch [INFO] :: Amount of time spent close to underrun: 50.00 %. Close to blocking: 0.00 %.

And that is all I could diagnose so far. Any help/assistance will be much appreciated!

“sudo glxinfo | grep rendering” returns “direct rendering: Yes” ?

Hi BarbuDreadMon,

Thanks for the reply.

sudo glxinfo | grep rendering does indeed return “Yes”.

And you are using openGL video backend in retroarch ?

Yup, Video driver is set to “gl”. It is very strange, as with the same setup (Manjaro Linux) I get fullspeed with Mupen64 or PPSSPP (even with some demanding CRT shaders).

I can use FCEUmm, Snes9x or PSCXRearmed to play (or any other computer in the house really) but I’m more after the cause of the slowdown.

Hmm, xorg/xfce could be monopolizing some ressources. You should try running retroarch through kms with xorg down. See https://github.com/libretro/RetroArch/wiki/KMS-mode for more informations. You could also check your cpu frequency through “lscpu”. Also, you could check if your cpu is at 100% with retroarch running through “htop”. Btw, mupen64/ppsspp are less ressources hungry than bsnes/mednafen

I already checked lscpu when looking into SpeedStep, I got the expected 1500Mhz for both cores. Running RetroArch in KMS/EGL gives me the same symptoms…

The new development however, is that htop gives me different CPU loads than the XFCE task manager. And on the three cores in question, I hit 98~100% load! I (vs. 55% shown by XFCE).I can kind of understand for Mednafen PSX but Nestopia!?

Strange thing is that you said those 3 runs fine on windows. Is there some cpu turbo mode that would be enabled on windows but not on linux with your current settings ? I don’t understand how those cores could use more cpu ressources on linux than windows.

Have you tried using a different menu? e.g., RGUI? It shouldn’t matter when the menu isn’t up but it’s worth trying.

That’s right, this is what has me dumbfounded from the beginning =( I’m stating to think RetroArch is not at fault here and that maybe the Linux Broadwell implementation is not quite there yet? I’ll keep this thread updated if I find something… Thanks for your time!

EDIT: hunterk - glui or rgui - no change. Enabling threaded video helps a lot but is far from smooth - which is to be expected according to the documentation?

Are you using pulseaudio or alsa sound backend ?

I let all options on default, so alsa. I tried alsathread, pulse and even null - alas with no visible change. I toyed around with latency, rate control delta and timing skew with alsa - I get 1 or 2 more frames at most. Still stuck at 27 to 29.5 fps (Nestopia) Vsync ON/OFF has no impact either.

It’s a bit maddening to see how none of the change in any setting inside our outside of RetroArch seem to have any impact o_0

I could upload some videos later this week if that helps? I’ll also try and slap an Ubuntu on the same machine and see what I get.

Ubuntu MATE 16.04 LTS gives me full speed so there must have been something wrong with Manjaro somewhere…

I’ll consider this “fixed” if nobody is able to replicate in Arch Linux or derivative.

Did you try running reicast or yabause libretro cores on your setup ? I’m thinking about buying something similar and curious on how fast it would be running, especially on games like bomberman saturn.

Sorry for the late reply, was out of the country for work.

I tried Saturn Bomberman but is quite slow. (38fps) Reicast crashes on me (only game I have is Elemental Gimmick Gear):


Linux paging: 00001000 00001000 00000FFF
RetroArch [libretro INFO] :: Verify Failed  : ftruncate(fd,RAM_SIZE + VRAM_SIZE +ARAM_SIZE)==0
 in _nvmem_alloc_mem -> core/hw/mem/_vmem.cpp : 591 
DEBUGBREAK!

EDIT: ah, didn’get my DC BIOS setup right… That would be full speed on Cannon Spike (but messy graphics), super slow FMVs in EGG (16fps) close to full speed in game.