{"id":45213,"date":"2016-09-13T06:59:37","date_gmt":"2016-09-13T06:59:37","guid":{"rendered":"http:\/\/www.libretro.com\/?p=45213"},"modified":"2018-02-11T21:08:03","modified_gmt":"2018-02-11T21:08:03","slug":"retroarch-web-player","status":"publish","type":"post","link":"https:\/\/www.libretro.com\/index.php\/retroarch-web-player\/","title":{"rendered":"RetroArch Web Player"},"content":{"rendered":"<p>An Emscripten port of RetroArch has existed for years, but until recently, we never had a good opportunity to launch it in a state we felt comfortable with. Well, until now that is.<\/p>\n<p><strong>Web Player<\/strong><\/p>\n<p>So what is RetroArch Web Player? It&#8217;s a port of RetroArch that runs inside your web browser, powered by emscripten and asm.js. Most modern browsers available today should be compatible. That being said, we <strong>strongly recommend<\/strong> you use Google Chrome right now for smooth v-synced gameplay with no audio crackling.<\/p>\n<p>You can check it out right here!<\/p>\n<p><!--more--><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/buildbot.libretro.com\/web\" width=\"800\" height=\"900\" frameborder=\"0\"><\/p>\n<p>Your browser does not support iframes.<\/p>\n<p><\/iframe><\/p>\n<p><em>Dropbox support may not work in this embedded-player we added to this post, we haven&#8217;t enabled SSL on our main site and Dropbox doesn&#8217;t allow any sort of wildcard or regex on web apps.<\/em><\/p>\n<p>You can also click on <a href=\"https:\/\/buildbot.libretro.com\/web\">&#8216;Web Player&#8217;<\/a> in the top-right corner of the libretro.com website and in our <a href=\"http:\/\/libretro.itch.io\/\">itch.io page<\/a> in order to use it.<\/p>\n<p><iframe loading=\"lazy\" frameborder=\"0\" src=\"https:\/\/itch.io\/embed\/85694\" width=\"552\" height=\"167\"><\/iframe><\/p>\n<p><!--more--><\/p>\n<p><strong>Current state of the port<\/strong><\/p>\n<ul>\n<li>Over 40+ libretro cores available<\/li>\n<li>Gamepad support via SDL2<\/li>\n<li>Hybrid filesystem including cloud syncing courtesy of BrowserFS. This filesystem stores <em>userdata<\/em> in one of two backends (browser application storage or Dropbox); <em>assets<\/em> are loaded synchronously from an online repository and cached by the browser for future usage<\/li>\n<\/ul>\n<p><strong>Known frontend issues<\/strong><\/p>\n<ul>\n<li>Player 1 gamepads can sometimes control both player 1 and 2 at the same time in games that support 2 players.<\/li>\n<li>Guide button mapping is currently not available. We&#8217;re not sure if this is a limitation of the SDL2 input driver.<\/li>\n<li>Recent History doesn&#8217;t work yet.<\/li>\n<li>GLSL shaders don&#8217;t work (yet?).<\/li>\n<\/ul>\n<p><strong>Known core issues<\/strong><\/p>\n<ul>\n<li>BlueMSX      (MSX)       currently doesn&#8217;t work.<\/li>\n<li>Craft core   (Minecraft) currently hangs.<\/li>\n<li>Desmume core (Nintendo DS) currently doesn&#8217;t work.<\/li>\n<li>EasyRPG core (RPG Maker game engine) currently doesn&#8217;t work.<\/li>\n<li>FFmpeg core  (Movie\/music player) currently doesn&#8217;t work.<\/li>\n<li>Mupen64plus core (Nintendo 64) currently doesn&#8217;t work.<\/li>\n<li>PicoDrive core (Sega Genesis\/32X) currently doesn&#8217;t work.<\/li>\n<li>QuickNES core (Nintendo NES) has slightly distorted graphics.<\/li>\n<li>Tyrquake core (Quake 1 engine) currently hangs at startup loading screen.<\/li>\n<\/ul>\n<p><strong>Special thanks<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/jvilk\" target=\"_blank\">Jvilk &#8212; <\/a> for his excellent BrowserFS implementation and fixing a few bugs for us immediately when they were reported<\/li>\n<li><a href=\"https:\/\/github.com\/RobLoach\" target=\"_blank\">RobLoach &#8212; <\/a> for his work on the template <\/li>\n<li><a href=\"https:\/\/github.com\/twinaphex\" target=\"_blank\">Twinaphex &#8212; <\/a> for his tireless work on RetroArch and the cores <\/li>\n<li><a href=\"https:\/\/github.com\/toadking\" target=\"_blank\">ToadKing &#8212; <\/a> for the initial emscripten port and some fixes he sent on our way recently <\/li>\n<li><a href=\"https:\/\/github.com\/fr500\" target=\"_blank\">Radius &#8212; <\/a> for something? idk I did some work I think<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>An Emscripten port of RetroArch has existed for years, but until recently, we never had a good opportunity to launch it in a state we felt comfortable with. Well, until now that is. Web Player So what is RetroArch Web Player? It&#8217;s a port of RetroArch that runs inside your web browser, powered by emscripten [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[28,5],"tags":[108,109,67,56,107],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/45213"}],"collection":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/comments?post=45213"}],"version-history":[{"count":35,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/45213\/revisions"}],"predecessor-version":[{"id":45349,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/posts\/45213\/revisions\/45349"}],"wp:attachment":[{"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/media?parent=45213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/categories?post=45213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.libretro.com\/index.php\/wp-json\/wp\/v2\/tags?post=45213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}