Qemu not responding after upgrading to macOS Catalina

安稳与你 提交于 2021-02-07 20:57:58

问题


After upgrading my Mac to Catalina, I can't use qemu anymore. Whenever I try to start it, it just hangs. The menu bar also doesn't respond while the qemu window is active. Running qemu-system-i386 --help does work though.

Qemu version: 4.1.0

Edit: Passing -nographic fixes the issue.


回答1:


This is the result of a change in behaviour in Catalina which breaks an assumption in the design of the QEMU Cocoa front-end. We've put in a change to the QEMU code (upstream git commit dff742ad27efa474) which avoids the hang; this will be in the upcoming QEMU 4.2 release. In the meantime a workaround is to avoid the Cocoa frontend (eg using -nographic to turn off graphics altogether, or using one of the other display frontends like VNC or Spice).

(The technical detail of the Catalina behaviour change is that NSApplicationDelegate::applicationDidFinishLaunching documents that it is called before any events are processed [ https://developer.apple.com/documentation/appkit/nsapplicationdelegate/1428385-applicationdidfinishlaunching ] and this was true in older versions of OSX, but in Catalina at least one event is sent to the app before applicationDidFinishLaunching, which triggered a deadlock in QEMU.)

A feedback report has apparently been filed with Apple about the OSX behaviour change, bug number FB7380815.




回答2:


Get SDL

 brew install sdl2

and the Qemu sources

git clone https://git.qemu.org/git/qemu.git

then configure using

./configure --target-list=i386-softmmu,x86_64-softmmu --enable-sdl --disable-cocoa --enable-sdl-image

then

make & make install 

This deploys useable qemu binaries that use SDL instead of cocoa. Good luck!



来源:https://stackoverflow.com/questions/58318920/qemu-not-responding-after-upgrading-to-macos-catalina

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!