This will be a continously updated blog post detailing my progress on getting our Windows/Winbloze game up.

I’ve dusted off an old Core 2 Duo laptop, put Windows 7 and 8 on it, and intend on getting the Windows ports up to snuff as well as starting work on the Windows Phone/Surface ports (I can only do the Surface ports for now since I still don’t have Windows Phones to develop on, though).

A few things I will be looking at:

  • Windows Surface/Phone RetroArch port – ie. making RetroArch suitable as a Windows 8 app
  • Getting RetroArch on the Windows App Store
  • Native MSVC 2010 solutions for most libretro ports out there (should also work on MSVC 2012 and later)
  • A frontend GUI/menubar of some kind for the Windows versions.
  • Two RetroArch Win versions – one for Windows 8 Modern UI, the other Desktop one with a more conventional UI

Right now, most libretro ports depend on a Mingw build environment. I’ll try augmenting this with native MSVC solutions so that we are no longer dependent strictly on Mingw for development. Also, like the last bullet point already suggests, an effort will be made to start implementing a rational, conventional, thin ‘GUI/menubar’ around the Windows ports. While RetroArch/RGUI is still meant  to be controlled by a gamepad and this is fine, I don’t think it’s too much to ask that we are able to at least select ROMs with a native file dialog screen – and other niceties like that which a menubar would provide. The RetroArch OSX port also benefited from similar additions and I don’t think the ‘raw’ way the current Windows version is put out really does it justice.

For people who won’t like this menubar/GUI, it will be possible to disable it so that RetroArch Win32 will look and act the same as it does now.

Also, of course with the port to Surface/Windows Phone will come an additional Windows 8-centric Modern UI GUI as well. The way I see it, there will be several versions of RetroArch in the future – one that will be available on the Windows Store with a modern UI look (where we basically release several statically linked cores + RetroArch on the App Store), and there will be a RetroArch with a desktop UI look (probably looking mostly similar to SNES9x) which you will be able to download from our Libretro website.

The RetroArch for PC with the modern UI look would have severe disadvantages (dynarec code can’t work for Windows 8 Store apps, Win8 apps don’t allow dynamic libraries so we will have to release standalone emus, and lots of other shenanigans) but at least we will have a presence for enduser people that only look at the Windows Store for possible apps to download – that, and it will converge neatly with the Surface/Windows Phone port.

I hate Windows 8.x as much as the next guy and am rooting for it to fail. The only reason I am really doing this is because of the RetroArch project and my desire for it to be omnipresent. If it weren’t for this, I wouldn’t be bothering to do this right now.

I’ll update this post when more progress is made (or make a new post in case this one is taking too long).

10 thoughts on “Making Windows a first-class libretro citizen

  1. Damn! That’s going to be a lot of work. Good luck!

  2. Great! Thank you for effort.

  3. I just wanted to say that as someone who really loves the cleanliness of the download and install/uninstall experience that Windows Store borrows from things like Linux repositories, I really appreciate you putting in the effort to do Windows Store and Windows Phone versions.

    I won’t pretend to understand the development complexities or challenges that you face, but I’m really glad to not have modern Windows platforms ignored because feeling like the outcast feels frankly awful.

    I’m wondering if you’ve looked at all at Microsoft’s ‘Universal App’ project model that they announced back at BUILD 2014.

    I do realize that it doesn’t magically make the exact same code execute across Windows 8.1 and Windows Phone 8.1 but it does seem as though that’s where they are headed and where they want to take things with the XBOX ONE when it gets upgraded to Windows 8.1 or Threshold.

    If I can scare up the cash, I’d love to send you a low end and high end Windows Phone 8.1 handset.

    1. Yeah, unfortunately, we still don’t have a Windows Phone. So the only target until I get one will be Windows 8 and the Surface RT 1 device (I know, not the most hot property out there).

      Anyway, gifts are welcomed – so this problem could correct itself. We got Blackberry to send a BB10 phone so that was at least very fortunate of them.

  4. MrMiketheripper

    June 29, 2014 — 6:01 pm

    Nice. May I ask what your primary development machine is?

    1. Most of his work is done on Arch Linux.

  5. Any updates on this? I recently switched from Android to Windows phone (using a Lumia 635) and am looking forward to the release on the platform.

  6. This is all great to hear. Windows tablets are coming into their own (they’re super cheap!) and it would be great to use them as emulation stations.

  7. i’m just running win7 64, what version of python do i need to get the damn thing working? there is seriously nothing that tells me this. i am not a moron, and i’ve tried 64 bit 3.2 and 32 bit 3.2 and neither works. probably the wrong forum, but maybe a dev can tell me why this is so hard to write into a howto?

    1. python? you don’t need python.
      you could start by explaining your problem

Comments are closed.