# Wine / Proton 兼容层环境变量及启动项参数参考
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 特有功能,提升性能 |