This Ansible playbook automates the configuration of Rosetta support for Podman machines on macOS Tahoe systems.
The playbook performs the following tasks:
- Checks for existing Rosetta support - Verifies if the
/proc/sys/fs/binfmt_misc/rosettafile exists - Enables Rosetta if needed - Creates the
/etc/containers/enable-rosettafile when Rosetta binfmt support is not present - Reboots the machine - Automatically reboots the Podman machine after enabling Rosetta to ensure the configuration takes effect
Starting with Podman 5.6, Rosetta is disabled by default due to compatibility issues between Rosetta and Linux kernels 6.13 and above. This affects performance when running x86_64 containers on Apple Silicon Macs, as the system falls back to QEMU for architecture translation instead of the more efficient Rosetta.
However, Apple has addressed these compatibility issues in macOS Tahoe. This playbook automates the manual process of re-enabling Rosetta functionality for users running this version.
- macOS Tahoe installed
- Podman 5.6 with the "applehv" provider
Run the playbook with:
podman machine init --playbook rosetta-enabled.ymlThis playbook is based on the manual steps outlined in the Podman 5.6 Released: Rosetta Status Update blog post.
After running the playbook and the machine reboots, you can verify that Rosetta is enabled by running:
podman machine ssh "cat /proc/sys/fs/binfmt_misc/rosetta"If Rosetta is properly enabled, this command should return enabled.
Thanks to Brent Baude (Podman Architect, Red Hat) for the detailed explanation and manual steps that this playbook automates.