<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<atom:link href="https://seanbehan.ca/posts/tag/graphics/rss.xml" rel="self" type="application/rss+xml" />
		<title>Sean Behan — graphics</title>
		<link>https://seanbehan.ca/posts/tag/graphics</link>
		<description>Posts tagged “graphics”.</description>
		<language>en-CA</language>
		<!-- RSS wants an address here and readers show the name beside it. -->
		<managingEditor>sean@seanbehan.ca (Sean Behan)</managingEditor>
		<webMaster>sean@seanbehan.ca (Sean Behan)</webMaster>
		<lastBuildDate>Sun, 30 Aug 2026 05:19:20 GMT</lastBuildDate>
		<item>
		<guid isPermaLink="true">https://seanbehan.ca/posts/flatpak-mesa</guid>
		<title><![CDATA[Flatpak Mesa Git]]></title>
		<description><![CDATA[Swapping the Flatpak Mesa runtime for mesa-git so a new AMD card stops falling back to software OpenGL.]]></description>
		<link>https://seanbehan.ca/posts/flatpak-mesa</link>
		<pubDate>Thu, 25 May 2023 17:48:28 GMT</pubDate>
		<category>graphics</category><category>linux</category>
		<content:encoded><![CDATA[<h3>The Problem</h3><p>If you&#x27;ve switched to Flatpak for gaming you may notice that Mesa is sometimes a little bit old. The issue I had myself was that my 6000 series AMD graphics card didn&#x27;t have up to date graphics drivers, resulting in OpenGL games not running on the graphics card, but rather the CPUs OpenGL implementation, which made games such as CS:GO and Minecraft run at 5 or 10 FPS.</p><h3>The Solution</h3><p>To get the latest Mesa git on Flatpak you can install it like this:</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> org.freedesktop.Platform.GL.mesa-git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> org.freedesktop.Platform.GL32.mesa-git</span></span></code></pre><p>This will allow you to install the latest Mesa graphics drivers to allow applications to detect hardware properly and run better. Make sure when you are prompted for a version of Mesa to install you choose the latest version number that doesn&#x27;t have &quot;beta&quot; at the end.</p><h3>Usage</h3><p>Once you&#x27;ve done this you can run your Flatpak like this to use Mesa git.</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">FLATPAK_GL_DRIVERS</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">mesa-git</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> com.valvesoftware.Steam</span></span></code></pre><p>You can also export <code>FLATPAK_GL_DRIVERS=mesa-git</code> in your <code>.bashrc</code> or <code>.profile</code> to use Mesa git for all Flatpak applications. This may cause issues though, and I&#x27;d personally advise you only use it when it&#x27;s needed.</p>]]></content:encoded>
	</item>
<item>
		<guid isPermaLink="true">https://seanbehan.ca/posts/flatpak</guid>
		<title><![CDATA[Using any Linux Distribution with Flatpak]]></title>
		<description><![CDATA[Flatpak makes the host distribution almost irrelevant, down to proprietary codecs and games on musl Alpine.]]></description>
		<link>https://seanbehan.ca/posts/flatpak</link>
		<pubDate>Tue, 23 May 2023 13:49:32 GMT</pubDate>
		<category>graphics</category><category>linux</category>
		<content:encoded><![CDATA[<h3>Introduction</h3><p>I was using Fedora Silverblue for nearly a year before I realized I had been using Flatpak&#x27;s for nearly all my software, which mind you isn&#x27;t much, but I can use Firefox, Chrome, and play any video game I want using Flatpak alone so it makes sense for me.</p><p>To get this working all you need is a distribution where you can install Flatpak. I&#x27;m using Alpine Linux edge with musl and even that works. Using Flatpak allows me to use proprietary video and audio codecs in Firefox and Chrome since musl doesn&#x27;t support those codecs as of right now.</p><h3>Setting up Flatpak</h3><p>If your distribution doesn&#x27;t already come with FlatHub like Alpine, you&#x27;ll need to <a href="https://flatpak.org/setup/">add it</a>.</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> remote-add</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --if-not-exists</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> flathub</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://flathub.org/repo/flathub.flatpakrepo</span></span></code></pre><h3>Installing Applications</h3><p>This will allow you access to the entire Flatpak library. You can search for software using:</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> search</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> steam</span></span></code></pre><p>Then install using:</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> com.valvesoftware.Steam</span></span></code></pre><p>Make sure you periodically update your Flatpak&#x27;s as well using:</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> update</span></span></code></pre><h3>Steam and Gaming</h3><p>For Steam to work you&#x27;ll likely need to install some other Flatpak&#x27;s as well, but once they&#x27;re installed all your other gaming Flatpak&#x27;s should &quot;just work&quot;.</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> com.valvesoftware.Steam.CompatibilityTool.Proton</span></span></code></pre><p>You might also want to install your distribution&#x27;s <code>steam-devices</code> package if you want to use a game controller.</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> apt-get</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> steam-devices</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> # ubuntu / debian</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">doas</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> apk</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> steam-devices</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">         # alpine</span></span></code></pre><h3>Managing Permissions with Flatseal</h3><p>I like to give the Steam Flatpak access to my external drives so I can keep games there instead of on my hard drive. To do this I simply install Flatseal and use Flatseal to give rw (read+write) access to the directory where my drives mount to.</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> com.github.tchx84.Flatseal</span></span></code></pre><h3>Google Chrome</h3><p>Next if you want to install Google Chrome.</p><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">flatpak</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> com.google.Chrome</span></span></code></pre><h3>Conclusion</h3><p>That&#x27;s all you have to do, then you would have Google Chrome installed.</p><p>Flatpak uses it&#x27;s own runtime, remember to update all your Flatpak&#x27;s periodically with <code>flatpak update</code> to avoid security vulnerabilities and other issues.</p>]]></content:encoded>
	</item>
<item>
		<guid isPermaLink="true">https://seanbehan.ca/posts/x11docker</guid>
		<title><![CDATA[Using X11Docker for secure GUI applications]]></title>
		<description><![CDATA[Running GUI applications like telegram-desktop inside a container with x11docker, xpra and Wayland.]]></description>
		<link>https://seanbehan.ca/posts/x11docker</link>
		<pubDate>Thu, 07 Oct 2021 20:51:51 GMT</pubDate>
		<category>docker</category><category>graphics</category><category>podman</category>
		<content:encoded><![CDATA[<h3>Introduction</h3><p>X11Docker is a nice command line tool that allows you to run graphical</p><p>applications inside podman or docker by passing them to xpra or your wayland</p><p>socket. To do this you first need a <code>Containerfile</code> or <code>Dockerfile</code> to build an</p><p>image with the application you want to run. In this example I&#x27;m going to run</p><p><code>telegram-desktop</code>.</p><h3>Building a Container Image</h3><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>FROM ubuntu:latest</span></span>
<span class="line"><span></span></span>
<span class="line"><span>RUN apt-get update</span></span>
<span class="line"><span>RUN apt-get install -y telegram-desktop</span></span>
<span class="line"><span></span></span>
<span class="line"><span>CMD ["telegram-desktop"]</span></span></code></pre><h3>Running the Application with X11Docker</h3><p>We build this image with <code>podman build . -t telegram</code> and wait for it to</p><p>install our packages. When it&#x27;s done we can simply run it with `x11docker</p><p>localhost/telegram` and it starts Telegram in Xpra.</p><h3>Running with Wayland</h3><p>If we wanted to start it under Wayland instead, we could run `x11docker</p><p>--wayland localhost/telegram` however the package for Telegram on Ubuntu</p><p>doesn&#x27;t seem to have support for Wayland when I tried it.</p><p>This should work for any graphical software, even that which isn&#x27;t in the</p><p>repositories. You can even install more than one piece of software in a single</p><p>image. Then you pass the CMD as an argument to x11docker like so `x11docker</p><p>localhost/telegram telegram-desktop`.</p>]]></content:encoded>
	</item>
	</channel>
</rss>