abiosoft/colima · warning
unable to disable qemu x86_84 emulation: %w
Error message
unable to disable qemu x86_84 emulation: %w
What it means
After successfully registering Rosetta, Colima disables the competing qemu x86_64 binfmt handler (echo 0 into /proc/sys/fs/binfmt_misc/qemu-x86_64) so x86_64 binaries prefer fast Rosetta translation. Failure is only a warning (note the message's 'x86_84' typo); the chain continues and Rosetta registration from the prior step remains in effect, with the caveat that qemu may also be registered for the same magic, making handler precedence unpredictable.
Source
Thrown at environment/vm/lima/lima.go:333
if err := core.SetupBinfmt(l.host, l, environment.Arch(conf.Arch)); err != nil {
logrus.Warn(fmt.Errorf("unable to enable qemu %s emulation: %w", arch, err))
}
}
}
if l.limaConf.VMOpts.VZOpts.Rosetta.Enabled {
// enable rosetta
err := l.Run("sudo", "sh", "-c", `stat /proc/sys/fs/binfmt_misc/rosetta || echo ':rosetta:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x3e\x00:\xff\xff\xff\xff\xff\xfe\xfe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/mnt/lima-rosetta/rosetta:OCF' > /proc/sys/fs/binfmt_misc/register`)
if err != nil {
logrus.Warn(fmt.Errorf("unable to enable rosetta: %w", err))
return nil
}
// disable qemu
if err := l.RunQuiet("stat", "/proc/sys/fs/binfmt_misc/qemu-x86_64"); err == nil {
err = l.Run("sudo", "sh", "-c", `echo 0 > /proc/sys/fs/binfmt_misc/qemu-x86_64`)
if err != nil {
logrus.Warn(fmt.Errorf("unable to disable qemu x86_84 emulation: %w", err))
}
}
}
return nil
})
// replicate addresses when network address is disabled
a.Add(func() error {
if err := l.replicateHostAddresses(conf); err != nil {
logrus.Warnln(fmt.Errorf("unable to assign host IP addresses to the VM: %w", err))
}
return nil
})
// preserve state
a.Add(func() error {
if err := configmanager.SaveToFile(conf, config.CurrentProfile().StateFile()); err != nil {View on GitHub (pinned to c3a5f9184d)
Solutions
- Ignore if x86_64 emulation works acceptably; this is best-effort de-duplication.
- Verify and fix manually: `colima ssh -- cat /proc/sys/fs/binfmt_misc/qemu-x86_64` then `echo 0 | sudo tee /proc/sys/fs/binfmt_misc/qemu-x86_64`.
- If qemu keeps winning over Rosetta, unregister it manually as above, or restart so registration order favors Rosetta.
- On custom images, name the qemu handler qemu-x86_64 so Colima can disable it.
Defensive patterns
Strategy: fallback
Try / catch
Non-fatal warning; no action required. If qemu shadows Rosetta for x86_64, manually disable the handler: echo 0 | sudo tee /proc/sys/fs/binfmt_misc/qemu-x86_64 in the guest.
Prevention
- Name the qemu handler qemu-x86_64 in custom images
- Verify handler precedence with colima ssh -- cat /proc/sys/fs/binfmt_misc/status
- Treat this warning as cosmetic unless x86_64 perf regresses
When it happens
Trigger: VZ+Rosetta on Apple Silicon where the qemu-x86_64 handler exists (stat succeeded) but writing 0 fails: read-only binfmt_misc, handler name differs, guest security policy. Purely a guest-side tweak, never fatal.
Common situations: Custom images with unusual binfmt handler names; hardened guests blocking binfmt writes; cosmetic noise users notice in logs.
Related errors
- unable to enable rosetta: %w
- unable to enable qemu %s emulation: %w
- unable to resize disk: %w
- error starting vm: %w
- error stopping vm: %w
AI-assisted analysis of abiosoft/colima@c3a5f9184d (2026-08-15).
Data as JSON: /api/errors/0622bb97f118d1f4.
Report an issue: GitHub.