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

Why we should add "-arm64e_preview_abi"? #1766

Closed
zfhxi opened this issue Jun 1, 2023 · 1 comment
Closed

Why we should add "-arm64e_preview_abi"? #1766

zfhxi opened this issue Jun 1, 2023 · 1 comment

Comments

@zfhxi
Copy link

zfhxi commented Jun 1, 2023

Based on the discussion on #1333 (comment), it is recommended to execute sudo nvram boot-args=-arm64e_preview_abi to avoid the error message yabai: scripting-addition failed to inject payload into Dock.app!.

However, I am using PlayCover on my M1 Pro MacBook Pro, and I have already added the boot-args by executing "sudo nvram boot-args="amfi_get_out_of_my_way=0x1 ipc_control_port_options=0" as instructed in the troubleshooting guide found at https://docs.playcover.io/getting_started/troubleshoot_login.html?highlight=nvram#troubleshoot-app-login-issues

When I install yabai on my MacBook Pro, I have tried executing sudo nvram boot-args="-arm64e_preview_abi amfi_get_out_of_my_way=0x1 ipc_control_port_options=0" and rebooting, but still encountered the error message yabai: scripting-addition failed to inject payload into Dock.app!.

According to the discussion on MacEnhance/MacForge#30 (comment), it seems that "-arm64e_preview_abi" conflicts with "amfi_get_out_of_my_way".

I wonder how to use yabai without adding "-arm64e_preview_abi". If anyone has a solution, please kindly share it.

@koekeishiya
Copy link
Owner

The Dock is an arm64e binary. For yabai to inject code into the Dock we must match the binary format; so the scripting addition that yabai provides must also be an arm64e binary. For our code to run as an arm64e binary that boot-flag is required.

Apparently amfi_get_out_of_my_way=0x1 is not compatible -arm64e_preview_abi due to a macOS bug. I don't know much about that, nor do I really care, as I never had the need to disable AMFI for my purposes.

You can use yabai without setting this flag, but you will not be able to use the scripting addition.
The features you will be missing out on are documented both in the wiki and in the provided man-page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants