解决 macOS 10.15 Catalina 无法运行 qmeu 的问题

最近在学习 Rust,并且在尝试使用 Rust 来做内核,跟着 Writing an OS in Rust{:target="_blank"} 系列博客学习,这个博客质量非常高,深入浅出。 但是最近遇到一个qemu的问题,当我将系统升级到最近的 macOS 10.15 Catalina 之后,qemu 无法运行,启动之后卡死。如下: {:height=“360px” width=“450px”} 解决方案 实际上卡死的原因是 Catalina 操作系统底层 API 变化导致的死锁。该死锁会导致 qemu 的 UI Cocoa 无法正常工作。 所以我们目前运行 qemu 的非 GUI 模式是正常的。 后来我在 qemu 的论坛发现有人报告这个 bug,并且有人已经修复了这个问题,但是还没有 release。但是也有人给出了其他解决方案,可以通过自己编译切换 UI 来解决这个问题。 步骤如下(我使用homebrew安装,其他安装方式也一样,重新编译就行): brew edit qemu 添加依赖:sdl2,depends_on "sdl2" 关闭 cocoa,将--enable-cocoa 改为 --disable-cocoa 打开 sdl,将--disable-sdl 改为 --enable-sdl brew reinstall --build-from-source qemu 最终的 Formula 文件: class Qemu < Formula desc "x86 and PowerPC Emulator" homepage "https://www....

November 3, 2019 · 2 min · Rustin liu