<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>qdistro</title>
    <subtitle>A single-tenant Linux distribution with Qubes-inspired seamless app isolation, built on libweston + Wayland + Python&#x2F;Qt&#x2F;QML.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://qdistro.org/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://qdistro.org"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-05-17T00:00:00+00:00</updated>
    <id>https://qdistro.org/atom.xml</id>
    <entry xml:lang="en">
        <title>qdistro v0.1: first public test</title>
        <published>2026-05-17T00:00:00+00:00</published>
        <updated>2026-05-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://qdistro.org/blog/2026-05-v0-1/"/>
        <id>https://qdistro.org/blog/2026-05-v0-1/</id>
        
        <content type="html" xml:base="https://qdistro.org/blog/2026-05-v0-1/">&lt;h2 id=&quot;what-qdistro-is&quot;&gt;What qdistro is&lt;&#x2F;h2&gt;
&lt;p&gt;qdistro is a single-tenant Linux distribution inspired by Qubes OS, but built
on commodity hardware and commodity software. Instead of Xen and a custom UI, it
runs on a standard Tumbleweed install with a libweston compositor, a Python&#x2F;Qt&#x2F;QML
userspace, and a layered isolation model that lets you choose how much containment
each app gets.&lt;&#x2F;p&gt;
&lt;p&gt;The goal isn’t maximum security — it’s the best isolation you can get without
giving up your laptop. Everything is designed to be LLM-modifiable: the shell, the
admin approval flow, the send-to plugins, the password vault. If you can describe
the change you want, an LLM can write the QML or Python to make it happen.&lt;&#x2F;p&gt;
&lt;p&gt;There is no ISO image. Instead, there’s a single bootstrap script that takes a
fresh Tumbleweed install to a fully configured qdistro system in 10–20 minutes.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-works-in-v0-1&quot;&gt;What works in v0.1&lt;&#x2F;h2&gt;
&lt;p&gt;Here is what you can actually do right now:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tier 1 — native SELinux silo.&lt;&#x2F;strong&gt; Every app launches in its own SELinux
context. Open qterminator and run &lt;code&gt;id&lt;&#x2F;code&gt; — you’ll see a confined context.
The terminal, the text editor, the calculator: all isolated from each
other by default.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tier 3 — container.&lt;&#x2F;strong&gt; Heavier workloads run in LXC containers spawned
on demand. The admin app lets you create a container silo, install
packages inside it, and launch apps that render through the compositor.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tier 4 — VM with waypipe.&lt;&#x2F;strong&gt; Full virtual machines with seamless
window integration. Chrome runs in a VM but its windows appear on your
desktop alongside native apps.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Admin approval broker + audit log.&lt;&#x2F;strong&gt; Cross-silo actions (clipboard
sharing, file transfer, device access) go through an approval queue.
The tray-icon admin app shows pending requests and full audit history.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Screen locker + fingerprint.&lt;&#x2F;strong&gt; The qdlocker screen locker supports
fingerprint authentication on laptops that have a reader (fprintd).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Browser bridge.&lt;&#x2F;strong&gt; Chrome and Firefox extensions can authenticate
against the qdistro identity via HMAC-bound native messaging.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Password vault.&lt;&#x2F;strong&gt; The &lt;code&gt;pwd&lt;&#x2F;code&gt; app stores credentials in per-vault
encrypted databases and integrates with the system secret portal.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;qdshell desktop.&lt;&#x2F;strong&gt; The Noctalia QML desktop shell with panels,
launcher, and system tray runs on top of the qdwin compositor.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;qdgreeter boot.&lt;&#x2F;strong&gt; greetd on tty3 presents the qdgreeter login screen
at boot.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;what-doesn-t-yet&quot;&gt;What doesn’t yet&lt;&#x2F;h2&gt;
&lt;p&gt;We’re being honest about the gaps so you know what you’re getting into:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tier 5b — per-app VM-windowed.&lt;&#x2F;strong&gt; This is planned for v1.1. Right now
the highest isolation tier is the tier-4 full VM, which gives you a
whole desktop inside the VM, not individual seamless windows.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Phone &#x2F; Tailscale pairing.&lt;&#x2F;strong&gt; The phone integration infrastructure
exists (Tailscale + ntfy) but hasn’t been scripted for first-time setup.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;GUI installer.&lt;&#x2F;strong&gt; There is no graphical installer. You install
Tumbleweed manually, then run the bootstrap script.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;No ISO image.&lt;&#x2F;strong&gt; There is no installable qdistro ISO. The bootstrap
script is the installation mechanism.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Limited hardware testing.&lt;&#x2F;strong&gt; This has been tested on a handful of
laptops. Your hardware may behave differently, especially around
graphics drivers and fingerprint readers.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Multi-monitor.&lt;&#x2F;strong&gt; Not tested. The compositor is single-output for now.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;how-to-try-it&quot;&gt;How to try it&lt;&#x2F;h2&gt;
&lt;p&gt;The full step-by-step is in the &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;qdistro&#x2F;qdistro&quot;&gt;“Try qdistro” section of the
README&lt;&#x2F;a&gt;. In short:
install Tumbleweed, clone three repos, run the bootstrap script as root,
reboot, and you’re in. The whole thing takes about 30 minutes including
the Tumbleweed install.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-we-want-feedback-on&quot;&gt;What we want feedback on&lt;&#x2F;h2&gt;
&lt;p&gt;We need real humans running this on real hardware. Specifically:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Installation friction.&lt;&#x2F;strong&gt; Was the bootstrap script clear? Did any
package fail to install? Was the reboot-to-qdgreeter step smooth?&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;First-boot experience.&lt;&#x2F;strong&gt; Does the qdgreeter login screen make sense?
Is it clear how to launch apps and switch between them?&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tier 3 and tier 4 usability.&lt;&#x2F;strong&gt; Can you actually run a useful workload
in a container or VM silo? Is the admin approval flow for cross-silo
actions intuitive or annoying?&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Missing features.&lt;&#x2F;strong&gt; What would make this your daily driver? What’s
the one thing you need that isn’t here yet?&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;File one issue per thing you find at
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;codeberg.org&#x2F;qdistro&#x2F;qdistro&#x2F;issues&quot;&gt;codeberg.org&#x2F;qdistro&#x2F;qdistro&#x2F;issues&lt;&#x2F;a&gt;.
The most valuable feedback looks like: &lt;em&gt;“I followed step X and step Y was
unclear &#x2F; broken.”&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This is v0.1. Things will break. That’s the point of a public test
release — so we can fix them before v1.0.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Hello from qdistro</title>
        <published>2026-05-14T00:00:00+00:00</published>
        <updated>2026-05-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://qdistro.org/blog/hello/"/>
        <id>https://qdistro.org/blog/hello/</id>
        
        <content type="html" xml:base="https://qdistro.org/blog/hello/">&lt;p&gt;This is the first post on the new qdistro site.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;why-another-linux&quot;&gt;Why another Linux&lt;&#x2F;h2&gt;
&lt;p&gt;Existing isolation-first distros (Qubes, Whonix) draw a hard line at the
Xen hypervisor and a hardened UI. qdistro asks a different question:
what does a single-tenant, LLM-modifiable userspace look like when the
hypervisor &lt;em&gt;and&lt;&#x2F;em&gt; the compositor are commodity Linux, and the interesting
work happens in Python&#x2F;Qt&#x2F;QML?&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code data-lang=&quot;python&quot;&gt;class Silo:
    &amp;quot;&amp;quot;&amp;quot;One VM, one purpose, one set of permissions.&amp;quot;&amp;quot;&amp;quot;
    name: str
    runtime: Literal[&amp;quot;bare&amp;quot;, &amp;quot;qemu&amp;quot;, &amp;quot;container&amp;quot;]
    transport: Transport  # libweston-mediated; never raw DRI
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;what-s-next&quot;&gt;What’s next&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;First end-to-end demo of the admin permission flow&lt;&#x2F;li&gt;
&lt;li&gt;Public design docs for the cross-silo clipboard&lt;&#x2F;li&gt;
&lt;li&gt;Real screenshots once &lt;code&gt;qdshell&lt;&#x2F;code&gt; is wired into &lt;code&gt;qdwin&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
</feed>
