3 ms·
Curious: how do people use Qemu the most these days? Dev environment? Running specific apps on a different OS? I don't know... gaming?
by simonebrunozzi 1y ago
Curious: how do people use Qemu the most these days? Dev environment? Running specific apps on a different OS? I don't know... gaming?
- alexrp 1y agoFor Zig we use QEMU to run our module test suites on a broad range of targets that we don't necessarily have real hardware for: https://github.com/ziglang/zig/blob/50edad37ba745502174e49af922b179b1efdd99c/test/tests.zig#L157-L1195 https://github.com/ziglang/zig/blob/50edad37ba745502174e49af...
- nativeit 1y agoMine is a rather prosaic example, but I'm sure it's not uncommon: Proxmox on leased bare metal servers make for wonderful (small scale, but impressively equipped at ~$100/mo) cheap dev hosting. If you find yourself limited by the equivalent VPS expense, I discovered that for my use-case (mixed web hosting, dev services, self-hosting) I could squeeze a lot more out of an entry level bare-metal box with ~48GB of RAM, and everything just becomes a VM in Proxmox, and it's still trivially simple to scale/replicate, maintain backups, and tie together with other VPS or cloud services. The only part that was a bit of a challenge is negotiating NAT for the virtual NICs so you don't need separate IPv4 addresses for each guest. But Proxmox's docs are pretty robust, and I'm sure there are dozens of tuts available now.
- mdaniel 1y agoI'd suspect a great deal of people are secretly benefiting from qemu when they do $(docker build --platform linux/{arm64,amd64}) courtesy of binfmt_misc and a static copy of qemu - https://github.com/moby/buildkit/blob/v0.23.2/docs/multi-platform.md#:~:text=it%20gets%20executed%20using%20a%20qemu%20user-mode%20emulator https://github.com/moby/buildkit/blob/v0.23.2/docs/multi-pla... - https://github.com/moby/buildkit/blob/v0.23.2/Dockerfile#L165 https://github.com/moby/buildkit/blob/v0.23.2/Dockerfile#L16... - https://github.com/tonistiigi/binfmt/blob/buildkit/v9.2.2-54/Dockerfile#L8 https://github.com/tonistiigi/binfmt/blob/buildkit/v9.2.2-54... - https://github.com/tonistiigi/binfmt/blob/buildkit/v9.2.2-54/cmd/binfmt/main.go#L52 https://github.com/tonistiigi/binfmt/blob/buildkit/v9.2.2-54... and https://github.com/tonistiigi/binfmt/blob/buildkit/v9.2.2-54/cmd/binfmt/config.go#L29 https://github.com/tonistiigi/binfmt/blob/buildkit/v9.2.2-54... and let me tell you from first-hand experience, that trying to swap in an updated version of the bundled qemu binary when the static version panics on some mis-emulated instruction is some whooooooo, boy
- mdaniel 1y agoThen again, everything in buildkit is designed for maximum opacity, in my experience so I guess it tracks