Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

podman machine start requires Rosetta even when CONTAINERS_MACHINE_ROSETTA is set to false #22918

Closed
agsimeonov opened this issue Jun 5, 2024 · 3 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@agsimeonov
Copy link

agsimeonov commented Jun 5, 2024

Issue Description

With version 5.1.0 the following was introduced:

VMs created by podman machine on macOS with Apple silicon can now use Rosetta 2 (a.k.a Rosetta) for high-speed emulation of x86 code. This is enabled by default. If you wish to change this option, you can use the CONTAINERS_MACHINE_ROSETTA environment variable or containers.conf.

Running the following

export CONTAINERS_MACHINE_ROSETTA=false
podman machine init --cpus=4 --disk-size=60 --memory=8192 --rootful
podman machine start

I get a popup asking me to install Rosetta.

I can't seem to get things running without Rosetta in the mix.

Steps to reproduce the issue

Steps to reproduce the issue

  1. on a fresh install run: export CONTAINERS_MACHINE_ROSETTA=false
  2. podman machine init --cpus=4 --disk-size=60 --memory=8192 --rootful
  3. podman machine start

You will get a prompt to install Rosetta

Describe the results you received

Rosetta is required even though CONTAINERS_MACHINE_ROSETTA is set to false

Describe the results you expected

I can use podman without installing Rosetta when CONTAINERS_MACHINE_ROSETTA is set to false

podman info output

OS: darwin/arm64
provider: applehv
version: 5.1.1

Podman in a container

No

Privileged Or Rootless

Privileged

Upstream Latest Release

Yes

Additional environment details

CONTAINERS_MACHINE_ROSETTA is set to false

Additional information

  • Rosetta is not installed on my machine.
  • This is on a fresh install of Podman without any other machines/etc. present.
@agsimeonov agsimeonov added the kind/bug Categorizes issue or PR as related to a bug. label Jun 5, 2024
@agsimeonov agsimeonov changed the title podman machine start without Rosetta podman machine start requires Rosetta even when CONTAINERS_MACHINE_ROSETTA is set to false Jun 5, 2024
@tnk4on
Copy link
Contributor

tnk4on commented Jun 6, 2024

@agsimeonov This is not a bug, it is a documentation bug in the v.5.1.0 release page.
This environment variable was removed during development and has not been implemented. #21670
Also, the release notes file has been corrected in this PR #22842.
However, the fixes do not seem to be reflected in the release page.

@containers/podman-maintainers PTAL

@agsimeonov
Copy link
Author

agsimeonov commented Jun 6, 2024

If anyone else happens on this the way I got things to run without Rosetta is the following:

vim $HOME/.config/containers/containers.conf

then add the following to it:

[machine]
rosetta=false

now you can init a new machine and start things up from there.

Anyways @tnk4on I am also curious as to why Rosetta is the default behavior now? Requiring stopgap software from Apple when things were running fine for years without it previously seems rather odd even if there is a performance gain. Judging from what Apple did with Rosetta 1 when they transitioned from PowerPC to x86 it is reasonable to believe that they will stop supporting Rosetta 2 in the near future after they deem that support for darwin/arm64 is at a satisfactory level. Shouldn't using Rosetta be an option rather than the default?

@tnk4on
Copy link
Contributor

tnk4on commented Jun 6, 2024

@agsimeonov You can check the reasons why it has been enabled by default in the comments of the PR #21670.

Previously, qemu-user-static was used as User Mode Emulation within Podman machine. Rosetta is superior to QEMU in terms of both performance and emulation compatibility for x86_64.

Docker Desktop has Rosetta enabled by default. Podman should also be the same.
For more information on Rosetta Support, please check my presentation.
https://speakerdeck.com/tnk4on/rosetta-support-podman-v5-dot-1

@stale-locking-app stale-locking-app bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 5, 2024
@stale-locking-app stale-locking-app bot locked as resolved and limited conversation to collaborators Sep 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

No branches or pull requests

2 participants