ECWolf Wolfenstein 3D Libretro core WIP available today on Windows/Mac/Linux/Android!

ECWolf Libretro running on RetroArch at high resolution and widescreen enabled

A new Libretro core is being made available for RetroArch and other Libretro frontends today! ECWolf is a Wolfenstein 3D source port game engine. This port is courtesy of phcoder.

ECWolf can run the following content:

  • Wolfenstein 3D
  • Spear of Destiny
  • Super 3D Noah’s Ark

It will be available today for the following platforms:

  • Linux
  • Windows
  • macOS
  • Android

It will probably be released over time on other platforms.

How to get it

There are two ways to install and/or update the ECWolf core:

a – If you have already installed the core before, you can go to Online Updater and select ‘Update Installed Cores’.

b – If you haven’t installed the core yet, go to Online Updater, ‘Core Updater’, and select ‘Wolfenstein 3D (ECWolf)’ from the list. It will then download and install this core.

How to play it with the shareware version

If you don’t have the full registered version’s data files to play with, you can still get the shareware version. We provide this in an easily obtainable way to you, so let’s go through the steps. Start up RetroArch first. Then do the following:

1. Go to Online Updater, ‘Content Downloader’.

2. Go to ‘Wolfenstein’, and download ‘Wolfenstein 3D (Shareware).zip’.

3. Now go back to the Main Menu. Select ‘Load Content’, and select the ‘Downloads’ directory. Select ‘Wolfenstein 3D (Shareware)’, and then select ‘WOLF3D.EXE’. Start this with the ECWolf core when asked about it.

Current status


This port is currently incomplete but already has a lot of functionality.

NOTE: You need the file ‘ecwolf.pk3’ inside either your System directory, or the same directory as your content. You can get this file from within RetroArch through the Content Downloader (see the previous paragraph, but instead of downloading ‘Wolfenstein 3D (Shareware).zip’, download ‘ecwolf.pk3’ instead.

Differences with standalone port

* Menus are removed and it goes straight to episode or skill selection
* All options are moved to libretro options
* Full screen control is also moved to normal libretro
* Load and save is moved to libretro facilities as well
* Quit is removed from the core and is to be handled in libretro way as well
* Invunerability cheat is moved to libretro options
* Gamma control is not supported. Use libretro filters.
* Currently has variable framerate support up to 360fps. Original game ran at 70fps.

Missing features

* Only IMF music is supported
* “Read This!” is missing
* “High scores” are also missing
* MLI cheat is missing
* Demo recording and playback are missing. Note: normal libretro demos are still there.
* F1 help is missing
* ID easter egg is missing
* Mouse and keyboard support, including corresponding config, is missing.
Only RetroPad currently works. You can control using retropad mappings
* ‘0’-‘9’ weapon selection is missing
* Buttons ‘zoom’, ‘reload’ and ‘altattack’ are missing. They’re used only in mods.
* Buttons ‘Strafe modifier’ and ‘status bar’ are missing
* Netplay is missing
* Difficulty confirmation screen is missing
* Resizing screen with +/- is not supported. Use options
* Commander Keen easter egg is missing
* Menu movement animation is missing
* Robert’s jukebox is missing

Known glitches

* Rewinding through intermission or death fizzling results in glitched screen
* Sometimes after loading a large asset, FPS drops. If that happens go to RetroArch menu for couple of seconds and then back
* The sound is currently a bit glitchy/crackly when running below 70fps (the game’s original framerate). We have found that there are far less sound issues at 70Hz and above (such as 120Hz).
* Frame pacing and frame time deviations can probably still be further improved.

RetroArch – Ozone becomes the default menu UI (Plus touchscreen and scaling updates!)

We held a poll earlier this week on Twitter, asking our users whether they would like us to stay with XMB as the default UI, or switch to Ozone. The results were overwhelmingly in Ozone’s favor, so starting from today’s nightlies and the upcoming RetroArch 1.8.5, Ozone will now be the default menu UI on everything but mobile phones.

What does this mean for XMB?

Nothing really, we are not abandoning it, and we will also keep further improving it. The only thing that changes is that Ozone will start now as the default menu UI.

If you want to switch back to XMB, that is possible too. While in RetroArch, simply go to Settings – Drivers, and change Menu Driver to ‘xmb’. Then restart RetroArch.

DPI scaling

As previous users of Ozone will already know, Ozone in the past did not really scale well beyond 1080p. This has now been fixed by jdgleaver. Ozone is now using DPI-based scaling, so it should scale correctly whether you are running at 4K or 1080p or even lower.

If you think the default scale is too big on your device, you can also adjust the scale manually via the Menu Scale Factor setting under User Interface > Appearance. 1.00x is the default auto-scaled value. To make it slower, lower the value, and to make it bigger, increase it.

Touchscreen / Mouse support

Ozone also now has rudimentary mouse and touch support for the first time!

  • Touch can be used to switch between sidebar and entries list
  • Touch can be used to select sidebar and entries list items
  • Both sidebar and entries list can be scrolled by dragging
  • Clicking/pressing the header or footer produces a ‘cancel’ action

Mouse-specific notes:

Cursor focus follows mouse pointer from sidebar to entries list (and vice versa).

In entries list, item under cursor is automatically selected (with some fudging to ensure this doesn’t break mouse wheel scrolling).

In sidebar, item under cursor is not automatically selected (this is too jarring).

Touchscreen-specific notes:

Touch screen input is a little clunky, since we can’t automatically switch from sidebar to entries list (there is no ‘cursor focus’ to follow, and it’s not possible to cross the boundary and action an item in one go – this breaks the menu, so some internal changes would be required to support this…)

So at present: if the cursor is in the entries list, the sidebar must be touched once before a sidebar item can be selected – and likewise, if the cursor is in the sidebar, the entries list must be pressed once before an entry can be selected (in the latter case, the touched entry will only be highlighted on the first press).

If the cursor is in the entries list, short pressing an item will highlight it without actually selecting it; tapping the entry (i.e. instantaneous press) will always select and action it.

When viewing playlists, swiping left/right will descend/ascend the alphabet (same as pressing PgUp/PgDn on a keyboard). Note: We cannot enable this when using a mouse, since it conflicts with the automatic ‘entry under cursor’ selection.

When will this be ready?

You can get all this already right now if you are using a nightly build. For everyone that doesn’t like to live on the edge, wait until we release version 1.8.5!