Getting the best N64 experience on a Pi 4
-
@tommy86 this is not a verbose log - seems like a regular log to me. i guess you didn't select the 'launch with verbose logging' option in the runcommand (see my link)
-
@dankcushions I followed your link and picked up the text through ssh with
cat /dev/shm/runcommand.log
. I'll do it again just to make sure. -
@dankcushions ok... there's a lot more.
Executing: SDL_VIDEO_KMSDRM_CRTCID=87 SDL_VIDEO_KMSDRM_MODEID=35 /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mupen64plus-next/mupen64plus_next_libretro.so --config /opt/retropie/configs/n64/retroarch.cfg "/home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).n64" --verbose --appendconfig /dev/shm/retroarch.cfg [INFO] RetroArch 1.8.8 (Git 9552f87) [INFO] Speicherdaten umleiten in "/home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).srm". [INFO] Spielstand umleiten in "/home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).state". [INFO] === Build ======================================= [INFO] Fähigkeiten: NEON VFPv3 VFPv4 [INFO] Built: Nov 2 2020 [INFO] Version: 1.8.8 [INFO] Git: 9552f87 [INFO] ================================================= [INFO] Loading dynamic libretro core from: "/opt/retropie/libretrocores/lr-mupen64plus-next/mupen64plus_next_libretro.so" [INFO] [Overrides] no core-specific overrides found at /home/pi/.config/retroarch/config/Mupen64Plus-Next/Mupen64Plus-Next.cfg. [INFO] [Overrides] no content-dir-specific overrides found at /home/pi/.config/retroarch/config/Mupen64Plus-Next/n64.cfg. [INFO] [Overrides] no game-specific overrides found at /home/pi/.config/retroarch/config/Mupen64Plus-Next/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).cfg. [INFO] [Environ]: SET_CORE_OPTIONS. [INFO] Spieloptionen: Spielspezifische Core-Optionen gefunden in /home/pi/.config/retroarch/config/Mupen64Plus-Next/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).opt [INFO] [Environ]: SET_CONTROLLER_INFO. [INFO] [Remaps]: remap directory: /opt/retropie/configs/n64/ [INFO] Speicherdaten umleiten in "/home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).srm". [INFO] Spielstand umleiten in "/home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).state". [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [INFO] [Environ]: GET_LOG_INTERFACE. [INFO] [Environ]: GET_PERF_INTERFACE. [INFO] [Environ]: SET_PIXEL_FORMAT: XRGB8888. [INFO] [Environ]: GET_RUMBLE_INTERFACE. [INFO] Lade Inhalts-Datei: /home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).n64. [INFO] Kein gültiger Patch für diesen Inhalt gefunden. [INFO] [Environ]: SET_HW_RENDER. [INFO] Requesting OpenGLES3 context. [libretro INFO] mupen64plus-next: Using full mem base [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [libretro INFO] mupen64plus-next: Goodname: Legend of Zelda, The - Ocarina of Time (E) (M3) (V1.1) [!] [libretro INFO] mupen64plus-next: Name: THE LEGEND OF ZELDA [libretro INFO] mupen64plus-next: MD5: D714580DD74C2C033F5E1B6DC0AEAC77 [libretro INFO] mupen64plus-next: CRC: B2055FBD 0BAB4E0C [libretro INFO] mupen64plus-next: Imagetype: .v64 (byteswapped) [libretro INFO] mupen64plus-next: Rom size: 33554432 bytes (or 32 Mb or 256 Megabits) [libretro INFO] mupen64plus-next: ClockRate = F [libretro INFO] mupen64plus-next: Version: 1449 [libretro INFO] mupen64plus-next: Manufacturer: Nintendo [libretro INFO] mupen64plus-next: Cartridge_ID: 4C5A [libretro INFO] mupen64plus-next: Country: Unknown (0x150) [libretro INFO] mupen64plus-next: PC = 80000400 [libretro INFO] mupen64plus-next: Save type: 2 [INFO] Überspringe Laden des SRAM.. [INFO] Version der libretro-API: 1 [INFO] Kompiliert gegen API: 1 [INFO] [Cheats]: Load game-specific cheatfile: /home/pi/.config/retroarch/cheats/Mupen64Plus-Next/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).cht [INFO] [Audio]: Set audio input rate to: 44100.00 Hz. [INFO] [Video]: Timings deviate too much. Will not adjust. (Display = 60.00 Hz, Game = 50.00 Hz) [INFO] [Video]: Video @ 640x480 [INFO] [Video]: Using HW render, OpenGL driver forced. [INFO] [Video]: Using configured "gl" driver for GL HW render. [WARN] [DRM]: Couldn't get device resources. [WARN] [DRM]: Couldn't get device resources. [INFO] [DRM]: Found 1 connectors. [INFO] [DRM]: Connector 0 connected: yes [INFO] [DRM]: Connector 0 has 26 modes. [INFO] [DRM]: Connector 0 assigned to monitor index: #1. [INFO] [DRM]: Mode 0: (1360x768) 1360 x 768, 60 Hz [INFO] [DRM]: Mode 1: (1920x1080) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 2: (1920x1080) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 3: (1920x1080i) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 4: (1920x1080i) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 5: (1920x1080i) 1920 x 1080, 60 Hz [INFO] [DRM]: Mode 6: (1920x1080) 1920 x 1080, 50 Hz [INFO] [DRM]: Mode 7: (1920x1080i) 1920 x 1080, 50 Hz [INFO] [DRM]: Mode 8: (1920x1080) 1920 x 1080, 30 Hz [INFO] [DRM]: Mode 9: (1920x1080) 1920 x 1080, 30 Hz [INFO] [DRM]: Mode 10: (1920x1080) 1920 x 1080, 25 Hz [INFO] [DRM]: Mode 11: (1920x1080) 1920 x 1080, 24 Hz [INFO] [DRM]: Mode 12: (1920x1080) 1920 x 1080, 24 Hz [INFO] [DRM]: Mode 13: (1280x720) 1280 x 720, 60 Hz [INFO] [DRM]: Mode 14: (1280x720) 1280 x 720, 60 Hz [INFO] [DRM]: Mode 15: (1280x720) 1280 x 720, 50 Hz [INFO] [DRM]: Mode 16: (1024x768) 1024 x 768, 60 Hz [INFO] [DRM]: Mode 17: (800x600) 800 x 600, 60 Hz [INFO] [DRM]: Mode 18: (720x576) 720 x 576, 50 Hz [INFO] [DRM]: Mode 19: (720x576i) 720 x 576, 50 Hz [INFO] [DRM]: Mode 20: (720x480) 720 x 480, 60 Hz [INFO] [DRM]: Mode 21: (720x480) 720 x 480, 60 Hz [INFO] [DRM]: Mode 22: (720x480i) 720 x 480, 60 Hz [INFO] [DRM]: Mode 23: (720x480i) 720 x 480, 60 Hz [INFO] [DRM]: Mode 24: (640x480) 640 x 480, 60 Hz [INFO] [DRM]: Mode 25: (640x480) 640 x 480, 60 Hz [INFO] [GL]: Found GL context: kms [INFO] [GL]: Detecting screen resolution 1360x768. [INFO] [EGL] Found EGL client version >= 1.5, trying eglGetPlatformDisplay [INFO] [EGL]: EGL version: 1.4 [INFO] [EGL]: Current context: 0x2460648. [INFO] [KMS]: New FB: 640x480 (stride: 2560). [INFO] [GL]: Vendor: Broadcom, Renderer: V3D 4.2. [INFO] [GL]: Version: OpenGL ES 3.1 Mesa 19.3.2. [INFO] [GL]: Using resolution 640x480 [INFO] [GL]: Default shader backend found: glsl. [INFO] [Shaders]: preset directory: /home/pi/.config/retroarch/config [INFO] [Shaders]: preset directory: /opt/retropie/configs/n64/ [INFO] [Shaders]: preset directory: /home/pi/.config/retroarch/shaders/presets [INFO] [Shader driver]: Using GLSL shader backend. [WARN] [GL]: Stock GLSL shaders will be used. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] [GLSL]: Found GLSL fragment shader. [INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] [GLSL]: Found GLSL fragment shader. [INFO] [GLSL]: Linking GLSL program. [INFO] [GLSL]: Found GLSL vertex shader. [INFO] [GLSL]: Found GLSL fragment shader. [INFO] [GLSL]: Linking GLSL program. [INFO] [GL]: Using 1 textures. [INFO] [GL]: Loaded 1 program(s). [INFO] [GL]: Initializing HW render (1024 x 1024). [INFO] [GL]: Max texture size: 4096 px, renderbuffer size: 4096 px. [INFO] [GL]: Supports FBO (render-to-texture). [INFO] [udev]: Keyboard #0 (/dev/input/event1). [INFO] [udev]: Keyboard #1 (/dev/input/mouse0). [INFO] [udev]: Mouse #0 (/dev/input/event1). [INFO] [udev]: Mouse #1 (/dev/input/mouse0). [INFO] [udev]: Plugged pad: Microsoft X-Box 360 pad (1118:654) on port #0. [INFO] [udev]: Pad #0 (/dev/input/event0) supports force feedback. [INFO] [udev]: Pad #0 (/dev/input/event0) supports 16 force feedback effects. [INFO] [Joypad]: Found joypad driver: "udev". [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Video]: Found display server: null [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/2xsal-level2-crt.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/2xsal.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/2xScaleHQ.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/barrel-distortion.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/barrel-distortion_lanczos4.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/barrel-distortion_phosphor.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/barrel-distortion_snes.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/Brighter-with_Contrast.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/bsnes_gamma_ramp.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/crt-pi-curvature-vertical.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/crt-pi-curvature.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/crt-pi-vertical.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/crt-pi.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/gameboy-screen-grid.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/gameboy.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/gameboy2.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/gba-color.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq2x&lcd3x.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq2x.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq2x2.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq2x_lcd3x.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq2x_phosphor.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq2xwaterpaint.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq2xwaterpaintscanline.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq4x.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/hq4x_lcd3x.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/nds-color.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/nds.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/nedi.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/palm-color.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/phosphor.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/psp-color.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/sharp-bilinear-2x-prescale.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/sharp-bilinear-scanlines.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/sharp-bilinear-simple.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes2.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_hq2x.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_hq2xwaterpaint.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_hq2xwaterpainthicontrast.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_hq2xwaterpaintscanline.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_lcd3x.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_phosphor.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_scanline.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/snes_waterpaint.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/stock.glsl" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/super-2xsai.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/super-eagle.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/vba-color.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/xbr-lv1-noblend.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/zfast_crt_curve.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/zfast_crt_curve_vertical.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/zfast_crt_standard.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/zfast_crt_standard_vertical.glslp" [INFO] Shader gefunden "/home/pi/.config/retroarch/shaders/zfast_lcd_standard.glslp" [INFO] [Environ]: SET_INPUT_DESCRIPTORS: [INFO] [ALSA]: Using signed 16-bit format. [INFO] [ALSA]: Period size: 768 frames [INFO] [ALSA]: Buffer size: 3072 frames [INFO] [ALSA]: Can pause: no. [INFO] [Menu]: Found menu display driver: "gl". [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Font]: Using font rendering backend: stb-unicode. [INFO] [Environ]: SET_SUBSYSTEM_INFO. [INFO] [Menu]: Found menu display driver: "gl". [INFO] [LED]: LED driver = 'null' 0x4b477c [INFO] [MIDI]: Initializing ... [INFO] [MIDI]: Input disabled. [INFO] [MIDI]: Output disabled. [INFO] [MIDI]: Initialized "alsa" driver. [INFO] Lade Verlaufs-Datei: [/opt/retropie/configs/n64/content_history.lpl]. [INFO] Lade Verlaufs-Datei: [/opt/retropie/configs/n64/content_music_history.lpl]. [INFO] Lade Verlaufs-Datei: [/opt/retropie/configs/n64/content_video_history.lpl]. [INFO] Lade Verlaufs-Datei: [/opt/retropie/configs/n64/content_image_history.lpl]. [INFO] Loading favorites file: [/opt/retropie/configs/n64/content_favorites.lpl]. [INFO] [GL]: VSync => on [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [libretro INFO] mupen64plus-next: Game controller 0 (Standard controller) has a Memory pak plugged in [libretro INFO] mupen64plus-next: Game controller 1 (Standard controller) has nothing plugged in [libretro INFO] mupen64plus-next: Game controller 2 (Standard controller) has nothing plugged in [libretro INFO] mupen64plus-next: Game controller 3 (Standard controller) has nothing plugged in [libretro INFO] mupen64plus-next: Using CIC type X105 [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [INFO] [Environ]: SYSTEM_DIRECTORY: "/home/pi/RetroPie/BIOS". [INFO] [KMS]: New FB: 640x480 (stride: 2560). [INFO] [KMS]: New FB: 640x480 (stride: 2560). [libretro INFO] mupen64plus-next: Initializing 4 RDRAM modules for a total of 8 MB [libretro INFO] mupen64plus-next: Starting R4300 emulator: Dynamic Recompiler [libretro INFO] mupen64plus-next: Init new dynarec [libretro INFO] mupen64plus-next: ARM CPU Features:, Half, Thumb, FastMult, VFP, ESDP, NEON, VFPv3, TLS, VFPv4, IDIVa, IDIVt [INFO] [Cheats]: Save game-specific cheatfile: /home/pi/.config/retroarch/cheats/Mupen64Plus-Next/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).cht [INFO] Speichere RAM-Typ #0 nach "/home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).srm". [INFO] Erfolgreich gespeichert in "/home/pi/RetroPie/roms/n64/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).srm". [INFO] Content ran for a total of: 00 hours, 02 minutes, 58 seconds. [INFO] Unloading game.. [libretro INFO] mupen64plus-next: Stopping emulation. [libretro INFO] mupen64plus-next: R4300 emulator finished. [INFO] Unloading core.. [INFO] [PERF]: Performance counters (libretro): [INFO] Unloading core symbols.. [INFO] [Core Options]: Saved game-specific core options to "/home/pi/.config/retroarch/config/Mupen64Plus-Next/Legend of Zelda, The - Ocarina of Time (Europe) (En,Fr,De) (Rev A).opt" plugin_start_gfx
Another thing i read about is framebuffer. It seems to be suggested to be disabled, but if i do so, there is a major glitch at the bottom of the screen. With gles2rice the game looks good, but there seem to be issues with lens of truth etc.
-
@tommy86 said in Getting the best N64 experience on a Pi 4:
[INFO] [GL]: Detecting screen resolution 1360x768.
is there are any particular reason you're running at this resolution when your screens supports 1080p? the lower the resolution the more scaling artifacts you'll get.
Another thing i read about is framebuffer. It seems to be suggested to be disabled, but if i do so, there is a major glitch at the bottom of the screen.
it is not suggested to be disabled by me.
note that by default n64 via -next will be rendered at native n64 resolution - ie, 320x240 or thereabouts. it is a low resolution console and it's normal for it to look ugly. if you want to try at a higher resolution, you can adjust the native resolution scale factor via https://retropie.org.uk/docs/RetroArch-Core-Options/, but note that it will likely tank performance.
-
Somewhat related, but for the Piboy the mapping can be a bit weird.
I actually tried to mimic the exact locations for the original N64 gamepad.
I disabled autoConfig (mode=0) and changed the mapping in the mupen64plus.cfg to the following values. I am using the Analog stick button as the quit button and Select as the Z-Trigger, but might
switch those at some point. You could also try to flip the C-Buttons and the A/B-Buttons.DPad R = "button(14)" DPad L = "button(13)" DPad D = "button(11)" DPad U = "button(12)" Start = "button(9)" Z Trig = "button(10)" B Button = "button(5)" A Button = "button(2)" C Button R = "button(0)" C Button L = "button(4)" C Button D = "button(1)" C Button U = "button(3)" R Trig = "button(6)" L Trig = "button(7)"
-
@quicksilver did you ever figure out your issues you had loading games with lr-parallel-n64? Oddly that emulator works quite on my Mac for some stuff (seems to be the of the only ways to use rice on retroarch too), but nearly everything I've tried to boot crashes except Mario 64 & Goldeneye.
-
@retropieuser555 it doesn't seem to be optimised for use with a raspberry pi. There are much better n64 emulator options if your using a pi.
-
@dankcushions The TV is HD-ready so it's actually only 720p and the 1360x768 is the native resolution.
For curiosity i started playing around with the RetroArch settings. Long story short: USA region roms run pretty nice in -next with framebuffer disabled, while EU region roms (since i am austrian) seem to relay on that framebuffer thing, as they get the glitch at the bottom i mentioned earlier when turned off. I got myself a USA rom of LoZ:OoT and with framebuffer off it looks exactly the same like the EU with framebuffer on but native resolution scale factor 2x. And yeah, that takes the game to an unplayable state. Too sad parallel doesn't take it all. Goldeneye looks NUTS with it.
-
Hi together,
Yesterday I tried Pilotwings 64 again with version 4.7.1 on my Pi 4.
(it runs well on my Pi 3 with rice plugin in 640x480)It ran best with rice plugin, but still with slowdowns and stuttering.
With other/newer plugins I get even more issues. Especially shadow problems and stuttering.Does somebody has an idea, or optimization options, if it would be playable without stuttering and glitches?
-
@quicksilver nowadays with a 2100 mhz overclock how KI gold runs? It is one of the games I am looking for the most, I know I could play the KI 1 & 2 arcade versions but TBH I play fighting games for their training / practice mode more than for Vs or Arcade mode
-
@sergioad According to @roslof's compatibility list :
'Using Rice prevents some textures from rendering, but it has the best framerate. Not good. Per @quicksilver, best to use mupen64plus-GLideN64. Title Screen will stutter badly, and gameplay will be sluggish for awhile, but it will soon recover. Thanks for the reminder @AdamBeGood (RetroPie Forumns)'
-
@george-spiggott I don't have any experience with the N64 emulators on the Pi 4, however based on some videos I've seen I would suggest a moderate overclock with some good active cooling, plugins only help at the software level and they can do nothing about hardware limitations.
Btw not that you noticed but I decided to come back for a little while with a different account as I thought I'd share some useful advise.
-
@sergioad How common is the 2.1ghz overclock though? I mean stable ones? it seems you need an Ice Tower or something similar to it to achieve those kinds of stable OC's on the P4. I could be wrong but I haven't seen it being done on smaller or less expensive coolers.
-
@agtrigormortis In any case you are right, overclocking does not do much for N64 emulation.
Using the right plugins for each game, and configuring them appropriately goes a long way however. -
@zering it does help a little though, of course you need a suitable plugin but if PS1 emulation is troublesome on the Pi 4 then I can't see N64 emulation being much better, whether the correct plugins were used or not.
and clearly this has nothing to do with how much RAM the Pi's have, the P4 1gb is easily enough. But I can see why some problems are caused by the low clock speed of the CPU. It was hard enough doing it on native hardware, emulation is much harder because you're having a different architecture mimic other hardware while trying to keep the latency down. Native hardware can get away with lower specs because it isn't spending a significant amount of its resources trying to behave like other computers.
-
@agtrigormortis it's not the CPU. the N64 emulator we use, mupen64plus, has had a decent dynamic recompiler for ARM since before RetroPie, and if you run
top
from an SSH session whilst an N64 game is running you should see plenty of CPU to spare. last time i checked, even the pi2 had headroom on the CPU front.the issue is the GPU and system bandwidth requirements increasing as the emulation gets more accurate. the pi series aren't dedicated gaming machines, so they're lagging behind quite badly here. however, there are constantly efforts to eek more out of what we have, via software tweaks.
CPU overclocks should be largely pointless for N64 unless they also provide some benefit to system bandwith, which is possible. i would have thought GPU, RAM and core overclocks would be a better bet.
-
@agtrigormortis PS1 emulation is troublesome on the Pi 4?? Since when?
-
@zering since it was advised to OC the PI 4 to give it the extra performance it needed to run the emulators to be stable and responsive. If the CPU was fast enough at stock speeds there wouldn't have been any need for OCing it, period, that isn't up for debate.
For the Super Nintendo, Sega Genesis, Sega CD, as was mentioned by the user Spawn Wave on Youtube those are taken care of, and I would say the Pi 4 is overkill for that considering it was already done without issue on the earlier systems especially Pi 3, but you can benefit from a mild overclock on Pi 4 Dreamcast, N64 and PS1 titles. RAM amount on the Pi 4 versions to some extent doesn't matter because the systems being emulated do not use a lot of system memory to start with so a 1gb model would suffice.
Even then you're still not quite at the point where you can turn frame skip off and remain comfortable, dankcushions makes a good point about the other bottlenecks in the system though, they all need to be removed and hopefully Pi Foundation improves the bandwidth as well as the GPU and CPU speed on Pi5, if there will be one.
To get accurate emulation you need optimized software as well as hardware that meets the requirement and as been said we're not quite there with N64 and PS1 yet. We won't be there until the games can all be comfortably ran at 60fps with frame skip turned off and not stutter with almost no glitches.
-
@agtrigormortis I'm not disagreeing with anything you're saying in particular but your assessment of PS1 emulation on the Pi seems grossly mistaken to me. The PS1 is my most played system, and I was running it at full speed with no frameskip even on the stock Pi 3.
A few games do not work. Maybe two or three in my experience. It's hardly what I would call troublesome.
As for the N64, tinkering with the different plugins I was able to run just about every game on a stock Pi 4 with no issue. My later overclock did not affect most N64 games.Maybe we have different expectations from what is in the end a 30 pounds single board computer?
-
@zering I see what you're saying, although it is worth mentioning that the 8gb version of the Pi 4 cost about 70 pounds which is the one I have. The RAM is overkill for the RetroPie but I want to be able to use the system for more things than just retro gaming.
The Pi Foundation have been making improvements to their product and it is getting to a point where it can be used as a general purpose computer.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.