<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>srm on foosel.net</title><link>https://foosel.net/tags/srm/</link><description>Recent content in srm on foosel.net</description><generator>Hugo</generator><language>en-us</language><copyright>Gina Häußge (foosel)</copyright><lastBuildDate>Fri, 24 Feb 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://foosel.net/tags/srm/feed.xml" rel="self" type="application/rss+xml"/><item><title>How to add itch.io games to the Steamdeck</title><link>https://foosel.net/til/how-to-add-itchio-games-to-the-steamdeck/</link><pubDate>Fri, 24 Feb 2023 00:00:00 +0000</pubDate><guid>https://foosel.net/til/how-to-add-itchio-games-to-the-steamdeck/</guid><description>&lt;p&gt;I&amp;rsquo;m currently setting up some alternative game stores on my Steamdeck, specifically &lt;a href="https://www.emudeck.com/"&gt;Emudeck&lt;/a&gt; for my retro collection, &lt;a href="https://heroicgameslauncher.com/"&gt;Heroic Launcher&lt;/a&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; for GOG and Epic, and also &lt;a href="https://itch.io"&gt;itch.io&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I stumbled across &lt;a href="https://www.reddit.com/r/SteamDeck/comments/vwili3/better_way_to_itchio_on_steam_deck/"&gt;this Reddit post&lt;/a&gt; that recommended to use the itch.io Windows launcher instead of the native Linux one:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Itch.io has an app, that even has linux version. But it has issues - it can only use one wine version, if you have it installed globally, it can&amp;rsquo;t even handle linux games well. It pretends to install them, and when you launch them it opens a directory with the zip file&amp;hellip; Or it just doesn&amp;rsquo;t work after installation. Then you need to add all the games to steam, setup their images, and other stuff. There&amp;rsquo;s boilr for that, but it doesn&amp;rsquo;t find everything, and most of the indies are not in the database anyway.&lt;/p&gt;</description><content:encoded><![CDATA[<p>I&rsquo;m currently setting up some alternative game stores on my Steamdeck, specifically <a href="https://www.emudeck.com/">Emudeck</a> for my retro collection, <a href="https://heroicgameslauncher.com/">Heroic Launcher</a><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> for GOG and Epic, and also <a href="https://itch.io">itch.io</a>.</p>
<p>I stumbled across <a href="https://www.reddit.com/r/SteamDeck/comments/vwili3/better_way_to_itchio_on_steam_deck/">this Reddit post</a> that recommended to use the itch.io Windows launcher instead of the native Linux one:</p>
<blockquote>
<p>Itch.io has an app, that even has linux version. But it has issues - it can only use one wine version, if you have it installed globally, it can&rsquo;t even handle linux games well. It pretends to install them, and when you launch them it opens a directory with the zip file&hellip; Or it just doesn&rsquo;t work after installation. Then you need to add all the games to steam, setup their images, and other stuff. There&rsquo;s boilr for that, but it doesn&rsquo;t find everything, and most of the indies are not in the database anyway.</p>
</blockquote>
<p>Sounds reasonable to go with the Windows version then, so I followed the post and got everything working. Quick summary in case the link goes stale:</p>
<ul>
<li>In desktop mode, download the Windows installer from <a href="https://itch.io/app">https://itch.io/app</a>, add it as a non steam game, configure stable Proton for it, launch it, complete the installer and log in.</li>
<li>Open Dolphin, navigate to <code>home/deck/.steam/steam/steamapps/compatdata</code></li>
<li>Click on the search icon, check &ldquo;From here&rdquo;, search for <code>itch</code> and enter the first found folder of that name. Look at the address bar, you&rsquo;ll be in a subfolder of something like <code>/home/deck/.steam/steam/steamapps/compatdata/&lt;number&gt;</code> for a random <code>&lt;number&gt;</code>, this parent folder is what to use for <code>&lt;basefolder&gt;</code> in any following steps.</li>
<li>In desktop Steam, open the preferences of your non-steam itch.io installer &ldquo;game&rdquo;. Replace &ldquo;Target&rdquo; with <code>&lt;basefolder&gt;/pfx/drive_c/users/steamuser/Desktop/itch.lnk</code> and &ldquo;Start in&rdquo; with <code>&lt;basefolder&gt;/pfx/drive_c/users/steamuser/AppData/Local/Itch</code>. Rename it to &ldquo;itch.io&rdquo; or whatever else you want it to be called<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</li>
</ul>
<p>I then followed the steps to also allow <a href="https://steamgriddb.github.io/steam-rom-manager/">Steam Rom Manager</a> to detect my itch.io games, and created a custom itch.io parser. Here I had to slightly deviate from the suggested steps. Again, summarised here for reference:</p>
<ul>
<li>Parser type: glob</li>
<li>Title: <code>itch.io</code></li>
<li>Steam category: <code>${itch.io}</code></li>
<li>Steam directory: <code>${steamdirglobal}</code></li>
<li>ROMs directory: <code>&lt;basefolder&gt;/pfx/drive_c/users/steamuser/AppData/Roaming/itch/apps</code></li>
<li>Executable modifier: <code>&quot;${exePath}&quot;</code> (with quotes!)</li>
<li>User&rsquo;s glob: <code>${title}/{*/,}!(Unity*).exe</code> <strong>(this one is different than on the Reddit post, see below for why!)</strong></li>
<li>Leave anything else as is.</li>
</ul>
<p>I changed the glob pattern as the original setting of <code>${title}/{*/*,*}.exe</code> was happily detecting the Unity crash handler executable contained in some games as additional entry, obviously not what I wanted.</p>
<p>After some trial and error I thankfully was able to solve this with the slightly different glob pattern of <code>${title}/{*/,}!(Unity*).exe</code>. It now matches any <code>exe</code> right in the game folder or one folder deep that <em>doesn&rsquo;t</em> start with the string <code>Unity</code>. And if push comes to shove I can add additional forbidden patterns as well.</p>
<p>Even Unity games now only generate one entry, and seem to work fine once I&rsquo;ve figured out the right Proton version 👍</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p>Basically a one click install from the &ldquo;Discover&rdquo; app in desktop mode.&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p>My SteamGridDB <a href="https://deckbrew.xyz/">Decky</a> plugin seemed happy with that name as I was able to quickly download matching artwork once back in Game mode.&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded></item></channel></rss>