The State of wine on OS X

[wine][] 虽然声称自己是一个跨各平台的项目,可是它的 Mac OS X 支持一直很糟糕。因为最近 [ie4osx][] 的出现,原本对 wine 不感兴趣的人,如我又开始活络起来。今天花了一点时间理了理 wine 在 OS X 上的几个问题,简单记录如下,也许对别人有用。

[wine]: http://www.winehq.org
[ie4osx]: http://www.kronenberg.org/ies4osx

首先,wine 原本是不支持 Mac OS X 的,但独立的 [Darwine][] 项目很大程度上解决了这一点,可是 Darwine 项目自从去年十月份一来就再也没有更新过了,也没有给 x86 的二进制包发布。最近 ie4osx 的编译者提供了二进制包的下载,其实是来自[这里](http://thisismyinter.net/?p=21)编译的,然而这里提供的安装包中能用只有 x11drv,也就是说,wine 必须依靠 X11 才能运行,不能脱离 X11,像一个 native 的 OS X 应用程序那样运行。

[Darwine]: http://darwine.sourceforge.net

原本 [quartzdrv][] 也是 Darwine 项目中的一个分支,目标就是实现 native 的 OS X 支持,可惜出师未捷身先死,quartzdrv 目前也不能和最新的 wine 代码很好的兼容了。然而事实上,依赖 wine 开发的 [CrossOver Mac][] 这个项目早就完成了 quartzdrv 的改定,只不过这是一个商业项目,修改后的代码并没有公开,甚为遗憾。

[quartzdrv]: http://wiki.winehq.org/MacOSX/QuartzDriver
[CrossOver Mac]: http://www.codeweavers.com/products/cxmac/

所以一个好用的开源 quartzdrv 实现就成为了一直悬而未决的开发难题,现在 wine 的 git tree 中虽然有部分残余,其实是去年 Pierre d’Herbemont 发到 wine-patch 邮件列表的一系列 patch 中的第 [1](http://article.gmane.org/gmane.comp.emulators.wine.patches/29764), [2](http://article.gmane.org/gmane.comp.emulators.wine.patches/29766) 个,后续的 patch 一直未能合并进去,然而我咨询 Pierre 得到的回答是,他发的这一系列 patch 的功能仍然不能补足整个 quartzdrv 的需要。

我强烈建议有兴趣的同学,把这个开发的想法作为明年 [Google Summer of Code](http://code.google.com/soc/) 的项目。

话说回来,基于 X11 的实现在 Leopard 下会有一个 IE 页面频繁刷新的问题,通过更新 X11 到 [2.1.0](http://trac.macosforge.org/projects/xquartz/wiki/Releases) 版本可以解决。

Author: Jiang Jiang

A software engineer from China, working on some OS for a fruit company. Interested in typography and science fiction.

2 thoughts on “The State of wine on OS X”

Leave a Reply

Your email address will not be published. Required fields are marked *