Wine 的安装与管理
提到 Wine 的安装,很多人会直接安装发行版提供的版本,或者添加 Wine 官网提供的软件源,再用包管理器安装。但是,有些程序和游戏需要给 Wine 加上社区提供的补丁才能运行。因此,我推荐的方案是,装好驱动程序和依赖,使用 wine-tkg 构建 Wine,或下载 Wine-GE,手动管理 Wine 版本。
驱动与依赖安装
参照 Lutris 的两篇文档:
- 安装显卡驱动:InstallingDrivers
- 安装 Wine 依赖:WineDependencies
我使用的发行版是 Linux Mint 21.1,显卡是 AMD 的核显,相关命令如下:
1 | sudo add-apt-repository ppa:kisak/kisak-mesa |
Wine-tkg
Wine-tkg 是一套构建系统,可以方便地编译满足自己需求的 wine。Wine-tkg 包含大量补丁与选项以供定制。
编译 wine 需要安装大量的 32 位和 64 位的依赖。为避免破坏系统1,最好在容器中进行编译。
我使用的发行版 Linux Mint 21.1 是基于 Ubuntu 22.04 LTS 的,所以首先运行一个 Ubuntu 容器:
1 | docker run -it ubuntu:jammy |
进入容器后,安装必要的工具和编辑器,开启 32 位支持,下载 wine-tkg:
1 | dpkg --add-architecture i386 |
进入 wine-tkg-git
目录后,可以修改 customization.cfg
。将 _nomakepkg_dep_resolution_distro
的值改为 "debuntu"
,这样 wine-tkg 就可以自动安装编译 Wine 需要的依赖了。这时也可以进行一些其它的修改。保存退出后,运行 non-makepkg-build.sh
,按照提示操作。
如果在编译过程中遇到问题,可以看 prepare.log
日志,尝试自己排查错误。如果无法解决问题,建议直接去提 issue。
编译生成的文件在 non-makepkg-builds
目录下,用 docker cp
命令将其复制出来,即可使用。
Wine-GE
Wine-GE 是 GloriousEggroll 构建的 wine,用于 Steam 之外的游戏(玩 Steam 的游戏可以用他的 Proton-GE)。
与 wine-tkg 不同,Wine-GE 提供编译好的二进制,直接从 GitHub Release 下载即可。
使用 Wine
运行 Wine 时指定路径,即可使用自己安装的 Wine。如:
1 | WINEPREFIX=/home/zhao/Documents/yuri/ ~/opt/lutris-GE-Proton7-35-x86_64/bin/wine YURI.exe |
注意 winecfg
命令与对应的 wine
在同一目录下。
如果使用 Winetricks,需要添加 WINE
环境变量,以指定 Wine 的路径。如:
1 | WINEPREFIX=/home/zhao/Documents/yuri/ WINE=~/opt/lutris-GE-Proton7-35-x86_64/bin/wine winetricks |