2.5 (candidate) / 09-12-2024
Cemu
Accuracy
Performance
Features
Cemu is an open source emulator for WiiU which is considered to be in experimental state. That said, it's able to play quite a few number of games very smoothly without major issues and graphics packs can even be injected into games. Please check compatibility list for more details.
Extensions:
GamePad input source override for cemu, including full motion sensing support (requires additional software, see the guide)
Adds code/data patching to your games at load-time, which you can activate and share the same way you do graphic packs!
Think of it like a pcsx2 plugin, implementing something not in the core
Community Graphic Packs which is used to upscale and change your Wii U games
Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with the Cemu Emulator and System-Wide
--
Windows: 7+
Other requirements
OpenGL 4.1 minimum (4.6 is used, if available)
RAM: 4 GB minimum, 8 GB or more recommended
Microsoft Visual C++ 2017 X64 Redistributable
Most Recent Changes
--2.5 candidate--
Upscaling and downscaling options in the graphics settings now work correctly on Vulkan. Previously, the hermite and bicubic scaling options would only work on OpenGL and silently fall back to bilinear filtering on Vulkan
Graphic pack support for custom scaling shaders has been reworked and is now functional on Vulkan, with fixes carrying over to OpenGL. If you are a graphic pack developer see #1392 for details
Cemu will now show an error if the MLC directory is not writeable
Added a workaround for graphic driver crashes seen in the eShop versions of Fatal Frame. These are caused by the game shipping with shaders that contain infinite loops. The actual hardware has an escape mechanism for this that we don't yet emulate
Added support for connecting Wiimotes via L2CAP on Linux (Details in #1353)
Set correct version for MacOS bundle
Updated Arabic, German, Russian and Swedish translations
--2.4 candidate--
Added emulated Dimensions Toypad
Fixed a corruption bug to could occur when reading from titles in .app/.wud/.wux format under rare circumstances
Cemu will now validate all reads for .app/.wud/.wux format titles and log any detected errors to log.txt. In the future we will also show these errors on screen
Reworked the Wii U error dialog implementation (ErrEula) for better accuracy. This should fix the bug where sometimes the error dialog was unskippable in some games
Fixed a bug in the HLE implementation of proc_ui.ProcUIRegisterCallback/ProcUIRegisterBackgroundCallback
--2.3 candidate--
Vulkan: Fixed a race condition where uniform data could get corrupted. Most commonly this would cause polygon corruptions in BotW or XCX but in theory could affect every game
Vulkan: Changes to how frame display is handled to reduce input latency
Input: Fixed a crash that could occur when closing the add controller dialog while a controller search was still active
Amiibo: Fixed an issue where Amiibo were not detected in Mario Kart 8
Online: SpotPass functionality now respects the proxy_server option in settings.xml
Windows: In portable mode shortcut save icons will now be stored to the Cemu directory instead of %appdata%
Misc: Fixed a crash that could occur when invalid command line parameters were passed to Cemu
--2.2--
Handle null timeout in nsysnet.select. Fixes a crash in Skylanders SuperChargers and Imaginators
Fixed an issue where changing the Receive untested updates option would have no effect
The Linux appimage version will use the system libstdc++.so.6 if it is newer than the bundled file
Updated French, Korean and Simplified Chinese translations
--2.1 stable/final experimental update--
This is the major release of Cemu 2.1 with a cumulative changelog which includes the changes from all 93 experimental releases since Cemu 2.0.
For users that were already using our experimental updates (2.0-x), you can think of this release as the final experimental update. There are no noteworthy additional changes compared to Cemu 2.0-95 other than the new version number.
Starting with this release, Cemu will now only have a single release channel. Instead of experimental releases, there is a new option to control whether Cemu will update immediately to cutting-edge releases, which may contain uncaught bugs, or update with a slight delay. More details on this can be found here
Major new additions
Added appimage and flatpak releases for Linux
Added an experimental release for macOS. Available for x86-64 only for now but it can be run on ARM macs through Rosetta 2 emulation. MoltenVK is used as the graphics backend
Added a tool to emulate the USB portals for Skylanders and Disney Infinity
Added NFC/NTAG support. Pokemon Rumble U figures can now be scanned from a file similar to the existing Amiibo scanning
Added support for titles stored in
.wuhb
(Wii U homebrew) and.app
(NUS) formatAdded support for connecting to Pretendo network services
Cemu on Windows is now non-portable by default for new installations only. All data and config files will be stored in
%appdata%/Cemu
. This makes the Windows installation match other platforms. Existing installations will not be affectedAdded portable mode by placing a directory named
portable
next to the Cemu executable. Cemu will then store data and config files in this folder. This works on all platforms
General
Added
Disable screen saver
settingAdded
--title-id
command line parameter to launch games by title idAdded desktop shortcut creation to game list
Added experimental GamePad microphone support
Improved unicode character support across the board, including the names and descriptions of graphic packs
Cemu will no longer refuse to start when the MLC path is invalid
Fixed several GamePad window size issues
Fixed a regression causing an infinite loop in the renderer. This would previously cause Tokyo Mirage Sessions and Pokkén Tournament to freeze on boot
Fixed a regression causing some games to crash without dumped Mii system files. Known affected games were Sonic Lost World and Super Mario 3D World
Initial support for title switchingImproved compatibility with the Wii U menu which can now run and launch games
Games with launchers, like Ryū ga Gotoku 1 & 2 HD and Steamworld Collection, are now playable
This feature is still experimental. Once it's stable, the option to quit games without closing Cemu will be addedFixed a crash that could occur when the Title Manager tried to display system data titles
Fullscreen mode can now also be toggled with F11
The GamePad view will now display the game-specific bootup screen
Discord rich presence will use the translated title name that matches the console language, instead of defaulting to English
Fixed an issue where error dialogs in a game (erreula) can't be interacted with if the GamePad window is open
Updated default game profiles
Decreased the latency of the H264 decoder by decoding frames asynchronously
Windows
Re-enabled DPI awareness
Fixed a crash that would occur when no audio devices are available
Linux
Added wayland support
Added support for storing MLC and game files on case-sensitive filesystems
Added an option to enable GameMode
Brought online features on a par with Windows builds
Enabled DSU controller support
Emulated games can now access HID devices from the host via libusb (e.g. Skylanders portal)
Many changes to improve robustness of the Linux build
Added debug option to create core dumps on crash
Improved diagnostics logging in case of crashes or other exceptions. Cemu is now also shipped with symbols so that stack traces show function names
The CPU and memory statistics in the overlay now work on Linux
The background colors of the Game List now match the brightness of the window theme instead of always using bright colors
Fixed an issue where closing the GamePad window would freeze Cemu
Fixed a bug where the GamePad window would not render anything with OpenGL
Fixed an issue where some UI dialogs would cause Cemu to crash after closing them
Fixed many smaller UI issues specific to WxWidget's wxGTK backend
UI
Added
Receive untested updates
option to general settings. More info hereAdded
Open Cemu folder
andOpen MLC folder
options to the File menuAdded new options when right-clicking a game inside the Game ListCopy the title ID, name or icon of a game
Delete the shader cache of a gameAdded a location column to the Title Manager
Separated icons in the Game List into their own hideable column
Fixed empty title names in Title Manager if the console language is set to something other than English
Fixed an issue where custom game names would not show in the Game List when it was set to icon mode
Fixed an issue where an extra "c" entry would show up in the save import/export dropdown in the Title Manager
Fixed an incorrect error message that could occur while installing games due to a mistake in the calculation of free disk space
The font size of overlay text will now scale according to the display's DPI
Fixed a crash that would occur when clicking on the Format column header in the Title Manager
Use the long title names in the Game List instead of the short name. This was changed due to some games which have cut-off short names
UI elements for options that cannot be changed at runtime are now grayed out when a game is running
Simplified the
Getting Started
dialogVarious smaller tweaks and restructuring of the UI to make Cemu more user-friendly
CPU
Improved emulation of PowerPC overflow condition. Improves compatibility with some Unity and DS Virtual Console games
GPU core (Latte)
Added support for more shader instructions, some of which are necessary for homebrew shaders compiled with CafeGLSL
Optimized output of the shader decompiler which slightly reduces shader compilation times
Removed shaderMulAccuracy
min
option since it has no measurable benefits over the other optionsUse better hashing for the buffer cache to avoid hash collisions. Fixes a bug in BotW where the weapon trail effect would sometimes render in a solid red color for a single frame
Added support for a missing vertex format used by Rabbids Land
Corrected calculation of
FragCoord.w
. Fixes rendering issues in DS Virtual Console gamesFixed several issues where the shader decompiler could generate broken GLSL. Fixes rainbow colors on characters in Tekken Tag Tournament 2
Various smaller optimizations
OpenGL
Removed
-legacy
command line parameter which has been non-functional for a long time. Originally this would disable some features to fix crashes on pre-2015 Intel GPU driversCemu should no longer crash if OpenGL fails to initialize
Fixed a regression where Cemu's precompiled shader cache for OpenGL wasn't actually used
Lowered latency of texture readback. This fixes severe FPS drops in BotW whenever something is lit on fire
Vulkan
The option
Async shader compile
is now enabled by defaultMulti-threaded pipeline compilation during the shader cache loading screen is now again enabled on Nvidia drivers which results in much faster pipeline loading
Fixed incorrect decoding of
R4G4
texture format whenVK_FORMAT_R4G4_UNORM_PACK8
is not supported. Fixes invisible rupee counter in Twilight Princess HDSeveral changes to make Cemu align more with the Vulkan specification
Avoid a crash if validation layer is enabled but not installed
Improve floating point emulation accuracy in shaders when
VK_KHR_SHADER_FLOAT_CONTROLS
extension is available. This fixes mobs in Minecraft having misplaced limbsAdded support for
R32_X8_FLOAT
color texture formatAllow
RGBA16F
texture format with SRGB bit. Fixes a crash in Sonic TransformedFixed stencil front mask using the value of the back mask
Enhanced synchronization of draw calls involving textures that are read from and written to simultaneously. Resolves an issue with broken heightmaps in BotW on the Mesa RADV driver
Resolved a crash that occurred when the pipeline cache failed to open due to corruption or other issues
Online Functionality
Fixed online connectivity for accounts in North America region after Wii U system update 5.5.6
Added option to switch between Nintendo, Pretendo or custom server URLs
Online mode and server selection can be set per-account instead of only globally
The Download Manager will always connect to Nintendo servers even if the current account is set to Pretendo or custom servers. This avoids the hassle of having to switch server settings temporarily to use the Download Manager
Fixed SpotPass downloads not working at all on Linux/MacOS and generally improved robustness of SpotPass downloads
Correctly set the current app in the friend status so it doesn't show up as "???" to other friends anymore
Added rudimentary proxy support (can currently only be configured by editing settings.xml)
Input
Added a pairing utility for Wiimotes
Added Wiimote support for Linux and MacOS
Fixed a crash on Cemu startup caused by DSU initialization that would occur when not connected to any network
Added support for analog triggers for DSU API controllers
Fixed incorrect CRC calculation in DSU protocol
Fixed an issue where the UI would allow to configure more controllers of a particular type than technically supported
Always refresh the input settings UI when a different controller profile is selected
Loading a controller profile in the input settings, then changing the name and saving it again correctly creates new profile under the new name now
Simulate the behavior of the Wii U input driver returning no input data when queried too quickly. Fixes extra controllers not being detected in Affordable Space Adventures
Increased frequency of WPAD/KPAD sampling callbacks. This fixes the high latency of controllers in Pokémon Rumble U
Audio
Added a default device to the Cubeb device selection
Localization
More parts of Cemu are now translatable
While some languages have been updated with new translations, most translations remain incomplete. We are looking into streamlining the translation process in the future
Graphic packs and patches
The feature to change the pixel format of a texture (
overwriteFormat
in rules.txt) is now working correctly on VulkanFixed an issue in the parser for assembly patches where commas inside strings would be treated as a delimiter
Games will now see new files added via graphic packs. Previously when a game iterated a directory, it would only see files matching the names of the original game files and not any of the new files added by graphic packs
Debugging
Added GDB stub for attaching external debuggers
Added a simplistic PPC profiler to the PPC Threads view
Fixed register window not updating in PPC debugger on Linux/MacOS
Added logging breakpoints
Added support for memory read/write breakpoints on Linux
PPC stack traces in log.txt will display function names if they are available
Added
Invalid API usage
log type. This log type is aimed at homebrew developers and will inform about misuse of certain API functionsAssigned a name to all of Cemu's threads. The main thread is now called
cemu
Added a window to view logging output in realtime (Debug -> Open logging window)
Various smaller fixes for the PPC debugger
Technical CafeOS and HLE improvements
Fixed a bug in
nn_save
that would prevent a title from accessing the saves of other titles. This is often for bonus content like Captain Toad Treasure Tracker or demo versions of gamesFixed an out-of-bounds memory access in sndcore
Reworked coreinit API related to thread creation (
OSCreateThread
,OSCreateThreadType
)Added HLE implementions for
nfc.rpl
,ntag.rpl
andproc_ui.rpl
Implemented coreinit FSA API which is used by homebrew compiled with WUT 1.3.0 or newer
Reworked nsyshid to support different backends (currently the backends are: libusb, Windows HID API and emulated portals)
Stubbed drmapp
PatchChkIsFinished
,AocChkIsFinished
,TicketChkIsFinished
andnn_sl.GetDefaultWhiteListAccessor
to avoid errors and crashes on the Wii U menuStubbed
sysapp.SYSSwitchToEManual
to avoid softlocks when accidentally opening the manual in any gameFixed a regression where most
OSAtomic
functions would return the wrong valueFixed issues where Mii names where handled with the wrong endianness leading to names being displayed as garbled text in some games
OSReport
andOSConsoleWrite
are now thread-safe and calling them in parallel will not cause log corruption or crashesVarious improvements to coreinit OSDynLoad API
Reworked coreinit memory mapping API (
OSAllocVirtAddr
,OSMapMemory
, etc.)Tweaked coreinit thread scheduler to avoid a deadlock in Just Dance 2019
Fixed an issue where emulated PowerPC threads would sometimes immediately end their allotted timeslice
Added support for parent directory references ("..") in FS/FSA file paths
Fixed an issue where the FS/FSA working directory would be ignored for some filesystem operations
Implemented more parts of
nn_olv
. Mario Kart 8 tournaments and ranking uploads are now functionalFully reworked nn_fp (Friend service) implementation
Implemented PPC va_list and va_arg. Additionally reworked functions that rely on these
Fixed UTC offset calculation in
GetUtcOffset
/GetUtcOffsetEx
Correctly handle permissions for
FSGetMountSource
. This fixes One Piece: Unlimited World Red freezing on bootStarted work on a new modularized approach of handling HLE modules. This will eventually simplify title switching and is a prerequisite for multi-process emulation
Improved accuracy of
OSSwitchCoroutine
. Fixes a crash in Injustice: Gods Among Us during bootImplemented minimal code for
KBDGetKey
. Fixes MSX Virtual Console games freezing on bootCorrectly treat the target in
GX2CopyColorBufferToScanBuffer
as a bitmask and not an idAvoid a crash in
nsysnet.recvfrom
when the peer address is nullAdded support for
SO_TYPE
innsysnet.getsockopt
Added support for
SO_BIO
andSO_ENOTCONN
innsysnet
Correctly set wiimote position visibility state in
KPADRead
. This fixes the wiimote cursor being invisible in Little InfernoFixed a crash that would happen when
KPADGetUnifiedWpadStatus
was called while input logging is enabledImproved handling of APIs that should fail gracefully in offline mode (e.g.,
nn_act.AcquireNexToken
)Implemented additional CafeOS API:coreinit:
OSIsDebuggerPresent
,OSGetForegroundBucketFreeArea
,OSGetSystemTick
,MCP_GetTitleId
nsysnet:
inet_ntop
nn_act:
GetTransferableId
nn_acp:
ACPGetTitleMetaXml
,ACPGetOlvAccesskey
zlib125:
deflateInit_
--2.0 Experimental--
Cemu is now open-source!
Preliminary Linux builds are available on github, but be warned that they are still very rough around the edges
Going forward, we simplified the versioning a bit by using shorter version numbers (2.0, 2.1, 2.2, 2.3..)
Updated all dependencies. Most notably SDL (input & motion) and wxWidgets (UI)
Fixed a crash in the H264 video decoder. Resolves crash on Smash title screen
Made nsysnet a little less crash prone. Fixes crash in Call of Duty: Black Ops II
Fixed a logging related crash that could occur under very specific circumstances. Seen in Wind Waker if letting the game idle on the title screen for 2 minutes
Fixed a crash that could happen when the path to Cemu.exe contained unicode characters
Fixed a crash that could happen when loading .elf homebrew
The account list in the title manager save exporter is no longer empty
Latency for wiimotes should be a bit better now
Added symbol/function list to debugger + other small debugger/assembler improvements
Implemented API: coreinit.FSOpenFileExAsync (used by some homebrew)
Many more under-the-hood changes and fixes
Some more work towards a Stop&Restart emulation feature. Not ready yet but we are getting there
--1.27.1 Experimental--
The 'Accurate barriers' option for Vulkan is now enabled by default. You can still disable it manually to get extra performance, but be aware that it will cause occasional flickering graphics
Fixed several bugs where Cemu sometimes wouldn't be able to locate a title stored in a game path
Fixed rumble not working
H264 decoder now supports multiple parallel decoding sessions. Fixes menu videos getting stuck or causing crashes in Mario Tennis: Ultra Smash.
Improved accuracy of emulated filesystem. Fixes crashing and deadlocks in Yoshi's Woolly World, Xenoblade Chronicles X and Hyrule Warriors
Title Manager: Game file integrity check now works for .wua titles
Improved accuracy of error code handling for Nintendo system services. Allows for more precise online error codes than the generic "106-0502"
Various compatibility improvements for niche titles like The Voice, Jewel Quest, Tiny Galaxy and many more
Vulkan: Added support for LINE_LOOP primitive. Mostly used by homebrew or mods
Miscellaneous bug fixes
--1.27.0b Experimental--
Hotfix
Refresh button in title manager now works correctly.
Fixed an issue where WUA conversion would add extra bytes to the last file.
Fixed potential crash with H264 decoder.
--1.27.0 Experimental--
Reworked title management from the ground up
Scanning for titles should be a lot faster. Very noticable if you have a large library
Updates and DLC no longer need to be installed. Cemu can now detect and load them directly from the game path folders
The title manager window no longer is restricted to showing only one entry per title id, making it easier to manage duplicates
Introducing support for a new file format for games which we dubbed Wii U archive (.wua):
Supports multiple titles in a single file (e.g. a game combined with it's update and DLC)
Cemu can play them directly and display them in the game list
Uses compression, resulting in a smaller size than WUX or extracted folder format
Lossless, can be converted back to the original files
You can easily convert any of your games into .wua format via the Title Manager
A standalone tool, including source code, for packing/unpacking is available here
Added Cubeb audio backend (see our roadmap for details)
Added a workaround for sampler rounding behavior differences between Wii U and OpenGL/Vulkan. This fixes invisible effects in some Wayforward games
Opening the GamePad view will no longer blank out the main window on OpenGL
Fixed Ctrl + Tab hotkey not toggling between TV and GamePad view
General debugger improvements. Added breakpoints will now be remembered across sessions
Reworked PDM (Play Diary Manager) service to be a bit more accurate. If you use a full mlc dump, Cemu will show the playtime stats from your console in the game list.
Implemented nn_ac API GetAssignedAddress() and GetAssignedSubnet()
Improved texture cache heuristics. Should save a bit of VRAM and avoid some unnecessary texture copies
Reworked GX2R API and fixed some bugs in the process. Transformers Prime should no longer crash on boot
Fixed an issue in the RPL loader where it would generate the wrong branch type. Fixes Your Shape: Fitness Evolved crashing on boot
Fixed a crash that could occur when a game tried to access the GamePad camera
Added a way to specify IP and port before selecting a DSU controller
Tons of under the hood changes. Including:
Almost fully migrated to CMake
Upgraded from C++17 to C++20
Reworked internal string handling to use UTF8 almost everywhere
Reworked path handling to be more robust. Relative paths and network storage locations should work now.
Reworked emulated system libraries: coreinit atomic, coreinit FS, nn_aoc
--1.26.2--
UI: The game list will now refresh automatically after setting a path during the Getting Started dialog
--1.26.1--
# Lots of Input fixes
Improved keyboard handling (Shift and other special keys can be mapped and used again)
Better handling for controller connect/disconnect. The UI will now update accordingly
Improved rumble for Gamecube controller API (#596)
Fixed an issue where the currently active controller profile file (controller<Index>.xml) would be deleted when the game profile set a different profile
Restored DirectInput under Wine
Fixed threading issues causing random crashes, usually these would occur when interacting with the input settings in some way
Fixed an issue where a rumble strength setting of 0 wouldn't completely disable rumble on some input APIs
--1.26.0--
input: Reworked input system from the ground up, fixed bugs and added new features
--1.25.6--
general: The download manager now has experimental support for downloading DLC
Online features require dumped system files. See the guide at:
https://cemu.cfw.guide/online-play
Vulkan: Fixed an issue where asynchronous GPU operations could get stuck indefinitely
Lego Batman 3 should no longer softlock on Vulkan (#495)
Vulkan: Reworked command buffer scheduling to decrease latency between CPU and GPU
This can improve performance on some systems
GX2: Correctly emulate timestamp submission in GX2DirectCallDisplayList()
Some games, like Bayonetta 1, rely on this behavior and should run much more stable now
UI: Fixed an issue where the game list would not track play time
--1.25.5--
New in 1.25.5b
Vulkan: Partially reverted new synchronization model due to worse performance on some drivers
Also fixed a general synchronization issue that could lead to flickering graphics and various other defects
UI: Tracking of play time should work correctly again
gfxPacks: Fixed two regressions related to label processing in assembly patches (#574)
New in 1.25.5:
CPU: Added option to control the speed of the emulated CPU timer, similar to the functionality offered by Cemuhook's custom timers
Vulkan: Reworked internal synchronization
This fixes some pixel flickering artefacts. Known occurrences:
Some waterfalls had tiling artefacts in Breath of the Wild
Shadows would flicker in Pac-man and the Ghostly Adventures
AX: Implemented audio AUX bus mixing correctly
Some games use this feature for reverb or similar audio post-processing effects
The changes below are mainly of interest to graphic pack developers:
gfxPacks: Fixed various issues related to assembly patches
Alignment behavior is now consistent across all gfx pack versions
Automatic alignment. Cemu will automatically insert padding to keep the alignment intact (.align directive no longer required in most situations)
Fixed wrong encoding of CR operand in cmpw/cmplw instruction
debugger: Double clicking an entry in the debugger module window will jump to its base address
debugger: The debugger register view window will now correctly show the state of the CR register fields
--1.25.4--
Vulkan: Avoid internal hash collision related to pipeline lookup
This fixes a bug where, under very rare circumstances, draw operations would render with the wrong parameters
Seen in Minecraft where the block highlighting lines would render as broken triangles, other games are possibly affected as well
Vulkan: Optimized data uploads to GPU
On systems with unified memory (integrated GPUs) we will use cached shared memory which has very low overhead
Data uploads are generally not a bottleneck in Cemu but this optimization might still help with performance on low-end systems
OpenGL/Vulkan: Fixed a regression from 1.25.3 where textures would show incorrectly or garbled
UI: The graphic pack preset selection is now more robust and consistent
Previously it was possible that the active presets would differ from the ones shown as active in the UI
UI: Fixed an issue in the texture cache viewer window where the overwrite resolution column would not show the correct value
--1.25.3--
New in 1.25.3b:
Vulkan/OpenGL: Fixed graphic bugs introduced by one of the optimizations in 1.25.3
Vulkan: We had to disable multi-threaded pipeline loading for Nvidia GPUs due to driver crashes
The exact cause is still being investigated. We plan to reenable this feature for Nvidia GPUs once a solution has been found
New in 1.25.3:
Vulkan/OpenGL: Several smaller performance optimizations to decrease CPU load of the GPU emulation thread
Vulkan/OpenGL: Fixed performance regression introduced in 1.25.2
Vulkan: Pipeline cache loading is now multi-threaded and thus should be much faster
Vulkan: Fixed a severe memory leak during pipeline cache loading
GX2: Minor optimizations to various GX2 API functions
UI: Input window improvements
Slightly altered profile load/save buttons for better clarity. Making it easier to distinguish if a profile is created, updated or loaded
Show a warning if no GamePad has been configured as most games require one to be at least connected
logging: Cemu will now no longer overwrite the log file immediately on start. Instead it will only write it once a game has been launched or an error occurred
This is to prevent users from accidentally resetting log.txt merely by reopening Cemu
--1.25.2--
New in 1.25.1d
syshid: Various tweaks and fixes to the emulated HID driver (#545)
Fixes USB portal device randomly disconnecting in Skylanders Swap Force
Fixes high latency (up to half a minute) on some portal devices
Vulkan: Ignore invalid mips for MSAA textures
Fixes Snoopy's Grand Adventure (US) crashing on boot (#355)
The EU version still gets stuck at the language selection screen. A workaround for this is to use a save file with the language already set
Vulkan: Added support for little-endian encoded vertex indices
Fixes broken 3D geometry in Neko entertainment games (or anything that uses NGDK2 engine)
VPAD: Corrected behavior of touch-screen coordinates when in non-touching state
Fixes unclickable buttons in Neko entertainment games
AX: Implemented API AXSetVoiceOffsetsEx
F1 Racing should no longer crash on launch
UI: When launching Cemu with the -g option skip loading and displaying the game list
UI: More descriptive error messages when launching a game fails (e.g. due to moving game files but not updating the paths)
UI: Fixed an issue where changes to graphic packs settings would not save
nsysnet: Fixed a crash in getsockopt()
Seen in Skylanders Swap Force with online mode enabled
coreinit: Implemented API FSTruncateFile/FSTruncateFileAsync
Adventure of Pip will no longer freeze when saving
coreinit: Correctly handle the mirrored affinity bits in OSThread context
Fixes Othello softlocking on the titlescreen--1.25.1--
New in 1.25.1c
UI: Cemu will inform the user about the available Cemuhook update if an outdated Cemuhook installation is detected
New in 1.25.1b
general: A side effect of upgrading wxWidgets was that it broke compatibility with Cemuhook
This hotfix prevents outdated Cemuhook from crashing Cemu
You can get an updated version of Cemuhook for 1.25.1 on https://cemuhook.sshnuke.net/
New in 1.25.1:
general: We now ship with Cemuhook's shared fonts as the default system fonts
Our previous placeholder font was incomplete and lacked some special characters as well as many non-latin characters
Credits go to rajkosto for creating the fonts and hand-drawing the Nintendo specific glyphs
general: Fixed an issue where Cemu would create the mlc directory at the default location before the user set a location in the 'Getting started' window
general: Improved robustness of title/update installer. It should no longer crash when encountering unexpected errors
AX: Fixed behavior of AXGetVoiceLoopCount()
Resolves an issue where animations would reset or skip ahead in Splatoon and Super Mario Maker (#15)
This change may also positively affect games that are prone to random sound corruptions (e.g. Paper Mario Color Splash)
GX2: GX2ResetGPU() will no longer softlock Cemu
Games occasionally call this API if they believe the emulated GPU is stuck (e.g. due to excessive shader compilation stutter)
Seen in Xenoblade Chronicles X, Mario Tennis and Darksiders 2
UI: Removed precompiled shaders option from UI as it had no effect on Vulkan. There was also no reason to set it to anything but the default (auto) on OpenGL
This is just a UI change, none of the actual shader caching mechanics were changed
UI: Clicking the download graphic packs button in the 'Getting started' window will correctly open and show the graphic packs window
Previously the gfx pack window would either not open at all or show up empty
misc: Upgraded wxWidgets (GUI library) to version 3.1.5
This may resolve crashes that some users have been experience when accessing any file or folder selection dialog
--1.25.0--
New in 1.25.0b:
Vulkan: We further optimized pipeline caches to have a smaller file size
OpenGL/Vulkan: New shader cache format
50-70% smaller file size compared to the old format
Internally, it uses our modernized GPU state representation that we also use in the new pipeline cache files
Vulkan: Fixed a regression from 1.25.0 which could cause various random graphic bugs
New in 1.25.0:
Vulkan: Added a permanent cache for Vulkan pipelines
Unlike the Vulkan-native cache that Cemu used before, this cache does never reset
Additionally the new cache is independent of hardware and drivers and can therefore be transferred between different PCs
Technical info:
Pipeline caching works by capturing the state of the Wii U's GPU at the time of pipeline creation
During the pipeline loading screen Cemu can then play back those captured states to recreate the pipelines
Pipelines are directly tied to your shader cache. You need both caches to restore pipelines
Pipeline cache location: shaderCache/transferable/<titleId>_vkpipeline.bin (new)
Shader cache location: shaderCache/transferable/<titleId>_shaders.bin (new, updated with 1.25.0b)
Known issues:
The pipeline cache doesn't cover all edge cases yet and a very small fraction of pipelines can't be cached
It affects less than 0.1% of pipelines but we are looking to bring that number down to zero within the next 1-2 Cemu releases
coreinit: Fixed a recent regression which caused Pokken Tournament to crash or softlock on launch
general: Updated language files
--1.24.0--
New in 1.24.0b:
input: Minor internal tweaks to improve controller detection on SDL2
input: Fixed an issue where controller profiles could not be saved on a particular controller slot under very rare circumstances
New in 1.24.0:
input: Added SDL2 GamePad as a new input API (#514)
Offers native support for many controllers that would normally require external software (BetterJoy, DS4Windows, Steam)
Includes motion support for GamePad emulation (if motion data is provided by the controller)
SDL2 also acts as a wrapper for XInput, making it an convenient all-in-one solution
input: As part of introducing SDL2 we also reworked our motion handling (#329)
You should now have a much better experience using motion with both DSU but also the new SDL2 controllers
nlibcurl: Made server certificate checks more permissive to match new behavior in Wii U firmware 5.5.5
This fixes a bug where it was no longer possible to connect to Super Mario Maker course world
OpenGL/Vulkan: Tweaked buffer cache invalidation
Fixes corrupted graphics in Kung Fu Panda: Showdown of Legendary Legends
--1.23.1--
New in 1.23.1b
general: Fixed various regressions introduced by an internal optimization in 1.23.1
New in 1.23.1
UI: Download Manager now displays a progress indicator for verifying/installing stage
CPU/JIT: Added some missing instructions to recompiler
Should boost performance in Minecraft, specifically when there are a lot of active sound effects (e.g. during rain)
May also boost performance in other games
GX2: Corrected behavior of GX2GetSurfaceFormatBits() for compressed formats
Resolves corrupted textures and random crashes in Sonic & All-Stars Racing Transformed (#527)
GX2: Fixed a bug where GX2GetLastFrame() would not setup the frame texture correctly
Resolves Hyrule Historia crashing on boot (#402)
coreinit: Reworked OSFastMutex
Paper Mario Color Splash should not longer have massively degraded performance in multi-core mode (#525)
Vulkan: Fixed unpacking of quads into triangles
Resolves graphics bugs in Hyrule Historia
--1.23.0--
New in 1.23.0c
general: The game list will now automatically detect demos and system titles installed to MLC
It will also detect demos stored in game paths
general: Improvements to the download manager
- Fixed system titles getting installed to usr/title/ instead of sys/title/
- Fixed a bug where multiple updates would be displayed for a single title
- Installed updates are no longer always hidden and instead there is now a checkbox to hide installed entries
- Fixed a bug where content files with unusual size would fail to verify and cause the download to get stuck (e.g. Nintendo Land update)
- The game list should now update after installing any title or update
New in 1.23.0b
general: Improved robustness of download manager and fixed a few bugs that could occur during the installation step
New in 1.23.0
general: It is now possible to download purchased Wii U eShop games, system titles and updates via our new Download Manager!
Like other online functionality, it requires dumped online files from a Wii U
You can access the new Download Manager window under Tools -> Download Manager
Currently supported features:
- Downloading purchased eShop games and demos (owned games will be shared between your Wii U and Cemu)
- Buying games on eShop using the eShop Wii U application and downloading them via Cemu's interface. No game dumping required
- Downloading the latest updates for your owned titles
- Downloading some system titles (Friend list, eShop)
Note that DLC downloading is not yet supported but will be added very soon.
general: New FST reader (FST is the filesystem used for WUD, WUX and .app files)
Internal support for NUS content (.app) which ties into the Download Manager
Much higher read throughput than the previous implementation, may boost loading times on
lower end CPUs where FST processing sometimes became be a bottleneck
coreinit: Fixed thread cancelling not working correctly
This resolves an issue where browser based applications would softlock when trying to load any page
--1.22.13--
New in 1.22.13b
general: Fixed an issue where some installed DLC would not be detected
Vulkan: Fixed a rare crash that could happen randomly during gameplay
New in 1.22.13
OpenGL/Vulkan: Better detection of cache invalidation for compressed textures
This fixes multiple issues where textures would sometimes not update correctly. Examples:
- Emblems in Mario Kart 8 (#501)
- Character portaits in Hyrule Warriors (#174)
- Level preview images in Pokken Tournament
Vulkan: Added support for Latte GPU special state 5 (fast depth to color conversion)
Shadows in Tokyo Mirage Sessions #FE and Pokkén Tournament render correctly now
coreinit: Added API MEMDestroyFrmHeap
This resolves Color Splash crashing during some loading screens
coreinit: Further improved stability of TaskQueue API
This should resolve some softlocks in Tokyo Mirage Sessions
--1.22.12--
New in 1.22.12c
Vulkan: Fixed regression introduced with 1.22.12b that caused broken graphics on some GPUs/drivers
New in 1.22.12b
general: Fixed a crash that could occur when opening the general settings window
input: Fixed an issue where WGI would not show up in the input APIs
New in 1.22.12
Vulkan: Async shader and pipeline compilation is now multi-threaded
This speeds up background compilation and shortens the duration of missing visuals
mmu: Emulate the scratch memory region at the end of the address space (0xFFFFFFE0 - 0xFFFFFFFF)
Fixes a crash that would occur during some loading screens in Fatal Frame 5 (#347)
input: Fixed an issue where WGI (Windows.Gaming.Input) would sometimes cause Cemu to not close properly
input: Generally improved robustness of WGI
input: Improved performance when using GC controller API (#513)
gfxPacks: Added a new option to rules.txt:
default=true
If specified, the graphic pack will be enabled by default
This is intended to be used for workaround packs when there are no side-effects
logging: There is now a logging option to toggle log output for coreinit logging (OSReport, OSConsoleWrite and similar)
--1.22.11--
New in 1.22.11c
internal: Reworked internal code that handles file paths to improve robustness when paths include unicode characters
New in 1.22.11b
general: Fixed regression where some operations would use broken file paths by omitting the slash between mlc path and the subfolder
New in 1.22.11
general: Added a warning message when launching Cemu through steam. This is to inform the user that
Steam's shader pre-caching is known to cause broken graphics in combination with our async Vulkan shader compiler
general: Added command line options to overwrite web service URLs
--act-url <url> (default: https://account.nintendo.net)
--ecs-url <url> (default: https://ecs.wup.shop.nintendo.net/ecs/services/ECommerceSOAP)
nn_boss: Correctly handle HTTP errors when downloading SpotPass files
This fixes a crash when trying to play the 100 Mario challenge in Super Mario Maker
OpenGL: Avoid a crash that could occur when clearing depth textures
Fixes Smash 4 crashing under OpenGL
input: Improved stick axis handling when the resting state is slightly off-center
Resolves an issue where sticks sometimes couldn't reach the edge at default range multiplier
input: Fixed an issue where DirectInput would not detect all buttons (#47)
input: Show more sensible button names for disconnected DirectInput controllers (now displaying actual names instead of numbers)
logging: When using Vulkan write the exact driver version to log
logging: Keep up to 3 previous log files
--1.22.10b--
general: Fixed a crash caused by the separate GamePad view
New in 1.22.10
general: Vulkan is now the default render API
general: Added game profile option to overwrite the render API (#238)
general: Games installed via the file menu will now appear in the game list automatically (previously it was necessary to manually refresh it)
general: Fixed 'meta.xml missing' error that could occur when trying to install games/updates/dlc
gfxPack: Fixed a bug where graphic pack logging output would be garbled
Vulkan: Reduced number of Vulkan image views created by roughly 50%
Prevents crashes on drivers that have a low image view limit
coreinit: Tweaked behavior of MPWaitTaskQ() to prevent it from starving other threads of all CPU time
This fixes random softlocks in Yoshi's Woolly World (#474)
debugger: Fixed incorrect encoding of CR register with non-zero index in compare instructions
debugger: Graphic pack codecaves now show up in the module list
debugger: Added condition registers to the register view
--1.22.9d--
general: Internal tweaks to Windows.Gaming.Input
UI: Minor improvements to graphic pack window
New in 1.22.9c
UI: Fixed cut off dropdowns in the graphic pack window
New in 1.22.9b
general: Fixed a regression where the mlc path would be processed incorrectly, leading to Cemu not being able to load some mlc files
New in 1.22.9
input: Added support for Windows.Gaming.Input (Available only for Windows 10 or above)
Two new API options:
WGI GamePad Mirrors XInput but without the 4 controller limit
WGI RawController Mirrors DirectInput
Both of these usually have more stable drivers and should be preferred over regular XInput/DirectInput
input: Various smaller improvements to input settings
Stick preview now has a circle to indicate where 100% range of the emulated controller is
general: Fixed a crash that would occur when refreshing the game list when it contains WUD images without keys
coreinit: Implemented API OSIsHomeButtonMenuEnabled() and OSEnableHomeButtonMenu()
Fixes Disney Infinity 2.0 crashing on launch. It relies on specific behavior for correct initialization
OpenGL/Vulkan: Resolved an issue where depth buffer clears would use incorrect clear values
Fixes rendering bugs in Mario vs Donkey Kong: Tipping Stars
Fixes invisible UI in Dragon Quest X
OpenGL/Vulkan: Improved tracking and synchronization of overlapping memory in texture cache
Fixes black screen issue in CoD: Black Ops 2
OpenGL/Vulkan: Implemented support for shader instruction SAMPLE_C_L
Fixes missing lighting in CoD: Black Ops 2
nsysnet: Resolved an issue where recv() would starve other threads of CPU time
Fixes a rare softlock that could happen in various third party games
Note:
(#xx) refers to resolved bug tracker issues. See http://bugs.cemu.info/projects/cemu/
--1.22.8--
general: Fixed a recent regression where -mlc command line parameter would be parsed incorrectly
UI: Display a scrollbar if a graphic pack has more options than can fit into the window
HLE: Prevent Wind Waker HD from softlocking when using single-core recompiler
HLE: Prevent dynamic resolution scaling in Super Mario 3D World
This fixes a long standing issue where mirror effects in Level 1-5 would
cause the texture cache to be flooded, leading to stutter and sometimes even crashes if
not enough VRAM is available
coreinit: Optimized niche cases in Cafe OS synchronization primitives
This should improve performance in Paper Mario Color Splash when using multicore recompiler
The issue has not been entirely solved yet and further improvements are planned
Vulkan: Fixed a crash that could occur when a game supplied invalid texture sampler parameters
Resolves a crash in Super Meat Boy (#479)
GX2: Corrected a bug in the calculation of texture pitch for the tiling aperature
Fixes corrupted textures in Super Meat Boy (#479)
GX2: Improved robustness of OSScreen API and made it compatible with GX2
Previously drawing any frames with GX2 would disable OSScreen output permanently
Required by some homebrew applications which mix OSScreen and GX2
coreinit: Implemented API MEMRecordStateForFrmHeap, MEMFreeByStateToFrmHeap
Used by WUT homebrew
--1.22.7--
general: The default vsync frequency (emulated refresh rate) is now 59.94 to match the actual console
Graphic packs can still set it to a flat 60
general: Fixed various small memory leaks
Vulkan: Revised internal swapchain management and fixed some synchronization bugs in the process
Double-buffered vsync should no longer cause graphical artifacts
Vulkan: Added a new experimental vsync mode
If enabled, Cemu will match the vblank event timing of the emulated display to the physical monitor on which Cemu is displayed
This reduces latency and avoids tearing by piggybacking on the emulated game's vsync implementation
For *perfect* results, the vsync rate in Cemu should be equal or slightly higher than the monitor refresh rate
As an example: When playing BotW on a 60 Hz monitor you want to set FPS++ to either 60 FPS or the next higher option. This is assuming stable 60 FPS can be maintained.
Alternatively, any integer ratio (1:2, 1:3, 1:4...) should give good results as well. E.g. 30 FPS on 60 Hz, 36/72 FPS on 144 Hz
Even for non-integer ratios (30 FPS on 144 Hz) this mode of vsync should perform at least as well as the Vulkan-native double buffered vsync mode
While this is only available for Vulkan right now, we plan on adding this to OpenGL in the near future
Vulkan: Cemu's internal shaders no longer show up in the overlay statistic ('Compiled x shaders'). Unlike game shaders they do not get cached and also do not cause any stutter
H264/DXVA2: Fixed incorrect handling of mismatching frame pitch
This should fix broken video playback in Mario Party 10 and Pikmin 3 on some GPUs
GX2: Fetch shaders with a size of zero won't cause a crash anymore (regression introduced with 1.22.6)
Resolves Minecraft crashing on launch
--1.22.6c--
general: Made command line parameter parsing more robust
Short name option for fullscreen (-f) should work again
New in 1.22.6b
GX2: Fixed a graphic regression that was introduced by the fetch shader rewrite
New in 1.22.6
coreinit: More potential fixes for a mystery crash related to file operations and callbacks
The crash can most often be observed when loading saves in BotW but also can happen randomly during gameplay
coreinit: Avoid a race condition in thread deallocators
Fixes random crashes in various games
coreinit: Added a safeguard to prevent a state corruption when a game uses MPTaskQ improperly
Fixes Tokyo Mirage Sessions freezing or crashing shortly after launch (#472)
coreinit: Fixed a race condition in spinlock implementation
Improves stability of Tokyo Mirage Sessions and likely some other games
coreinit: Fixed OSScreenClearBufferEx() clearing a much larger data area than it should
This change should fix flickering and random crashes due to memory corruption in some homebrew titles
coreinit: Fixed an issue where the priority of default core threads was too high, leading to CPU starvation of other threads
Fixes random softlocks in Yoshi's Woolly World
GX2: Reworked GX2 event queue implementation to match behavior of actual console more closely
This resolves random softlocks in games that rely on GX2 events
GX2: Reworked fetch shader generation (GX2InitFetchShaderEx) to match behavior of actual console more closely
Improves compatibility with games that are picky about correct shader size. E.g. The Fall is now playable and no longer crashes on boot
Shader caches and graphic packs are not affected by this change
OpenGL/Vulkan: Fixed generation of invalid shader code when accessing integer texture samplers with certain parameters
Fixes an issue where the game screen was invisible in Virtual Console DS titles
debugging: wxWidgets errors are now written to log.txt instead of showing an error message box
debugging: Added --force-interpreter command line parameter to always force interpreter regardless of any game profile settings
--1.22.6--
Compatibility improvements
Lots of crash and bug fixes
--1.22.5--
Performance improvements
Compatibility improvements
Graphic fixes
--1.22.4--
Compatibility improvements
Graphic fixes and optimizations
--1.22.3--
New graphic pack features
Various fixes
--1.22.2--
Stability improvements
Improved debugger tool
--1.22.1--
Stability improvements
UI tweaks
--1.22.0--
Threading rework
--1.21.5--
Compatibility fixes
Misc improvements
--1.21.4--
Updated memory searcher tool
Graphics fixes
Compatibility improvements
--1.21.3--
Anisotropic filtering can now be controlled via graphic packs
Re-Added texture dumping support
Graphics fixes
--1.21.2--
Vulkan fixes
Various smaller optimizations
--1.21.1--
Vulkan fixes
UI improvements
--1.21.0--
Added game file verification to title manager
Graphic packs can now extend the amount of RAM available to games
Misc fixes
--1.20.2--
Graphic fixes
Stability improvements
Improved support for homebrew
--1.20.1--
Fixed several graphic bugs
Fixed audio bugs
Misc smaller fixes
--1.20.0--
New GPU buffer cache
Option to import/export saves
Misc improvements
--1.19.3--
Vulkan and OpenGL graphic fixes
Minor performance improvements
--1.19.2--
Audio improvements
Title manager improvements
Vulkan/OpenGL fixes
Misc smaller improvements
--1.19.1--
Added title manager tool
Graphic fixes
Misc minor improvements
--1.19.0--
Added option to allow async shader & pipeline compilation (Vulkan only)
Vulkan fixes
Minor compatibility improvements
Misc minor improvements
--1.18.2--
Vulkan improvements
Amiibo improvements
Misc smaller changes
--1.18.1--
Vulkan and OpenGL fixes
Input improvements
Misc smaller changes
--1.18.0--
Added support for DSU client as input API (Cemuhook motion provider protocol)
Added quick start assistant for new users
Debugger & patch format improvements
Optimizations for titles that use dynamic code generation
--1.17.4--
Added emulated SD card
Vulkan stability improvements
Minor compatibility improvements
--1.17.3--
JIT code translation is now asynchronous
Gamelist improvements
OpenGL & Vulkan crash fixes
Misc bug fixes and smaller changes
--1.17.2--
Stability improvements for multi-core recompiler modes
Stability improvements for Vulkan
Compatibility improvements
UI clean up
Miscellaneous bug fixes and smaller new features
--1.17.1--
Vulkan improvements
Misc smaller new features and bug fixes
--1.17.0--
New graphic pack features (UI and internally)
Native support for Cemuhook patches + our own patch format
Gamelist fixes
Vulkan improvements
Tons of smaller bug fixes and improvements
--1.16.1--
Vulkan performance improvements
Various smaller changes and fixes
--1.16.0--
Added Vulkan renderer
Miscellaneous improvements
--1.15.20--
Minor compatibility improvements
Various smaller changes
--1.15.19--
Added account management (aka separate save slots)
Bug fixes and misc smaller features
--1.15.18--
Improved game list
Faster startup time
Misc minor bug fixes
--1.15.17--
Improved Amiibo support
Support for Gamecube controllers running in Wii U mode (with zadig drivers)
Game list improvements
Misc bug fixes
--1.15.16--
Bug fixes
Small usability improvements
--1.15.15--
Surround sound support
Minor improvements and bug fixes
--1.15.14--
Software keyboard and Wii U message box (ErrEula) improvements
Bug fixes
--1.15.13--
Minor compatibility improvements
Bug fixes
--1.15.12--
Bug fixes & minor tweaks
--1.15.11--
Improved handling of updates and DLC
Debugger improvements
Internal shader changes
Bug fixes
--1.15.10--
Added auto-updater
Screenshots are now automatically saved to a folder
Niche optimizations
Bug fixes & minor improvements
--1.15.9--
UI improvements
Compatibility improvements
Bug and crash fixes
--1.15.8--
Overlay enhancements and new notification system
Improved accuracy of streamout cache
Graphic fixes
Bug and crash fixes
--1.15.7--
Controller information added to overlay
Faster JIT recompilation
Bug and crash fixes
--1.15.6--
Added UI editor for game profiles
Per-game controller configuration
Removed deprecated settings/UI
Improved support for Lego and Skylanders USB portals
--1.15.5--
Recompiler accuracy improvements
Further reduced micro-stuttering
Bug fixes & miscellaneous improvements
--1.15.4--
Added h264 video decoding support
Added more SpotPass functionality
Bug fixes & miscellaneous improvements
--1.15.3--
Reduced micro-stuttering
Shader screen now displays game boot image
Added debug tools: Frame profiler + WUD filesystem dumper
Crash and input fixes
--1.15.2--
GamePad audio support
Optimizations for 'High' GPU buffer cache accuracy
Upscaling filters reworked
Recompiler improvements
Vsync fixed
Bug fixes & misc smaller improvements
--1.15.1--
Wiimote improvements
Audio improvements
Added button to download community graphic packs
'No legacy' mode for Intel GPUs is now the default
Compatibility & miscellaneous improvements
--1.15.0--
Added PowerPC Debugger
Added configurable graphical overlay
Added file replacement (mod) support via graphic packs
Compatibility & miscellaneous improvements
--1.14.0--
New texture system & graphic fixes
Small audio improvements
Bug fixes & miscellaneous improvements
--1.13.2--
Usability improvements and new UI options
Slightly improved performance
Bug fixes & miscellaneous improvements
--1.13.1--
Improved audio emulation
Added XAudio2 support
Bug fixes & miscellaneous improvements
--1.13.0--
Overhauled graphic pack system and interface
New settings window
Added Discord Rich Presence support
Added .elf support (homebrew)
Bug fixes & miscellaneous improvements
--1.12.2--
Added UI localization
Optimizations
Bug fixes & miscellaneous improvements
--1.12.1--
General controller and native wiimote improvements
Added support for USB devices (via passthrough)
Minor compatibility improvements
Tons of bug fixes & miscellaneous improvements
--1.12.0--
Added friend list support
Added native wiimote support
Improved game list
Bug fixes & various smaller improvements
--1.11.6--
Added game list
Added option to toggle between conventional and separable shaders
Added new game profile options
Updated gameprofiles
Bug fixes & various smaller improvements
--1.11.5 --
Audio improvements
Added wiimote to list of emulated controllers
Added unicode support for software keyboard
Bug fixes & various smaller improvements
--1.11.4--
Compatibility improvements
Reduced overall memory usage
Added -nolegacy option for Intel GPUs (disables Intel-specific workarounds)
Minor other fixes and improvements
--1.11.3--
Added multi-core PowerPC emulation
SpotPass support (auto-download BOSS files)
Small optimizations
Misc smaller changes and bugfixes
--1.11.2--
Improved compatibility
Graphic bugfixes
Improved Amiibo support
Various smaller tweaks and new features
--1.11.1--
Improved PPC recompiler
Improved online support
Fixed graphic bugs
Compatibility improvements
ErrEula implementation (Wii U's message box system)
Misc bug fixes
--1.11.0--
Added support for native online play
Overhauled account and save handling
Graphic and input fixes
Improved compatibility
Tons of bug fixes and smaller tweaks
--1.10.0--
New audio backend
Customizable path for mlc01 directory
RDTSC timer (smoother gameplay, better audio)
Bug fixes
--1.9.1--
Added second window which displays the GamePad screen
Improved texture readback
Bug fixes (audio, recompiler and input)
Optimizations for the texture decoder
--1.9.0--
New controller configuration UI and profile system
Added support for XInput
Better implementation of VPAD and Padscore API
Improved gyro control via mouse
Misc bug fixes
--1.8.2--
Recompiler performance improvements
Audio improvements
Better support for softdec videos
Minor compatibility improvements
Misc smaller changes and new features
--1.8.1--
Improved compatibility
Improved graphics
Added support for socket API (nsysnet)
Improved Software Keyboard
Bugfixes
--1.8.0--
Separable shaders
Added memory scanner
Graphic improvements
Minor optimizations
--1.7.5--
More accurate FPU emulation
Optimizations
Bugfixes
--1.7.4--
Graphic improvements
Minor optimizations
Shader cache compilation is now multi-threaded
Graphic packs can modify texture formats
Bugfixes & minor new features
--1.7.3--
Patch and DLC support
Improved compatibility
Graphic improvements
Bugfixes & minor adjustments
--1.7.2--
Optimizations
Improved compatibility
Graphic improvements
Bugfixes & minor adjustments
--1.7.1--
Recompiler optimizations (Faster CPU emulation)
Improved compatibility
Reduced VRAM usage
Tons of bugs and crashes fixed
--1.7.0--
Added 'Graphic packs' (graphic modding support)
Extended shader cache, now transferable and forward compatible
--1.6.4--
Graphic improvements & Bicubic upscale filter
Compatibility improvements
Minor audio improvements
Minor optimizations
Bugfixes & misc small changes
--1.6.3--
Graphic improvements
Rewritten audio core
Bugfixes
--1.6.2--
Hardware acceleration for Streamout
Recompiler improvements
Optimized file operations + AES-NI support
Minor bugfixes, graphic and compatibility improvements
--1.6.1--
New universal GPU buffer cache (replaces vertex cache)
NFC support
Small graphic improvements
Minor changes and bugfixes
--1.6.0--
New texture cache/manager
Huge compatibility improvements
Graphic improvements
Audio improvements
Many all-around changes and bugfixes
--1.5.6--
Audio improvements
Reduced RAM usage (up to 1.5GB lower)
More crashes fixed
--1.5.5--
Added game profiles (manage settings per game)
Automatic region detection
Minor graphical improvements
Performance improvements
Added hotkey to toggle between TV and GamePad screen (Ctrl + Tab)
Fixed several bugs and crashes
--1.5.4--
Overall improved compatibility
Graphical improvements
Improved robustness of interpreter and recompiler
Added VSync option
--1.5.3--
Added support for anisotropic filtering
Added support for sRGB color space
Added button mapping to simulate 'Microphone blow'
Improved recompiler robustness
Fixed some bugs/crashes
--1.5.2--
Added support for mip-mapping
Added support for cubemap texture arrays
Various smaller improvements to the graphics backend
Slightly better compatibility and misc changes
--1.5.1--
Improved recompiler (Now utilizes AVX and BMI extension)
Better controller support
Improved sound emulation
Graphic bugfixes
Other changes and bugfixes
--1.5.0--
New enhanced controller configuration menu and emulation
Improved shader emulation and graphic bugfixes
Improved sound emulation
Reduced VRAM usage
Small bugfixes and changes
--1.4.2--
Added shader cache (reduces stutter after repeated sessions)
New texture loader (reduces stutter)
Added region and language selection
Generally improved compatibility in multiple ways
Various smaller changes
--1.4.1--
Recompiler improvements (up to 50-100% faster CPU emulation)
Increased compatibility
Fixed a few issues that occurred on AMD GPUs.
Added experimental vertex data cache
Smaller bugfixes
--1.4.0c--
Added PowerPC JIT recompiler (up to 5-6 times faster CPU emulation)
Decreased shader compilation stutter
Improved audio emulation
Large improvements to graphics emulation
Tons and tons of smaller changes and bugfixes
--1.3.3--
Added support for Software Keyboard
Can now hold TAB key to show GamePad screen
Added initial support for GX2 Streamout
Implemented coreinit Block Heap API
Several smaller improvements to graphics emulation
Misc bugfixes
--1.3.2--
Added multi-core support for CPU emulation (Disabled by default, not recommended at this stage)
Added support for polygon offset (fixes some shadows and surface flicker)
Optimized GPU cpu thread by offloading work to GPU (Improves performance in graphic intensive games)
Added support for GX2 Occlusion Query API
Improved support for texture samplers and fixed other texture issues
Added debug option to view active PPC threads
Fixed a crash that could occur when loading .rpx
--1.3.1--
Added fullscreen support
Added support for running extracted applications (.rpx with external files)
Added support for launching games via command line parameter
Vastly improved graphics
Improved accuracy and stability of filesystem code
Many smaller changes to various parts of the emulator
--1.3.0--
Added support for GPU7 geometry shaders
Improved support for 2D texture arrays and cubemaps
Generally improved shader emulation
New debug option: Dump textures and shaders
--1.2.0--
Added basic audio support
Added support for GX2 stencil buffers
Improved controller options
Miscellaneous bug fixes and small improvements
--1.1.2b--
Fixed rendering issues on AMD graphic cards
Minor changes and bug fixes
--1.1.2--
Added controller options
Added support for OSCoroutine API
Improved shader emulation
Improved texture/depth/color buffer management
Improved CPU timing and thread synchronization
Synchronous file operations no longer block CPU execution (reduces frame stutter)
--1.1.1--
Improved shader emulation
Added support for 3D textures
Lots of bugfixes
--1.1.0--
New future-proof GPU7 shader assembly to GLSL decompiler (work-in-progress)
Fixed a few bugs in color and depth buffer emulation.
Added more system functions, leading to higher compatibility.
Added hacky support for DRC rotation. Right click on the render window & drag to change the orientation
Implemented some background logic for audio emulation. No audio output yet.
--1.0.2--
Improved accuracy of shader emulation (again).
Improved the emulation of color and depth buffers.
Implemented support for: Vertex shader textures, depth samplers and instanced rendering.
Fixed a bug causing texture unit updates to be ignored
Some attempts to get the emulator running on AMD graphic cards (but we are not quite there yet)
If GLSL shader compilation fails the error is now logged to log.txt
Lots of other small changes and bugfixes.
--1.0.1--
Improved accuracy of shader emulation.
Implemented many system functions leading to higher compatibility.
Added support for statically loading and linking multiple RPX/RPL files (WUD only for now).
--1.0.0--
Initial cemu release.