Using OpenTofu/Terraform to create a disposable Tails virtual machine
https://stafwag.github.io/blog/blog/2025/06/22/using-opentofu-to-create-tails-environment/
Using OpenTofu/Terraform to create a disposable Tails virtual machine
https://stafwag.github.io/blog/blog/2025/06/22/using-opentofu-to-create-tails-environment/
What solutions do Wayland users use for passing keybindings (ex: Alt-Tab) through to a VM being viewed with virt-viewer
or remote-viewer
in a Wayland WM? X11 had some kind of special hint to tell the WM to pass all keybindings through to the VM's viewer window. Do you just temporarily disable keybindings while viewing a VM? Is it possible to run virt-viewer
or remote-viewer
in a separate instance of Wayland/wlroots that only displays that windows and passes all keyboard input to it (e.g. the Wayland equivalent of xinit virt-viewer ... -- :1
)?
#virtviewer #remoteviewer #virtmanager #libvirt #qemu #wayland #labwc
Decided to switch back to QXL+Spice, but with Spice Listen Type = None, and with CPU pinning, and directly sending audio to pipewire. Seems to have fixed the slow 2d graphics, while maintaining smooth video playback, and eliminated any random intermittent freezes that would crash the viewer.
I enabled OpenGL acceleration under VirtIO and video playback is smooth, but now other 2d things have suddenly become very slow, such as switching between windows and closing large windows. Is this a known problem? Or do I need a faster GPU or CPU?
A whole afternoon playing around... ok, no, that's not the word... It's been a whole afternoon banging my head against the wall that libvirt and its cousin virt-manager are.
I ended up going back to the ol' trusty shell script I use to fire up my FreeBSD and OpenBSD VMs. This is a desktop, not a server, so the VMs are on just for what I need to run on them (mostly checking portability of code I write) and then, they're shut down. No need for a socket listening in the background or a service to do who knows what.
The thing that really pissed me off was the permissions situation libvirt/libvirt-qemu got me into. I mean... wow, it silently set an ACL entry on my $HOME on its own to unilaterally give itself permissions inside my $HOME. Wow.
So I have been playing with the WriteFreely blog system. To check out if this would work for the use case I was asked about.
I built a vagrant-libvirt setup (using the usual vagrant/libvirt/Ansible approach) as well as a package for openSUSE. The setup uses my package on Leap and Tumbleweed or the upstream binary on a third branch. Another branch will set this up behind a Nginx reverse proxy.
I'll give the package a decent spin and then send it to a devel project to get it into Tumbleweed.
Here you are, have a lot of fun...
https://codeberg.org/johanneskastl/writefreely_vagrant_libvirt_ansible
https://github.com/johanneskastl/writefreely_vagrant_libvirt_ansible
#WriteFreely #blog #CMS #vagrant #libvirt #ansible #openSUSE #Tumbleweed #Leap #HellYeah
Neben Fehlerkorrekturen stecken in der aktualisierten Libvirt nur eine Handvoll Neuerungen, die sich aber als durchweg nützlich entpuppen. So unterstützt die Version 11.4 die Konfiguration von NVRAM bei bhyve, während die Hilfswerkzeuge $PATH nutzen. Des Weiteren kennt die „virtsh“ einen weiteren Parameter: „–no-pkttyagent“ verhindert schlicht, dass sich der Authentication-Agent pkttyagent beim Polkitd-Daemon registriert. Qemu unterstützt in neueren Versionen POWER11-Prozessoren („ppc64“-Architektur). Damit kann Libvirt 11.4.0 ebenfalls umgehen. Die Bibliothek weist zudem bei Bedarf den BSD-Hypervisor bhyve an, das NVRAM für die UEFI Firmware in einer Datei zu speichern. Für ihre Arbeit spannt die Libvirt zahlreiche externe Programme ein, darunter mount, ip, ovs-vsctl, bhyveload und den bereits erwähnten pkttyagent. Bislang ermittelte das Build-System der Libvirt bei der Übersetzung die Speicherorte dieser Tools und compilierte ihre Pfade fest in die Bibliothek ein. Die neue Version 11.4.0 verzichtet darauf. Stattdessen nimmt sie an, dass alle Hilfsprogramme über die Verzeichnisse in der Umgebungsvariablen $PATH erreichbar sind. Das erleichtert vor allem den Einsatz auf Distributionen, die derzeit die Verzeichnisse „/bin“ und „/sbin“ nach „/usr“ migrieren. Über die Bibliothek Libvirt können Programmierer Hypervisoren und Virtualisierer einheitlich steuern und virtuelle Maschinen verwalten. Unter anderem nutzt sie der beliebte virt-manager – auch als Virtual Machine Manager (VMM) bekannt.