melonDS 0.8
It's been awaited for so long, and finally, by popular request, here it is: melonDS 0.8, with OpenGL renderer and upscaling!



So, without further ado, let's discover all the details of this.


The OpenGL renderer

This renderer is an attempt at targeting a sweet spot of, say, 90% compatibility while being fast. If you have read the previous posts about the DS GPU and how quirky that thing is compared to your average GPU, you guess that perfect rendering with OpenGL isn't going to be possible, but we can do our best.

The current renderer supports most of the DS GPU features, but not all of them. There is room for improvement, but certain features will just not be implemented. For the games that happen to require those, we still have our old trusty, nearly pixel-perfect software renderer.

But, the OpenGL renderer opens the door to all sorts of graphical improvements. I have plans in mind for more features (namely, some form of texture filtering), but I will draw a line as to keep the codebase not too complex.


Upscaling

The OpenGL renderer is enabled by default, but you can go to the video settings dialog to configure it. Namely, this renderer supports increasing the internal resolution to up to 8x the native resolution.

Note that changing the internal resolution does not change the window size, you will need to take care of that. However, changes from the video settings dialog apply instantly, so you can compare the various settings and select the one you like best.


OpenGL display

The 'OpenGL display' setting uses OpenGL to display the DS screens in the melonDS window. This has nothing to do with the OpenGL renderer directly. However, it is forcibly enabled when using the OpenGL renderer, as the two work fastest when they are together.

OpenGL display can be used with the software renderer. You don't get upscaling, but you can, for example, enforce vsync via driver settings this way. Also, for now, screen filtering doesn't work with OpenGL display, but there are plans for filtering methods that would work with both renderers and provide amazing results. We'll see how far we can get on that front.

The alternative to OpenGL display is the old method that has been used by previous melonDS releases. Direct2D under Windows, cairo under Linux.


Take note that the 0.8 release is a bit of an experiment. Basically, we tested it before release to ensure the OpenGL renderer will work, but we can't cover every setup that exists, so it is likely that there will be issues arising either from crummy programming on our part, or from crummy OpenGL drivers. So, if you have any issue with this, let us know!


melonDS 0.8, Windows 64-bit
melonDS 0.8, Linux 64-bit

If you're feeling generous, if you want to help us take this OpenGL renderer further: here's our Patreon
poudink says:
May 31st 2019
this is unfortunately a complete disaster on my AMD laptop. In NSMBDS, almost nothing renders correctly.
Arisotura says:
May 31st 2019
welp, that's what I feared regarding AMD drivers

I'll need help to get that fixed
Niklink says:
May 31st 2019
Yeah dog I keep getting like, one of the two screens rendering as a blank color (usually blue, sometimes magenta). If the game has 3D it's so far always been the screen that has 3D graphics on it. Sometimes it's just a graphics layer and you can see other 2D graphics being drawn on top of the layer of solid color. Old-ass AMD desktop here.

0.9.1 hype :v
poudink says:
May 31st 2019
I can make a video, if you'd like.
Niklink says:
May 31st 2019
I meant 0.8.1, whatever, you get it
poudink says:
May 31st 2019
https://www.youtube.com/watch?v=cO4LMxqEarY&feature=youtu.be
please excuse the poor framerate, my laptop is not good.
BearOso says:
Jun 1st 2019
On Linux/AMD RX 580 OpenGL is working perfectly fine. Sometimes the menu bar will start flickering like one of the toolkit's backbuffers was accidentally cleared, but emulation is great.
poudink says:
Jun 1st 2019
oh yeah, I heard AMD's linux OpenGL drivers were less bad than the window ones.
Arisotura says:
Jun 1st 2019
pls redownload, I pushed a hotfix, that was actually an issue on our part
PRAGMA says:
Jun 1st 2019
Lit shit my dude, This has gotten great since v0.6, on 0.6 I remember a lot of audio crackling and a fair bit of stuttering just on the home menu, MelonDS has gone a fair bit in such a short amount of time. Please keep this up!
guest says:
Jun 1st 2019
The framerate limit option does nothing when using OpenGL. The emulator stays capped to 60fps.
MamiyaOtaru says:
Jun 1st 2019
xinput, can't bind triggers (shoulder buttons work). Would love to see some texture filtering too. Still, can 8x scale the resolution while I can't go more than 3x on the other emulator. This is pretty neat
Elco says:
Jun 1st 2019
cool , works very well
possible to add fullscreen in melonDS ??
thanks Devs
Comlud says:
Jun 1st 2019
OMG, this looks amazing!!
Thanks for all the hard work put into this, and looking forward for more updates in the future :D
Arisotura says:
Jun 1st 2019
guest: your driver is forcing vsync, look into driver settings
Post a comment
Name:
DO NOT FILL