Mac下安装与使用Wine最全指导 您所在的位置:网站首页 Mac下载软件怎么安装 Mac下安装与使用Wine最全指导

Mac下安装与使用Wine最全指导

2024-07-08 00:22| 来源: 网络整理| 查看: 265

Wine可以看作ELF解释器(Interceptor),并实现了WindowsAPI(自己手写一套)与Direct的Runtime,因此可以复用native的性能,而不用虚拟机去执行虚拟指令集.

对比

Wine缺点也明显,上手有一定难度(类似于黑苹果的黑箱调试),需要找DLL与改各种配置,并对日志进行定位分析。

产品分支费用版本特性备注WineHQ最新Free跨平台开源,主干分支最新版不支持osxgcenx-wine-stable最新Free最新,能跑起来大部分应用还是跑不起来CrossOver商用CommercialCodeweavers modified wine version.稳定,支持部分DX11CrossOver bettertester商用15-days-freeCodeweavers modified wine version.免费nightly测试小白鼠gcenx’s wine-crossover商用Free基于CrossOver开源部分编译类似CentOS与RedHat的关系Game Porting ToolkitSDKFree苹果移植套件只支持ARM,非DXVK

此外还有PlayOnMac/wineskin等wrapper方案。它们配置更新维护没有CrossOver快,因此这些均不再介绍。

上述最佳方案莫过于商业版CrossOver,而且也不贵,不用折腾。

上述均不能保证程序全部正常运行,运行不来的还是要靠虚拟机。

安装开源版CrossOver安装

假如你已经在macOS11以上,推荐安装GcenxWine的版本,安装后会自动创建Wine Crossover.app

123brew tap gcenx/winebrew install --cask --no-quarantine wine-crossoverbrew install winetricks

这种安装很类似RedHat与CentOS的关系,虽然白嫖开源代码流程合法,但是追求稳定与Support的话还是使用收费版更好

收费版CrossOver的安装

购买后直接点击安装即可。

合法地免费申请测试使用最新版:https://www.codeweavers.com/bettertester

开源版gcenx-wine-stable

此版本经过测试,比较尴尬,无法运行32位程序,而且大部分64位程序会stack溢出。

随时切换配置(可选)

此部分主要是做对照实验时使用,并防止重装后丢失数据。

首先CrossOver安装完成后,新建一个/win7-64的容器

接着将如下代码复制到~/.bashrc中(或者zshrc,取决于你的Shell)

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748function wine_common(){ function lk_folder(){ echo link "$1" to "$2" mkdir -p $1 rm -rf "$2/`basename $1`" ln -sfn "$1" "$2" } export WINEPREFIX=$1 mkdir -p $WINEPREFIX # 防止程序信息丢失,直接放在Mac下 v_user="${WINEPREFIX}/drive_c/users/$3" lk_folder "${HOME}/Documents/wine/Application Data/" "$v_user" lk_folder "${HOME}/Documents/wine/AppData/" "$v_user" lk_folder "${HOME}/Documents/wine/Local Settings/" "$v_user" lk_folder "${HOME}/Documents/wine/My Documents/" $v_user lk_folder "${HOME}/Documents/wine/My Music/" $v_user lk_folder "${HOME}/Documents/wine/My Pictures/" $v_user lk_folder "${HOME}/Documents/wine/My Videos/" $v_user # configurate path export PATH=$(echo $PATH|tr ':' '\n'|grep -v wine|grep -v CrossOver|tr '\n' ':') export PATH=$2:$PATH # configurate language export LC_ALL="en_US.UTF-8"; echo $v_user readlink wine # 可以看出收费版的Wine信息输出是不一样的 where wine wine --version}function switch_wine(){ WINE_BIN="/Applications/Wine CrossOver.app/Contents/Resources/start/bin:/Applications/Wine Crossover.app/Contents/Resources/wine/" WINEPREFIX=$HOME/.wine export WINEARCH=win64 wine_common ${WINEPREFIX} ${WINE_BIN} $USER}function switch_co(){ BOTTLE_NAME=win7-64 WINE_BIN='/Applications/CrossOver.app/Contents/SharedSupport/CrossOver/CrossOver-Hosted Application' WINEPREFIX="$HOME/Library/Application Support/CrossOver/Bottles/$BOTTLE_NAME" Bottles=$(dirname ${WINEPREFIX}) ln -sfn "$Bottles/$BOTTLE_NAME" "$Bottles/default" v_users=${WINEPREFIX}/drive_c/users export WINEARCH=win64 export DXVK_HUD=1 wine_common ${WINEPREFIX} ${WINE_BIN} crossover}

这样同时安装免费版与商业版的优点是可以随意切换env(商业版与免费版),而且数据可以共享(大部分配置全部都可以软链接到Document下)

使用

大部分简单的APP可以通过如下使用

123# 切换到社区版 switch_wine# 切换到商业版 switch_cowine xxx.exeFor DirectX Game

到此为止,大部分非3D游戏应该都可以运行了。但是要强调一下,Mac性能差强人意,因此性能与虚拟机也好不到哪去,不要有过高期望。

我个人不推荐安装这里的任何dll,如果有问题,只能试试看而已。

DirectX9

虽然Wine已经完整实现并Build in了DirectX9,但是如果有兼容问题,可以考虑如下方案

1234# DX9, 10+不相互兼容,需要各自下载各自的,以9为例# 这里有安装完全包(directx9)与DLL的方案,官方更推荐DLL(d3dx9_36)方案# 我个人更喜欢安装这个winetricks directx9

如果还是不能运行,那么就只能换DX的版本或者换Wine的版本了

另外注册表参数CSMT虽然在网上说有用(CrossOver中叫做Performance Enhanced Graphics),但是实际没有较大的提升

DirectX10+

在Wine中Mac下暂时没有找到实现,只有部分Hack的博文。原因是在Mac下,DX通过如下实现

DX10+: DXVK(Vulkan,推荐)DX9: wined3d(OpenGL)

同时由于Mac本身性能就一般,所以这里就不折腾了。

而在CrossOver下,商业版支持了部分DX10+的API,但是总体上只可以看成一个Stub,并非完全支持。

关于.NetFrameWork

net框架是向前兼容的,理论上安装最新的就可以的,然而实际上当然是一堆坑,不一定要强求最新的版本

一般用Wine自己实现的Net框架Mono是最方便的,比如CrossOver下会自动帮你安装好wine-mono。

如果你非要用MS的Net框架,首先需要卸载wine-mono框架

123# 开源版手动卸载 wine-mono 框架wine uninstallerwinetricks dotnet35

而在CrossOver下用鼠标搜索“Net Framework”即可卸载mono并安装新版。

Windows 10 下默认安装的版本为:4.6.x 和 3.5SP1,详见矩阵图

CJK字体乱码问题

网上有直接替换user.reg或者system.reg的方案,我个人不推荐,因为这两个可以看作序列化缓存,不应该手动修改,缺点是没有复用Mac下的字体

12# 安装一堆CJK字体,能用就行winetricks cjkfonts

接着配置

12345678cd $HOME/.winecat > font_settings.reg


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有