QV version 250605 released
"QV" is an acronym for "Quirky Void" or "Quantum Vis". It is built with woofQV. The github project page has a brief introduction to QV:
https://github.com/bkauler/woof-quantum-vis
I worked on it for several months in 2024, then went back to working on EasyOS; so QV has lapsed since then. It is a unique distro, fascinating concepts, and really does deserve to have ongoing attention. So, back on it.
You can read about the development of QV in the "quirky" tag of this blog. Here are the most-recent several posts:
- woofQ changes merged into woofQV — June 04, 2025
- bcachefs utility crash in initrd — June 02, 2025
- Reconsidering QV — June 01, 2025
- Finding XBPS to be very frustrating — October 11, 2024
- QV version 241007 released — October 07, 2024
- Update PET for QV — October 07, 2024
- Attempt to disable pam — October 06, 2024
- QV basic handling kernel version changes — October 02, 2024
- Kexec fail — October 02, 2024
- QV now has encrypted folders — September 30, 2024
- KDE Dolphin works in QV — September 28, 2024
- The pink and grey galahs have returned! — September 28, 2024
...you can look through those to get basic ideas what QV is all about. Though, I do need to write some documentation.
Here is a screenshot, taken in an earlier release:
A couple of things don't work...
One of the above links describes an "update PET package"; that currently doesn't work. The intention is that it will be like EasyOS; a small download. QV is a very big initial download, "qv-250605-amd64.img", about 1.8GB; however, the update PET packages are expected to be about 90MB.
The menu has some "orange ball" entries. You would know about these if you have used EasyOS. They are applications in the menu, but not yet installed, and choosing from the menu, it will download and install. Currently broken.
Well, that's all the bugs I can think of now, but of course we will find more.
The usual thing, just like EasyOS; you write the drive-image file to a USB drive, then boot it. You must use a good quality drive, and fairly big, at least 32GB. Personally, I use SSDs in USB-caddies; big, fast and last indefinitely. Currently using a "small" SSD of 500GB.
Brief introduction to QV concepts
Unlike EasyOS, QV does not use squashfs files, nor aufs/overlayfs layers. It is "frugal" though, with everything in a folder; that is, looks like a normal Linux installation, except in a folder and not under "/"
Another big difference is that the working partition is a btrfs filesystem, which brings something great to the table; snapshots. Snapshots are managed via a menu in the initrd. Photo:
Snapshots are great. You could, for example, create a "compile environment" snapshot, and install the 'devx-1.0.pet' into it. Snapshot creation is virtually instantaneous. This article introducing btrfs principles, including snapshots, looks good:
https://fedoramagazine.org/working-with-btrfs-general-concepts/I mentioned above, minimum size of 32GB; but if you really get into snapshots, like want to compile packages, or want to download woofQV and build your own QV, then you are going to need a lot more space. An SSD in USB-caddy is a good solution, or you can install to a btrfs partition in an internal drive -- QV has "QV Installer" to make that easy.
Notice the above photo, a password to decrypt the working-partition. Currently though, only the /files folder is encrypted. This folder is where you keep all your personal stuff, and you can also setup apps to store their stuff in there, like, for example a video editor project.
An important point about /files is that it is outside the
snapshot mechanism, so all snapshots will see the same content in
/files.
The thing is though, btrfs does not have native encryption. What
has been done is rather sneaky; /files is actually a ext4
filesystem, which is in a sparse file. ext4 supports fscrypt,
per-folder encryption.
Unlike EasyOS, QV does not offer containers. However, like
EasyOS, QV offers each application running as its own user. This
provides fantastic isolation between apps. A further security
feature can be seen in the above boot menu, "Turn ON lockdown";
this will prevent the user from mounting any partitions -- the
btrfs partition in which QV is running, is mounted, but the user
cannot fiddle with it, nor even see outside the folder in which QV
is installed.
I am intending to experiment with using bcachefs instead of btrfs. Stay tuned for that.
URL links
Primary download:
https://distro.ibiblio.org/quirky/quirky-void/amd64/releases/base/
Fast mirror in Europe, courtesy of NLUUG:
https://ftp.nluug.nl/os/Linux/distr/quirky/quirky-void/amd64/releases/base/
The EasyOS documention explains how to write a drive-image file to a USB drive, in case all you know about are ISO files:
https://easyos.org/install/how-to-write-easyos-to-a-flash-drive.html
Feedback is welcome in the QV section of the Puppy Forum:
https://forum.puppylinux.com/viewforum.php?f=236
Testers welcome!
Do bear in mind that QV is very experimental, much more than EasyOS. Report bugs, suggestions welcome.
TODO list
Lots of things to work on. Thinking, off the top of my head...
See item above "6 Choose snapshot to boot into". Each snapshot may have a particular Linux kernel, and if, for example, you switch back to a much older snapshot, that requires an older kernel, currently you will be asked if you want to update that snapshot to the current kernel (and modules), or not. If you decide to boot with the older kernel, a reboot is required, which is clumsy. I intend to get "kexec" working, which is a fast method to change kernel.
Fix the orange-ball menu entries.
Fix updating.
Write documentation.
Evaluate bcachefs.
EDIT 2025-06-06:
I have written a mini-tutorial on btrfs snapshots and how QV
implements them:
- Mini-tutorial creating a snapshot in QV — June 06, 2025
Hope to write more docs in the future,
though as QV is a moving target they may get out of date
quick.
Tags: quirky