mirror of
https://github.com/yuzu-mirror/yuzu-mirror.github.io.git
synced 2025-12-06 07:12:21 +01:00
271 lines
14 KiB
HTML
271 lines
14 KiB
HTML
<!DOCTYPE html>
|
|
<html lang=" en-us "class="has-navbar-fixed-top">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
|
|
<meta name="theme-color" content="#404040">
|
|
|
|
<meta property="og:title" content="First games are running! · yuzu" />
|
|
<meta property="og:site_name" content="yuzu" />
|
|
<meta property="og:url" content="https://yuzu-mirror.github.io/entry/first-games-are-running/" />
|
|
<meta property="og:description" content="A major milestone in yuzu has been reached, as it can now boot a handful of the Nintendo Switch’s more primitive games. Don’t believe us? Take a look!" />
|
|
<meta name="description" content="A major milestone in yuzu has been reached, as it can now boot a handful of the Nintendo Switch’s more primitive games. Don’t believe us? Take a look!" />
|
|
<meta property="og:type" content="article" />
|
|
<meta property="og:image" content="https://yuzu-mirror.github.io/entry/first-games-are-running/banner.png" />
|
|
|
|
<link rel="icon" href="https://yuzu-mirror.github.io/favicon.ico" />
|
|
<link rel="shortcut icon" href="https://yuzu-mirror.github.io/favicon.ico" type="image/x-icon" />
|
|
<link rel="canonical" href="https://yuzu-mirror.github.io/entry/first-games-are-running/">
|
|
|
|
<title>First games are running! - yuzu</title>
|
|
<link href="https://fonts.googleapis.com/css?family=Ubuntu|Dosis" rel="stylesheet">
|
|
<link href="https://use.fontawesome.com/releases/v6.4.0/css/all.css" rel="stylesheet">
|
|
|
|
<link rel="stylesheet" href="https://yuzu-mirror.github.io/scss/style.min.css" />
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.css" type="text/css" />
|
|
|
|
|
|
|
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
|
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112443698-1"></script>
|
|
|
|
|
|
<script type="text/javascript">
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag() { dataLayer.push(arguments); }
|
|
gtag('js', new Date());
|
|
gtag('config', 'UA-112443698-1');
|
|
</script>
|
|
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<nav class="navbar is-dark is-size-6 is-fixed-top" role="navigation" aria-label="main navigation">
|
|
<div class="container">
|
|
<div class="navbar-brand">
|
|
<a class="navbar-item" href="https://yuzu-mirror.github.io">
|
|
<svg xmlns="http://www.w3.org/2000/svg" class="navbar-logo" viewBox="0 0 515.83 163.11"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#ff3c28;}.cls-3{fill:#0ab9e6;}</style></defs><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><path class="cls-1" d="M515.83,23.23v73c0,14.5-2.24,25.24-6.84,32.82-5.92,10.15-16.2,15.32-30.53,15.32s-24.62-5.23-30.58-15.57c-4.56-7.64-6.79-18.42-6.79-32.92V23.23a4.51,4.51,0,0,1,4.51-4.51h2.28a4.51,4.51,0,0,1,4.51,4.51v72.5c0,33.53,14.88,37.4,26.07,37.4,12.14,0,26.08-4.17,26.08-36.71V23.23a4.51,4.51,0,0,1,4.51-4.51h2.27A4.51,4.51,0,0,1,515.83,23.23Z"/><path class="cls-1" d="M421.34,144.4H353.45c-2.35,0-4.72-1.88-4.72-6.08a8.32,8.32,0,0,1,1.33-4.49L410.39,29.36H360.8a4.51,4.51,0,0,1-4.51-4.5V23.28a4.51,4.51,0,0,1,4.48-4.51h.81c58.68-.11,59.11,0,59.66.07a5.19,5.19,0,0,1,4,5.8,8.74,8.74,0,0,1-1.32,3.75L363.33,133.17h58a4.51,4.51,0,0,1,4.51,4.51v2.21A4.51,4.51,0,0,1,421.34,144.4Z"/><path class="cls-1" d="M248.45,23.23v82.06c0,26-11.8,38.44-37.12,39.09h-.12a4.51,4.51,0,0,1-4.51-4.51V137.5a4.51,4.51,0,0,1,4.48-4.5c18.49-.15,26-8.23,26-27.9v-2.37a32.34,32.34,0,0,1-3.34,3.28c-6.39,5.5-14.5,8.29-24.07,8.29-22.86,0-35-12.41-35-35.89V23.23a4.52,4.52,0,0,1,4.51-4.51h2.22a4.52,4.52,0,0,1,4.5,4.51v55c0,7.6,1.82,14.22,5,18.18,3.57,4.56,9.17,6.49,18.75,6.49,10.13,0,17.32-3.76,22-11.5,3.61-5.92,5.43-13.66,5.43-23V23.23a4.52,4.52,0,0,1,4.51-4.51h2.22A4.52,4.52,0,0,1,248.45,23.23Z"/><path class="cls-1" d="M338.12,23.23v73c0,14.5-2.24,25.24-6.84,32.82-5.92,10.15-16.2,15.32-30.53,15.32s-24.62-5.23-30.58-15.57c-4.56-7.64-6.79-18.42-6.79-32.92V23.23a4.51,4.51,0,0,1,4.51-4.51h2.28a4.51,4.51,0,0,1,4.51,4.51v72.5c0,33.53,14.88,37.4,26.07,37.4,12.14,0,26.08-4.17,26.08-36.71V23.23a4.51,4.51,0,0,1,4.51-4.51h2.27A4.51,4.51,0,0,1,338.12,23.23Z"/><g id="g823"><g id="right"><g id="g827"><g id="g833"><path id="path835" class="cls-2" d="M81.56,32.62V163.11a65.25,65.25,0,0,0,0-130.49M94.3,46.91a52.54,52.54,0,0,1,0,101.91V46.91"/></g></g></g><g id="left"><g id="g839"><g id="g845"><path id="path847" class="cls-3" d="M65.24,0a65.25,65.25,0,0,0,0,130.49ZM52.5,14.29V116.2A52.52,52.52,0,0,1,28.12,28.12,52.16,52.16,0,0,1,52.5,14.29"/></g></g></g></g></g></g></svg>
|
|
</a>
|
|
|
|
<div class="burger navbar-burger is-dark" data-target="navMenu">
|
|
<span></span>
|
|
<span></span>
|
|
<span></span>
|
|
</div>
|
|
</div>
|
|
<div class="navbar-menu" id="navMenu">
|
|
<div class="navbar-start">
|
|
|
|
<a class="navbar-item px-lg" href="/entry">
|
|
Blog
|
|
</a>
|
|
|
|
<a class="navbar-item px-lg" href="/downloads">
|
|
Download
|
|
</a>
|
|
|
|
<a class="navbar-item px-lg" href="/wiki/faq">
|
|
FAQs
|
|
</a>
|
|
|
|
<a class="navbar-item px-lg" href="/game">
|
|
Compatibility
|
|
</a>
|
|
|
|
<a class="navbar-item px-lg" href="/screenshots">
|
|
Screenshots
|
|
</a>
|
|
|
|
<a class="navbar-item px-lg" href="https://www.patreon.com/yuzuteam">
|
|
Patreon
|
|
</a>
|
|
|
|
<a class="navbar-item px-lg" href="https://profile.yuzu-mirror.github.io">
|
|
Profile
|
|
</a>
|
|
|
|
|
|
<a class="navbar-item px-lg is-hidden-desktop" href="https://discord.gg/u77vRWY" target="_blank">
|
|
<i class="fab fa-discord mr-sm"></i> Discord
|
|
</a>
|
|
<a class="navbar-item px-lg is-hidden-desktop" href="https://twitter.com/yuzuemu" target="_blank">
|
|
<i class="fab fa-twitter mr-sm"></i> Twitter
|
|
</a>
|
|
<a class="navbar-item px-lg is-hidden-desktop" href="https://github.com/yuzu-mirror/yuzu" target="_blank">
|
|
<i class="fab fa-github mr-sm"></i> GitHub
|
|
</a>
|
|
</div>
|
|
|
|
<div class="navbar-end">
|
|
|
|
<a class="navbar-item px-lg is-hidden-touch" href="https://discord.gg/u77vRWY" target="_blank">
|
|
<span class="icon">
|
|
<i class="fab fa-2x fa-discord"></i>
|
|
</span>
|
|
</a>
|
|
<a class="navbar-item px-lg is-hidden-touch" href="https://twitter.com/yuzuemu" target="_blank">
|
|
<span class="icon">
|
|
<i class="fab fa-2x fa-twitter"></i>
|
|
</span>
|
|
</a>
|
|
<a class="navbar-item px-lg is-hidden-touch" href="https://github.com/yuzu-mirror/yuzu" target="_blank">
|
|
<span class="icon">
|
|
<i class="fab fa-2x fa-github"></i>
|
|
</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="mb-md blog-entry-header single" style="background-image: url('https://yuzu-mirror.github.io/entry/first-games-are-running/banner_hu95c7d940d3807b30380c2b75c308ac21_127568_1280x0_resize_q99_bgffffff_box_3.jpg');background-repeat:no-repeat;background-size:contain;background-position:center;"></div>
|
|
<div class="has-text-centered">
|
|
<div>
|
|
<span class="title px-md py-sm">First games are running!</span>
|
|
</div>
|
|
|
|
|
|
<div>
|
|
<span class="h3 px-md py-sm">
|
|
Written by <a href="https://community.citra-emu.org/u/jmc47/summary">JMC47</a>
|
|
on April 15 2018
|
|
</span>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="container">
|
|
<div class="columns is-centered">
|
|
<div class="column is-four-fifths">
|
|
|
|
<section class="section content pt-sm">
|
|
<br>
|
|
<p>A major milestone in yuzu has been reached, as it can now boot a handful of the Nintendo Switch’s more primitive games. Don’t believe us? Take a look!</p>
|
|
<div class="my-lg">
|
|
|
|
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
|
|
<iframe src="https://www.youtube.com/embed/1VzyIHMTA2Q" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" allowfullscreen title="YouTube Video"></iframe>
|
|
</div>
|
|
|
|
</div>
|
|
<p>These changes are now available in the latest <a href="https://yuzu-mirror.github.io/downloads/">yuzu canary builds</a>!</p>
|
|
<p>Currently, only a few games are confirmed to boot, including:</p>
|
|
<ul>
|
|
<li>The Binding of Isaac: Afterbirth+</li>
|
|
<li>Puyo Puyo Tetris</li>
|
|
<li>Cave Story+</li>
|
|
</ul>
|
|
<p>While these <em>may</em> not be the Switch titles that emulation hobbyists are looking forward to digging into, the fact that games are starting to work shows that yuzu is heading in the right direction. That doesn’t mean it wasn’t a bumpy road to get here, though!</p>
|
|
<h4 id="the-challenge-behind-booting-switch-games">The Challenge Behind Booting Switch Games</h4>
|
|
<p>Getting to this point hasn’t been easy, and has been a massive reverse-engineering challenge. Led by bunnei and Subv with contributions from ogniK and jroweboy the team slowly chipped away at stopping point after stopping point to finally get us to this milestone. Special thanks to gdkchan and Ryujinx, as without collaboration, this wouldn’t have been possible.</p>
|
|
<p>Also, huge thanks to Lioncash and MerryMage, who have been tirelessly working on the ARMv8 JIT that yuzu uses! Without it, we’d still be in the dark ages of interpreted CPU emulation.</p>
|
|
<p>While yuzu is built on top of Citra’s kernel infrastructure, a lot of modification had to be done in order to move things over to the Switch’s services. But the main issues all had to do with the Switch’s GPU.</p>
|
|
<p>Because it’s a NVIDIA product, some information was able to be gleamed by sifting through the <a href="https://en.wikipedia.org/wiki/Nouveau_(software)">Nouveau source</a>. Some of the more particularly difficult stopping points were Kernel Synchronization Primitives and Shader Decompilation, but there were many more smaller bumps along the way. On top of that, the rest of the emulator had to be brought up to snuff in order to get games to the point where they would boot.</p>
|
|
<p>In the end, this is a small first step toward proper emulation of Nintendo’s exciting console/handheld hybrid. None of the games booting are especially stable and emulation is in a very, very early state.</p>
|
|
<h4 id="what-does-yuzu-require">What does yuzu Require?</h4>
|
|
<p>Right now, most games won’t run, and the games that do run will run incredibly slow and only get so far before encountering issues. We recommend you have as fast of a processor as possible <em>and</em> a GPU that supports OpenGL 4.3 or newer.</p>
|
|
<div class="columns mt-md">
|
|
<div class="column">
|
|
<figure class="image">
|
|
<img src="./img1.png">
|
|
</figure>
|
|
</div>
|
|
<div class="column">
|
|
<figure class="image">
|
|
<img src="./img2.png">
|
|
</figure>
|
|
</div>
|
|
</div>
|
|
<div class="columns">
|
|
<div class="column">
|
|
<figure class="image">
|
|
<img src="./img3.png">
|
|
</figure>
|
|
</div>
|
|
<div class="column">
|
|
<figure class="image">
|
|
<img src="./img4.png">
|
|
</figure>
|
|
</div>
|
|
</div>
|
|
<h4 id="whats-next">What’s next?</h4>
|
|
<p>Currently, yuzu has two major development fronts that are ongoing: First, we are trying to get more games booting further, to the point that they are trying to render frames, and second, to try to emulate the Nvidia Maxwell GPU. Even for simple games such as these, Maxwell emulation has shown to be quite challenging - and we suspect that this will be our biggest focus in the coming months. As always, we welcome newcomers to join our team and help us toward these goals! If you’re interested in contributing, please checkout our <a href="https://github.com/yuzu-emu/yuzu/blob/master/CONTRIBUTING.md">Contributing Guide</a> or <a href="https://discord.gg/u77vRWY">join us on Discord</a>.</p>
|
|
</section>
|
|
|
|
|
|
<div class="has-text-centered">
|
|
<a class="pagination-next" href="https://community.citra-emu.org/t/15956">Continue the discussion on our forums.</a>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
<div class="column">
|
|
|
|
|
|
<div class="px-md">
|
|
|
|
<ins class="adsbygoogle"
|
|
style="display:block; margin-left:25px;"
|
|
data-ad-client="ca-pub-4126545610079023"
|
|
data-ad-slot="6276099127"
|
|
data-ad-format="auto"></ins>
|
|
<br>
|
|
<p class="is-size-6 has-text-centered">Advertisement</p>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="column">
|
|
|
|
|
|
<div class="px-md has-text-centered">
|
|
<p class="is-size-6 has-text-centered">Advertisement</p>
|
|
<br>
|
|
<ins class="adsbygoogle" style="display:inline-block;width:728px;height:100px" data-ad-client="ca-pub-4126545610079023" data-ad-slot="1038554045"></ins>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="container">
|
|
<footer class="footer">
|
|
<div class="content has-text-centered">
|
|
copyright © 2025 yuzu emulator team
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
|
|
|
|
<script src="https://yuzu-mirror.github.io/js/script.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/baguettebox.js/1.11.1/baguetteBox.min.js" type="text/javascript"></script>
|
|
|
|
<script type="text/javascript">
|
|
window.addEventListener("DOMContentLoaded", function() {
|
|
baguetteBox.run('.is-img-preview');
|
|
});
|
|
</script>
|
|
|
|
<script type="text/javascript">
|
|
for (var i = 0; i < document.getElementsByClassName('adsbygoogle').length; i++) {
|
|
(adsbygoogle = window.adsbygoogle || []).push({});
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|