Libretro 101: Getting Started with Retroarch Windows PC
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):
- Retroarch (Windows, PS3, Wii, Linux, etc)
- Batocera (Linux pendrive)
- BizHawk (Windows)
- OpenEmu (MacOS)
- 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
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.
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.
- Retroarch provide few BIOS packs from their assets page here, start with these
- Get a more recent, comprehensive BIOS pack list for Retroarch from 2020-01-03 (300MB)
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:
You can change this in the Drivers screen:
- glui: smartphone menu
- rgui: Wii menu
- xmb: Xbox menu
Setup Drivers
Setup everything exactly like that:
- 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:
- 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

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.
Output
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
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
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
Since we selected xaudio, that should work with Windows just fine. leave everything default over there
Input
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.
After plugin in controllers, chose the port you want to setup:
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.
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
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