<?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>Mon, 24 Aug 2026 08:56: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>linux</category><category>graphics</category>
		<content:encoded><![CDATA[<!--[--><h3>The Problem</h3> <p>If you’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’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’t have “beta” at the end.</p> <h3>Usage</h3> <p>Once you’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’d personally advise you only use it when it’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>linux</category><category>graphics</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’s for nearly all my software, which mind you isn’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’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’t support those codecs as of right now.</p> <h3>Setting up Flatpak</h3> <p>If your distribution doesn’t already come with FlatHub like Alpine, you’ll need to <a href="https://flatpak.org/setup/" rel="nofollow noopener noreferrer" target="_blank">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’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’ll likely need to install some other Flatpak’s as well, but once they’re installed all your other gaming Flatpak’s should “just work”.</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’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’s all you have to do, then you would have Google Chrome installed.</p> <p>Flatpak uses it’s own runtime, remember to update all your Flatpak’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>podman</category><category>graphics</category>
		<content:encoded><![CDATA[<!--[--><h3>Introduction</h3> <p>X11Docker is a nice command line tool that allows you to run graphical
applications inside podman or docker by passing them to xpra or your wayland
socket. To do this you first need a <code>Containerfile</code> or <code>Dockerfile</code> to build an
image with the application you want to run. In this example I’m going to run <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
install our packages. When it’s done we can simply run it with <code>x11docker localhost/telegram</code> 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 <code>x11docker --wayland localhost/telegram</code> however the package for Telegram on Ubuntu
doesn’t seem to have support for Wayland when I tried it.</p> <p>This should work for any graphical software, even that which isn’t in the
repositories. You can even install more than one piece of software in a single
image. Then you pass the CMD as an argument to x11docker like so <code>x11docker localhost/telegram telegram-desktop</code>.</p><!--]-->]]></content:encoded>
	</item>
	</channel>
</rss>