<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://baszerr.eu/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>BaSzErr - blog:2021:12:15</title>
        <description></description>
        <link>https://baszerr.eu/</link>
        <lastBuildDate>Wed, 08 Apr 2026 19:23:47 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://baszerr.eu/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>BaSzErr</title>
            <link>https://baszerr.eu/</link>
        </image>
        <item>
            <title>2021-12-15_-_containerized_steam</title>
            <link>https://baszerr.eu/doku.php?id=blog:2021:12:15:2021-12-15_-_containerized_steam</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;containerized_steam&quot;&gt;2021-12-15 - containerized steam&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
for some time i was trying to somehow limit blast radius of &lt;a href=&quot;https://en.wikipedia.org/wiki/Steam (service)&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/Steam (service)&quot;&gt;steam&lt;/a&gt; installation. after all – it&amp;#039;s a bunch of binary images ran with high privileges (i.e. on your &lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;, as your user). for a long time i was running steam as a separate user account. yet this was not perfect, since steam packages still had to be installed on the system.
&lt;/p&gt;

&lt;p&gt;
as a next step i&amp;#039;ve tried using &lt;code&gt;chroot()&lt;/code&gt;. &lt;abbr title=&quot;Too long; didn&amp;#039;t read&quot;&gt;TL;DR&lt;/abbr&gt; – it was complicated and at the end of the day, did not work as expected. main issues were around forwarding access to GPU and audio devices.
&lt;/p&gt;

&lt;p&gt;
next approach was to use VM. there is a very promising &lt;a href=&quot;https://virgil3d.github.io&quot; class=&quot;urlextern&quot; title=&quot;https://virgil3d.github.io&quot; rel=&quot;ugc nofollow&quot;&gt;virgl&lt;/a&gt; project, that combined with &lt;a href=&quot;https://en.wikipedia.org/wiki/qemu&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/qemu&quot;&gt;qemu&lt;/a&gt; allows for a near-native GPU experience (in terms of performance). unfortunately &lt;a href=&quot;https://en.wikipedia.org/wiki/debian&quot; class=&quot;interwiki iw_wp&quot; title=&quot;https://en.wikipedia.org/wiki/debian&quot;&gt;debian&lt;/a&gt; 11 does not have latest packages and i failed to make it work fast enough to be useful for gaming. anyway, for future me – the key flags here are:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-device virtio-vga-gl&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-display gtk,gl=on&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
let&amp;#039;s hope it will work in next release.
&lt;/p&gt;

&lt;p&gt;
when this also failed, my weapon of last resort was containerization. compared with both previous attempts it was surprisingly smooth experience. with some background in the area and some reading wrt GPU and audio forwarding, i&amp;#039;ve managed to compile a working image with helper runner script in one evening. and so – behold the mighty &lt;a href=&quot;https://github.com/el-bart/mini/tree/master/steam_image&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/el-bart/mini/tree/master/steam_image&quot; rel=&quot;ugc nofollow&quot;&gt;steam image project&lt;/a&gt;, readily available on my github account! ;) it offers:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; pulseaudio support&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GPU acceleration&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; fullscreen operation&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; persistent data (i.e. game files)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ephemeral containers&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; automatic SW upgrade once a month (aka: forced image rebuild)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
i hope this will do the trick for the time being. though i still hope for VM with virio for GPU in qemu, in debian:12. but until then – have fun! :D
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 15 Dec 2021 21:00:21 +0000</pubDate>
        </item>
    </channel>
</rss>
