Libretro 101: Getting Started with Retroarch Windows PC

Spread the love
(Last Updated On: January 17, 2023)

Retroarch can be confusing, and is not working well out-of-the-box. This guide will help you getting started fresh in minutes. It compiles all the information I wish I had when I started months ago.


Presentation of Retroarch

Retroarch is a frontend for libretro

Retroarch is NOT an emulator.

Retroarch is a cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.

Libretro is a meta-project hosting tons of emulator cores. Each core is an emulator platform. In the past, we had individual emulators for each platform, in the form of a classic app with executable, DLL, assets folders, etc. Most have been ported to libretro as a single file. On windows, they present themselves as a single DLL:


Other frontends currently maintained as of 2022 and based off Libretro (or compatible with):

  1. Retroarch (Windows, PS3, Wii, Linux, etc)
  2. Batocera (Linux pendrive)
  3. BizHawk (Windows)
  4. OpenEmu (MacOS)
  5. RetroBat aka Emulation Station (Windows)


Retroarch is trending

A simple google trends lookup later, shows Retroarch as a clear winner:


Surprisingly, Linux solution such as OpenEmu do not seem to take off. Let’s get back to it on another thread.


Rant against Retrobat

I do not recommend Retrobat for the following reasons:

  • Retrobat is developed by a French oligarchy who cannot hear critiques. They assume things about you, before trying to help.
  • Retrobat is based on outdated dotNET 2.0 and 3.x – which is impossible to install on modern machines, without some tweaks and hacked binaries.
  • Retrobat does not work out of the box. It comes packaged with some Libretro cores, but don’t tell you which versions they are. I tried games that work on Retroarch with their version of FBneo, NES, SMNES, Genesis, nothing works.
  • Asked for help on their discord and got this: “Oh, if your machine cannot run Retroarch, forget about Retrobat”. Nice. Did I ever say I cannot run Retroarch?

As French know-it-all geniuses, these people assume things before asking and categorize you immediately. If it works for you, great. I’ll pass.


Install Retroarch portable

Download and Unpack Retroarch and Cores

The best way to maintain it, is to run it in portable mode. Get the latest stable release from here: 1.10.2 as of April 2022

  • Retroarch itself
  • The cores as well

Retroarch portable download site

Both will unzip under RetroArch-Win64 – keep it as it, it’s easier to maintain. Later on, you can update the installation by downloading the latest 20XX-XX-XX-RetroArch.7z package and overwriting the executable.

You can also let it download each core from within the frontend, but why bother when you have a convenient zipfile available?


Download Assets

You can but you should let Retroarch download them from the fronted. This guarantees the compatibility for the version you have.

Retroarch portable download assets


Download BIOSpacks

It’s not necessary if your collection of Arcade games is full non-merged or merged. It does not hurt to have it either way.

BIOS files go into Retroarch-x64\system\– unzip it under that folder.


Setup RetroArch

On the first run you will be greeted by the ozone menu:

Retroarch main menu ozone

You can change this in the Drivers screen:

Retroarch gui menu choices

  • glui: smartphone menu

Retroarch glui menu

  • rgui: Wii menu

Retroarch Wii menu

  • xmb: Xbox menu

Retroarch xbox menu


Setup Drivers

Retroarch setup drivers

Setup everything exactly like that:

Retroarch Drivers menu

  • Video: the default video driver is vulkan but everyone fond on PSX/Wii/N64 recommend glcore
  • Audio: some recommend wasapi if your audio stutters or fails to play properly, it’s up to you


Setup Video

Setup everything like that:

Retroarch setup Video

  • Threaded Video: OFF – this will improve CPU demanding games at the cost of accuracy
  • Bilinear Filtering: ON – this is crucial for LED display, without it your games will look clean but aliased and horrible in the end


comparison between bilinear filtering ON and OFF

As you can see, Bilinear filtering will provide the look and feel of CRT TV on your latest 4K 70″ OLED TV.

There are tons of other filters available but this one is the fastest and bestest off the batch.



Everything in there is auto-detected and depends on the video driver you already selected before (glcore or vulkan)

Fullscreen mode

You can enter Fullscreen with ALT + ENTER – no need to tweak this, it will constantly switch your dekstop when you unload games anyway

Windowed Mode

Remember Window Position and Size: ON


Retroarch Video menu Scalling

  • Integer scale: ON – games won’t fit the entire screen but that’s fine, you likely have a 70″ TV anyway and it’s a HUGE boost in performance
  • Integer Scale Overscale: OFF – you don’t want your games to be cropped
  • Aspect Ratio: core provided – let the genius developers of the cores handle that for you
  • Crop Overscan: ON – don’t show garbage pixels on the edges


Retroarch Video Menu synchronization

  • Vsync: OFF – I can’t think of any game in the past, present or future that would benefit of this. It just slows everything down
  • Hard GPU Sync: OFF – even worst than VSync – they did it
  • Sync to Exact Content Framerate: depends on your monitor/TV, and only for fullscreen non-windowed mode


Setup Audio

Retroarch Setup Audio

Since we selected xaudio, that should work with Windows just fine. leave everything default over there



This is where the fun begins. This is Windows, remember. Every time you plug controllers off and on, you will lose something or something will break.

When plugin in your controllers, try to always plug the same ones in the same order on your USB hub.

Retroarch setup input controllers

After plugin in controllers, chose the port you want to setup:

Retroarch controller setup Port 1

Chose the one you want to be Port 1 in Device Index, and see if the controls are recognized. If not, proceed with each individual control or go ahead with Set All Controls.



Retroarch setup Latency

You want the best experience possible:

  • no GPU Sync
  • no delay
  • no run-ahead
  • Polling behavior = whatever it does not change a thing
  • all the rest default


AI Service = OFF

Retroarch AI service OFF

AI Service feature allows users to play games written in a foreign language, or add text voice-overs automatically. This uses OCR (optical character recognition), machine translation, and text-to-speech. While these technologies can’t provide the same level of accuracy as curated content, it can go quite far. Machine translation can give a good gist of what’s being said, especially for some language pairs, and text-to-speech can be of great benefit for accessibility.

AI Service needs a hotkey that you press when you need it. It will send a screenshot to a url of your choice and feed you the result back, whether it’s speech or a picture overlay.

More information here


Wrapping Up

Next step is … Update cores, assets, databases, import games and play with Retroarch.

  • Auto-Update Retroarch
  • Import Games



Team Cook

Bachelor in IT, father, Photograph, Communist slayer, I also build useful tools for my community and destroy repetitive tasks for the past 20 years. "Who controls the information, controls the future."

0 0 votes
Article Rating
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x