Steam 中填写非游戏自带启动项参数需以
%command%结尾,例如WINEDLLOVERRIDES="version=n,b;wimmm=n,b" %command%
常用兼容层
目前建议使用 ProtonPlus 进行版本管理
- GE-Proton - 最推荐使用
- Proton-CachyOS-SLR - CachyOS 默认,新特性更多些
- Proton-EM - 有些小众功能
- Kron4ek Wine-Builds Staging-Tkg - 对于某些小众游戏可能有奇效
核心配置变量
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| WINEPREFIX=~/.wine-game | 指定 Wine 前缀(虚拟 Windows 环境)目录 | 默认 ~/.wine,可用于隔离不同程序环境,通常用于快捷调用已安装运行库和相关程序 |
| STEAM_COMPAT_DATA_PATH | Proton 的自定义参数,类似 WINEPREFIX | |
| COPYPREFIX=1 | 复制前缀,常用于同步桌面端与 Steam Deck 的前缀文件 | 「GE-Proton 引入」0=禁用(默认), 1=启用,参考 https://steamdeckhq.com/news/proton-ge-9-3-released-copy-modded-prefix/ |
| SteamDeck=0 | 禁用 SteamDeck 模式 | 0=禁用, 1=启用(SteamDeck 默认参数),通常用于禁用 SteamDeck 模式,自定义画质参数 |
| PROTON_ADD_CONFIG=fsr4,wayland,hdr | 快捷设置参数 | 「Proton-EM 引入」参考 https://github.com/Etaash-mathamsetty/Proton/blob/em-10/docs/EM-ADDITIONS.md |
DLL 和 Windows 环境变量管理
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| WINEDLLOVERRIDES=“version=n,b;wimmm=n,b” | 覆盖 DLL 加载顺序 | n=程序原生附带, b=Wine 内置, 例如 n,b=优先程序原生附带, 空值=禁用, 支持通配符如 d3d=n, 分号分隔多个DLL |
| WINEDLLPATH="/opt/dlls:/usr/local/wine/dlls" | 指定额外 DLL 搜索路径 | 冒号分隔多个路径,用于加载第三方DLL |
| WINEPATH=“C:\tools;Z:\usr\local\bin” | 为 Windows 程序添加 PATH 环境变量 | 使用 Windows 路径格式,分号分隔,Wine 默认将 Z: 映射到 Linux 的根目录 |
图形渲染配置
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| WINE_D3D_CONFIG=“renderer=vulkan” | 配置 Direct3D 行为 | renderer=vulkan(推荐)/gl, csmt=0/1(命令流多线程), 逗号分隔多选项 |
| nod3d12 | 禁用 DX12 | 等效 PROTON_NO_D3D12,类似参数有 nod3d9、nod3d10、nod3d11 |
| WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER=1 | 修复过场动画色块错误 | 0=禁用(默认), 1=启用 |
| PROTON_NO_WM_DECORATION=1 | 禁用窗口管理器装饰,用于修复无边框全屏的鼠标输入问题 | 0=禁用(默认), 1=启用 |
| DXVK_HUD=fps | DXVK 性能 HUD 显示 | fps=仅FPS, full=完整信息, fps,gpuload,devinfo=组合显示, 1=基础信息, 0=关闭 |
| DXVK_CONFIG_FILE=$HOME/.config/dxvk.conf | 指定 DXVK 配置文件路径 | 可设置帧率限制、各向异性过滤等高级选项 |
| DXVK_STATE_CACHE_PATH=$HOME/.cache/dxvk | DXVK 着色器缓存路径 | 提升二次启动速度,可设为 /tmp 用于测试 |
| VKD3D_CONFIG=dxr | VKD3D-Proton 配置选项 | dxr=DXR光追, dxr11=DX11光追, no_upload_hvv=性能优化, 逗号分隔多选项 |
| VKD3D_SHADER_CACHE_PATH=$HOME/.cache/vkd3d | VKD3D 着色器缓存路径 | 同 DXVK 缓存作用 |
| WINE_FULLSCREEN_FSR=1 | 启用 AMD FSR 1 | 0=禁用(默认), 1=启用, 需 Wine 8.6+,仅适用于 Vulkan 游戏(包括 DXVK 和 VKD3D-Proton) |
| WINE_FULLSCREEN_FSR_MODE=1 | FSR 质量模式 | 0=Ultra Quality, 1=Quality(推荐), 2=Balanced, 3=Performance, 4=Ultra Performance |
| WINE_FULLSCREEN_FSR_STRENGTH=2 | FSR 锐化强度 | 0-5,默认2,5为最高(可能过锐化) |
| WINE_FULLSCREEN_FSR_CUSTOM_MODE=1920x1080 | 设置屏幕的虚拟分辨率 | |
| WINE_FULLSCREEN_INTEGER_SCALING=1 | 启用整数缩放模式 | 0=禁用(默认), 1=启用 |
Wayland 相关
虽然 Wayland 已经问世近 20 年了,但是 Wine 去年才进行 Wine-Wayland 驱动支持,Bug 较多
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| PROTON_ENABLE_WAYLAND=1 | 启用 Wine-Wayland | 0=禁用(默认), 1=启用 |
| PROTON_ENABLE_HDR=1 | Wine-Wayland 中使用 HDR,需同时启用 Wayland | 0=禁用(默认), 1=启用 |
同步机制
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| WINEESYNC=1 | 启用 esync (eventfd 同步) | 0=禁用(默认), 1=启用, 需 ulimit -Hn >= 524288 |
| WINEFSYNC=1 | 启用 fsync (futex2 同步) | 0=禁用(默认), 1=启用, 需 Linux 5.16+,比 esync 更快 |
| NTSYNC=1 | 启用 ntsync (原生 NT 同步) | 0=禁用(默认), 1=启用, Wine 9.0+, 需 Linux 6.10+, 性能最优, 优先级: ntsync > fsync > esync,只启用一个 |
内存和进程管理
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| WINE_LARGE_ADDRESS_AWARE=1 | 32 位程序可使用大于 2GB 内存 | 最大可用约 3-4GB,解决内存不足崩溃 |
| WINE_HEAP_DELAY_FREE=1 | 延迟堆内存释放 | 可能提升性能,但会增加内存占用 |
| WINE_CPU_TOPOLOGY=4:8 | 模拟 CPU 拓扑 | 格式: 核心数:逻辑处理器数,如 4:8(4核8线程), 6:12(6核12线程), 8:8(8核无HT) |
音频配置
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| PULSE_LATENCY_MSEC=60 | PulseAudio 延迟 (毫秒) | 60=默认稳定, 30=低延迟, 15=更低(可能爆音), 120=高稳定性 |
| SDL_AUDIODRIVER=pulse | SDL 音频后端 | pulse=PulseAudio(常用), alsa=ALSA直接, pipewire=PipeWire(推荐), dummy=静音 |
| PIPEWIRE_LATENCY=256/48000 | PipeWire 延迟设置 | 格式: 采样数/采样率, 256/48000=平衡(5.3ms), 128/48000=低延迟(2.7ms), 512/48000=高稳定(10.7ms) |
Vulkan 驱动配置
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json | 指定 Vulkan ICD 文件 | 多 GPU 系统指定驱动,nvidia_icd.json=NVIDIA, intel=Intel |
| AMD_VULKAN_ICD=RADV | AMD Vulkan 驱动选择 | RADV=开源驱动(推荐), AMDVLK=官方闭源驱动 |
Mesa / OpenGL 配置
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| MESA_GL_VERSION_OVERRIDE=4.6 | 强制 OpenGL 版本 | 4.6=最新, 4.5COMPAT=兼容模式, 3.3=旧版兼容, 需与 GLSL 版本对应 |
| MESA_GLSL_VERSION_OVERRIDE=460 | 强制 GLSL 版本 | 460=GLSL 4.60, 450=GLSL 4.50, 330=GLSL 3.30 |
| MESA_NO_ERROR=1 | 禁用 GL 错误检查 | 1=禁用检查(提升5-15%性能但隐藏错误), 0=启用检查(默认) |
| mesa_glthread=true | Mesa 多线程优化 | true=启用(显著提升OpenGL性能), false=禁用(默认) |
| MESA_LOADER_DRIVER_OVERRIDE=radeonsi | 强制 Mesa 驱动 | radeonsi=AMD GCN/RDNA, iris=Intel Xe, zink=OpenGL over Vulkan, nouveau=NVIDIA开源 |
NVIDIA 驱动专用
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| __GL_THREADED_OPTIMIZATIONS=1 | NVIDIA OpenGL 多线程优化 | 1=启用(可提升10-30%性能), 0=禁用 |
| __GL_SHADER_DISK_CACHE=1 | 着色器磁盘缓存 | 1=启用(加快二次启动), 0=禁用 |
| __GL_SHADER_DISK_CACHE_PATH=$HOME/.nv/GLCache | 缓存路径 | 自定义缓存位置,默认 ~/.nv/ComputeCache,可设为 /tmp 加速 |
| WINE_HIDE_NVIDIA_GPU=1 | 隐藏 NVIDIA GPU | 多 GPU 系统避免错误识别 |
| __NV_PRIME_RENDER_OFFLOAD=1 | NVIDIA Prime 渲染卸载 | Optimus 笔记本必需,配合 __GLX_VENDOR_LIBRARY_NAME=nvidia 使用 |
| __GLX_VENDOR_LIBRARY_NAME=nvidia | GLX 提供 | nvidia=强制NVIDIA, mesa=强制Mesa集显 |
DLSS / FSR / XeSS 更新相关
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| PROTON_DLSS_UPGRADE=1 | 自动将 DLSS 更新到最新版本 | 「Proton-CachyOS 引入」0=禁用(默认), 1=启用 |
| PROTON_DLSS_INDICATOR=1 | 在游戏中显示 DLSS 状态指示器 | 「Proton-CachyOS 引入」0=禁用(默认), 1=启用 |
| PROTON_FSR4_UPGRADE=1 | 自动将 FSR 更新到最新版本 | 「Proton-CachyOS 引入」0=禁用(默认), 1=启用 |
| FSR4_UPGRADE=1 | 自动将 FSR 更新到最新版本 | 「GE-Proton 引入」0=禁用(默认), 1=启用 |
| PROTON_FSR4_RDNA3_UPGRADE=1 | 使用 RDNA3 优化的 FSR4 DLL | 「Proton-CachyOS 引入」0=禁用(默认), 1=启用 |
| PROTON_XESS_UPGRADE=1 | 自动将 XeSS 更新到最新版本 | 「Proton-CachyOS 引入」0=禁用(默认), 1=启用 |
性能监控和调试
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| GALLIUM_HUD=fps | Mesa Gallium3D 内置性能 HUD | fps=仅FPS, “fps,cpu,gpu-load”=多项(引号内), “fps+cpu”=叠加显示(加号), help=显示可用选项 |
| MANGOHUD=1 | 启用 MangoHud 性能 HUD「第三方」 | 0=禁用(默认), 1=启用, 需安装 mangohud 包 |
| MANGOHUD_CONFIG=fps,frametime | MangoHud 配置 | fps,frametime=常用组合, full=完整信息, position=top-left/top-right/bottom-left/bottom-right 指定位置 |
| MANGOHUD_CONFIGFILE=$HOME/.config/MangoHud/custom.conf | MangoHud 配置文件路径 | 复杂配置推荐使用配置文件 |
字体渲染
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| FREETYPE_PROPERTIES=“truetype:interpreter-version=40” | FreeType 字体渲染 | 35=v35经典效果, 40=v40更清晰(推荐 CJK) |
输入设备
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| PROTON_PREFER_SDL=1 | 输入时优先使用 Simple DirectMedia Layer | 「GE-Proton 引入」0=禁用(默认), 1=启用,通常用于修复非 Xbox 手柄时的控制输入问题 |
| SDL_GAMECONTROLLERCONFIG=“030000…” | 自定义手柄按键映射 | 完整映射字符串从 SDL GameController DB 获取 |
| SDL_JOYSTICK_DEVICE=/dev/input/js0 | 指定输入设备 | js0=手柄1, js1=手柄2, /dev/input/event*=evdev设备 |
多 Wine 版本管理
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| WINEVERPATH=/opt/wine-staging | 指定 Wine 版本路径 | 多版本共存管理,指向特定安装目录 |
| WINE=/opt/wine-ge/bin/wine | 直接指定 wine 可执行文件 | 用于 GE-Proton 等定制版本 |
其它
| 参数/示例 | 作用 | 备注 |
|---|---|---|
| WINE_DISABLE_FAST_SYNC=1 | 禁用快速同步 | 兼容性调试用,会降低性能 |
| WINE_DISABLE_WRITE_WATCH=1 | 禁用写入检测 | 某些反作弊系统需要,影响性能 |
| STAGING_SHARED_MEMORY=1 | 启用共享内存 | Wine Staging 特有功能,提升性能 |