{"slug": "libvirt", "name": "libvirt", "category": "infra", "category_name": "Infrastructure and DevOps", "description": "", "recommenders": 5, "commenters": 12, "warners": 2, "score": 4.01, "rising": -1.64, "first": "2025-11-12", "latest": "2026-07-18", "why": "I use libvirt, vfio pci passthrough, evdev and some other stuff and have been smoothly VM gaming for a few years.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 5, "compare": 0, "warn": 2}, "spark": [0, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I use libvirt, vfio pci passthrough, evdev and some other stuff and have been smoothly VM gaming for a few years.", "kind": "", "icon": true, "domain": "libvirt.org", "github_repo": null, "official_url": "https://libvirt.org", "pricing": "", "aliases": ["libvirt"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 779038545, "item_id": 48689909, "url": "https://news.ycombinator.com/item?id=48689909", "by": "nyrikki", "date": "2026-06-26", "stance": "recommend", "quote": "I still think libvirt is a lower entry cost", "excerpt": "Are you looking for highly ephemeral nodes, where you are writing automation that will use the API to orchestrate it? Or do you just want small microVMs that you launch and kill? Firecracker just has a ReSTful unix socket with a defined API and launches KVM vms with limited options. For custom SMB I still think libvirt is a lower entry cost and may have transferable use cases to longer lived VMs, so you can just laun", "context": "", "use_case": "VM management for custom setups", "switched_from": "", "story": "Run isolated sandboxes with full lifecycle control: AWS introduces MicroVMs"}, {"id": 774929344, "item_id": 48433084, "url": "https://news.ycombinator.com/item?id=48433084", "by": "sureglymop", "date": "2026-06-07", "stance": "recommend", "quote": "I use libvirt, vfio pci passthrough, evdev and some other stuff and have been smoothly VM gaming for a few years.", "excerpt": "I use libvirt, vfio pci passthrough, evdev and some other stuff and have been smoothly VM gaming for a few years. Mostly just followed the arch wiki when I set it up back then. I get throwing in the towel with all these issues but I personally didn't encounter half of them.", "context": "Arch Linux user", "use_case": "VM gaming with GPU passthrough", "switched_from": "", "story": "I am giving up on VM Gaming"}, {"id": 751962416, "item_id": 46997651, "url": "https://news.ycombinator.com/item?id=46997651", "by": "ssl-3", "date": "2026-02-12", "stance": "recommend", "quote": "I've been using it at home for years and years with libvirt", "excerpt": "Yep. It's pretty boring. I've been using it at home for years and years with libvirt on very not-special consumer hardware. I guess the AWS clown is finally catching up on this one little not-new-at-all thing.", "context": "", "use_case": "Home virtualization", "switched_from": "", "story": "AWS Adds support for nested virtualization"}, {"id": 745147936, "item_id": 46571746, "url": "https://news.ycombinator.com/item?id=46571746", "by": "Spivak", "date": "2026-01-10", "stance": "recommend", "quote": "My libvirt setup does this right now", "excerpt": "I'm not really sure I get the value of these being remotely hosted. We're writing code on super powerful machines with hypervisors built in. My libvirt setup does this right now, I have a little dumb cli I wrote that lets me create, start, stop, save, restore, and destroy preconfigured machines. I use it for testing provisioning scripts and playbooks. You get the full cloud experience by including a cloud-init ISO so", "context": "", "use_case": "local VMs for testing provisioning", "switched_from": "", "story": "Code and Let Live"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 763452064, "item_id": 47715754, "url": "https://news.ycombinator.com/item?id=47715754", "by": "macartain", "date": "2026-04-10", "stance": "warn", "quote": "the libvirt documentation of how to take qemu snapshots was amazingly fragmented, inconsistent and out of date", "excerpt": "I came here to say something like \"This is a joke, right?\" Not to be snarky, but because I just assume everyone throws the Inevitable Looming Tool at docs, especially where resource is scarce.. but this point has already come up and I suppose there is some truth in the idea that folks detect AI and are often put off by it - but while I think that's true in creative/blog pieces, is it really true in formal docs? For m", "context": "", "use_case": "", "switched_from": "", "story": "Any Open Source projects in need of documentation writer?"}, {"id": 734498242, "item_id": 45906140, "url": "https://news.ycombinator.com/item?id=45906140", "by": "sunshine-o", "date": "2025-11-12", "stance": "warn", "quote": "VM with vm-bhyve is simpler than libvirt and no XML to deal with.", "excerpt": "I have been daily driving FreeBSD for a while now (as a newcomer, coming from Linux) and surprisingly the experience for me was different from what you usually hear. Pros: - It is actually in a way easier than Linux. The installation is less complex and more reliable than a Fedora if you are not afraid of the TUI. More important it will soon include a desktop installation script. - All the software you will ever need", "context": "", "use_case": "", "switched_from": "", "story": "A brief look at FreeBSD"}]}], "who": [{"by": "sureglymop", "context": "Arch Linux user", "url": "https://news.ycombinator.com/item?id=48433084", "date": "2026-06-07"}], "tags": [], "use_cases": ["vm management for agent sandbox", "vm management for custom setups", "vm gaming with gpu passthrough", "home virtualization", "local vms for testing provisioning", "vm communication proxying"], "compared": [{"slug": "qemu", "name": "QEMU", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "firecracker", "name": "Firecracker", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "proxmox", "name": "Proxmox", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "incus", "name": "Incus", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 784118832, "item_id": 49007427, "url": "https://news.ycombinator.com/item?id=49007427", "by": "rwmj", "date": "2026-07-22", "stance": "neutral", "quote": "I managed to get that easter egg into libvirt", "excerpt": "I managed to get that easter egg into libvirt - it listens on ports 16509 and 16514 (https://libvirt.org/remote.html).", "context": "", "use_case": "Virtualization management", "switched_from": "", "story": "10 REM\"_(C2SLFF4"}], "threads": [{"url": "https://news.ycombinator.com/item?id=49005329", "title": "10 REM\"_(C2SLFF4", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48959392", "title": "Setting up your spare Mac for Claude Code to control, a step-by-step guide", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48642510", "title": "Run isolated sandboxes with full lifecycle control: AWS introduces MicroVMs", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48428727", "title": "I am giving up on VM Gaming", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48189368", "title": "Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47711352", "title": "Any Open Source projects in need of documentation writer?", "mentions": 1}], "sentiment_by_month": {"2025-11": {"warn": 1, "neutral": 1}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {"recommend": 1}, "2026-03": {"recommend": 1, "neutral": 2}, "2026-04": {"warn": 1}, "2026-05": {"neutral": 1}, "2026-06": {"recommend": 2}, "2026-07": {"neutral": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 783369697, "item_id": 48960606, "url": "https://news.ycombinator.com/item?id=48960606", "by": "esaym", "date": "2026-07-18", "stance": "neutral", "quote": "using libvirt to give claude its own graphical desktop env", "excerpt": "Outside of the article's mentioned graphics development, there is no reason to isolate an agent using actual hardware. I threw together this script[0] using libvirt to give claude its own graphical desktop env to be able to do user acceptance testing with Chrome. It has full root and can do what ever. If it makes a mess, I can dump and reinstall in seconds. 0: https://gist.github.com/smith153/04b4068b5a2d7b234f1c3d59", "context": "", "use_case": "VM management for agent sandbox", "switched_from": "", "story": "Setting up your spare Mac for Claude Code to control, a step-by-step guide"}, {"id": 779038545, "item_id": 48689909, "url": "https://news.ycombinator.com/item?id=48689909", "by": "nyrikki", "date": "2026-06-26", "stance": "recommend", "quote": "I still think libvirt is a lower entry cost", "excerpt": "Are you looking for highly ephemeral nodes, where you are writing automation that will use the API to orchestrate it? Or do you just want small microVMs that you launch and kill? Firecracker just has a ReSTful unix socket with a defined API and launches KVM vms with limited options. For custom SMB I still think libvirt is a lower entry cost and may have transferable use cases to longer lived VMs, so you can just laun", "context": "", "use_case": "VM management for custom setups", "switched_from": "", "story": "Run isolated sandboxes with full lifecycle control: AWS introduces MicroVMs"}, {"id": 774929344, "item_id": 48433084, "url": "https://news.ycombinator.com/item?id=48433084", "by": "sureglymop", "date": "2026-06-07", "stance": "recommend", "quote": "I use libvirt, vfio pci passthrough, evdev and some other stuff and have been smoothly VM gaming for a few years.", "excerpt": "I use libvirt, vfio pci passthrough, evdev and some other stuff and have been smoothly VM gaming for a few years. Mostly just followed the arch wiki when I set it up back then. I get throwing in the towel with all these issues but I personally didn't encounter half of them.", "context": "Arch Linux user", "use_case": "VM gaming with GPU passthrough", "switched_from": "", "story": "I am giving up on VM Gaming"}, {"id": 771058961, "item_id": 48191185, "url": "https://news.ycombinator.com/item?id=48191185", "by": "darkwi11ow", "date": "2026-05-19", "stance": "neutral", "quote": "libvirt/qemu based VM", "excerpt": "I use Tanstack in my projects. Last week when Tanstack got compromised, it was only my laziness that saved me -- was thinking about doing pnpm upgrade but got lazy and played some dota... Finished game was just going to pnpm upgrade, opened hacker news and boom! news hit. Since then, I had set up libvirt/qemu based VM with another Linux running in it specifically for development. Now I run all of docker, kubernetes, ", "context": "", "use_case": "", "switched_from": "", "story": "Mini Shai-Hulud Strikes Again: 314 npm Packages Compromised"}, {"id": 763452064, "item_id": 47715754, "url": "https://news.ycombinator.com/item?id=47715754", "by": "macartain", "date": "2026-04-10", "stance": "warn", "quote": "the libvirt documentation of how to take qemu snapshots was amazingly fragmented, inconsistent and out of date", "excerpt": "I came here to say something like \"This is a joke, right?\" Not to be snarky, but because I just assume everyone throws the Inevitable Looming Tool at docs, especially where resource is scarce.. but this point has already come up and I suppose there is some truth in the idea that folks detect AI and are often put off by it - but while I think that's true in creative/blog pieces, is it really true in formal docs? For m", "context": "", "use_case": "", "switched_from": "", "story": "Any Open Source projects in need of documentation writer?"}, {"id": 761230994, "item_id": 47576937, "url": "https://news.ycombinator.com/item?id=47576937", "by": "EnigmaCurry", "date": "2026-03-30", "stance": "neutral", "quote": "Proxmox and/or libvirt", "excerpt": "Same. Here's how I scratch the NixOS itch on Proxmox and/or libvirt[1]. One interface for both targets. [1] https://github.com/EnigmaCurry/nixos-vm-template", "context": "", "use_case": "", "switched_from": "", "story": "From Proxmox to FreeBSD and Sylve in Our Office Lab"}, {"id": 759248513, "item_id": 47453032, "url": "https://news.ycombinator.com/item?id=47453032", "by": "fourfour3", "date": "2026-03-20", "stance": "neutral", "quote": "It hooks into libvirt for this", "excerpt": "I use it solely to give a webui for managing virtual machines on individual servers. It hooks into libvirt for this, so I can also manage them via virsh et al, but it's a nice tool to set up the essentials of a VM and provide remote access to the VM console.", "context": "", "use_case": "", "switched_from": "", "story": "Cockpit is a web-based graphical interface for servers"}, {"id": 756689667, "item_id": 47293104, "url": "https://news.ycombinator.com/item?id=47293104", "by": "moondev", "date": "2026-03-07", "stance": "recommend", "quote": "", "excerpt": "That's why I love Incus. It offers all three so you don't have to choose. OCI app containers, LXC containers and KVM.", "context": "", "use_case": "", "switched_from": "", "story": "A Decade of Docker Containers"}, {"id": 751962416, "item_id": 46997651, "url": "https://news.ycombinator.com/item?id=46997651", "by": "ssl-3", "date": "2026-02-12", "stance": "recommend", "quote": "I've been using it at home for years and years with libvirt", "excerpt": "Yep. It's pretty boring. I've been using it at home for years and years with libvirt on very not-special consumer hardware. I guess the AWS clown is finally catching up on this one little not-new-at-all thing.", "context": "", "use_case": "Home virtualization", "switched_from": "", "story": "AWS Adds support for nested virtualization"}, {"id": 745147936, "item_id": 46571746, "url": "https://news.ycombinator.com/item?id=46571746", "by": "Spivak", "date": "2026-01-10", "stance": "recommend", "quote": "My libvirt setup does this right now", "excerpt": "I'm not really sure I get the value of these being remotely hosted. We're writing code on super powerful machines with hypervisors built in. My libvirt setup does this right now, I have a little dumb cli I wrote that lets me create, start, stop, save, restore, and destroy preconfigured machines. I use it for testing provisioning scripts and playbooks. You get the full cloud experience by including a cloud-init ISO so", "context": "", "use_case": "local VMs for testing provisioning", "switched_from": "", "story": "Code and Let Live"}, {"id": 737251040, "item_id": 46078190, "url": "https://news.ycombinator.com/item?id=46078190", "by": "PunchyHamster", "date": "2025-11-28", "stance": "neutral", "quote": "stuff like this is pretty easy to setup", "excerpt": "> Given how slow protobufs and grpc is, I wonder if the socket transport would ever be the bottleneck to throughput here. I think this is supposed to be option for when you want to pass stuff to host quickly without writing another device driver or using other interface rather than replacement for any rpc between VMs. \"Being fast\" is just a bonus. For example at our job we use serial port for the communication with V", "context": "", "use_case": "VM communication proxying", "switched_from": "", "story": "How to use Linux vsock for fast VM communication"}, {"id": 734498242, "item_id": 45906140, "url": "https://news.ycombinator.com/item?id=45906140", "by": "sunshine-o", "date": "2025-11-12", "stance": "warn", "quote": "VM with vm-bhyve is simpler than libvirt and no XML to deal with.", "excerpt": "I have been daily driving FreeBSD for a while now (as a newcomer, coming from Linux) and surprisingly the experience for me was different from what you usually hear. Pros: - It is actually in a way easier than Linux. The installation is less complex and more reliable than a Fedora if you are not afraid of the TUI. More important it will soon include a desktop installation script. - All the software you will ever need", "context": "", "use_case": "", "switched_from": "", "story": "A brief look at FreeBSD"}]}