<?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, 13 Sep 2026 02:49:04 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><code class="language-sh">flatpak install org.freedesktop.Platform.GL.mesa-git org.freedesktop.Platform.GL32.mesa-git</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><code class="language-sh">FLATPAK_GL_DRIVERS=mesa-git flatpak run com.valvesoftware.Steam</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><code class="language-sh">flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo</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><code class="language-sh">flatpak search steam</code></pre><p>Then install using:</p><pre><code class="language-sh">flatpak install com.valvesoftware.Steam</code></pre><p>Make sure you periodically update your Flatpak&#x27;s as well using:</p><pre><code class="language-sh">flatpak update</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><code class="language-sh">flatpak install com.valvesoftware.Steam.CompatibilityTool.Proton</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><code class="language-sh">sudo apt-get install steam-devices # ubuntu / debian
doas apk add steam-devices         # alpine</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><code class="language-sh">flatpak install com.github.tchx84.Flatseal</code></pre><h3>Google Chrome</h3><p>Next if you want to install Google Chrome.</p><pre><code class="language-sh">flatpak install com.google.Chrome</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 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&#x27;m going to run <code>telegram-desktop</code>.</p><h3>Building a Container Image</h3><pre><code>FROM ubuntu:latest

RUN apt-get update
RUN apt-get install -y telegram-desktop

CMD ["telegram-desktop"]</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&#x27;s done we can simply run it with `x11docker 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 --wayland localhost/telegram` however the package for Telegram on Ubuntu 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 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 `x11docker localhost/telegram telegram-desktop`.</p>]]></content:encoded>
	</item>
	</channel>
</rss>