Lewati ke konten

Wine — Env Vars

Wine itu jembatan Windows API. Semua emulator pake Wine — baik Winlator-type (Box64) maupun GameHub-type (FEX). Jadi env var di sini berlaku universal.

Sumber: data/kb/wine-envs.md COPUX KB. Tag [VERIFIED] = dari testing komunitas, [THEORETICAL] = estimasi mekanisme.

Wine default pake server roundtrip buat sinkronisasi thread — lambat. ESYNC dan FSYNC itu alternatif kernel-level yang jauh lebih cepet.

WINEDEBUG=-all VERIFIED

Apa: Matikan SEMUA log Wine. Value -all = silent total.
Good: Tanpa ini, Wine nulis ribuan baris log per detik ke buffer memory → habiskan RAM, slow I/O. HP 8GB bisa berasa banget.
Bad: Ga ada log buat debugging.
Default: -all. WAJIB SELALU. Sub-opsi: WINEDEBUG=-all,+d3d = matikan semua kecuali d3d (buat debug DXVK issue).

WINEESYNC=1 VERIFIED

Apa: Event-based sync via eventfd kernel. 1=ON.
Good: Gantiin Wine sync default (server roundtrip) yang lambat. Eventfd = langsung kernel, jauh lebih cepet, stabil buat DX11/12. Fix stutter.
Bad: Hampir ga ada trade-off.
Default: 1. WAJIB SELALU.

WINEFSYNC=0 VERIFIED

Apa: Futex-based sync, alternatif ESYNC. 1=ON.
Good: Futex lebih low-level dari eventfd. Beberapa game lebih stabil di FSYNC.
Bad: JANGAN aktifkan bareng ESYNC. Pilih salah satu.
Default: 0 (pake ESYNC dulu). Switch ke 1 kalau ESYNC unstable di game tertentu.

WINEDLLOVERRIDES=d3d11=n;dxgi=n VERIFIED

Apa: Override DLL Wine. Format nama=mode.
Mode: n=native (pake DLL dari folder game, buat DXVK/VKD3D), b=builtin (Wine internal, buat WineD3D), n,b=native dulu fallback builtin, (kosong)=disable.
Good: Ini cara DirectX routing ke DXVK/VKD3D. Tanpa ini, game pake WineD3D (lambat).
Bad: Salah kombinasi = game pake renderer salah atau crash.
Default: Tergantung DX version game:
• DX11 + DXVK: d3d11=n;dxgi=n
• DX9 + DXVK: d3d9=n
• DX12 + VKD3D: d3d12=n;dxgi=n
• DX8 lama (SH2/SH3): d3d8=n,d3d9=n (pake d3d8to9 wrapper)
• Bypass Steam DRM: steam_api64=n

WINE_LARGE_ADDRESS_AWARE=1 VERIFIED

Apa: Extend address space app 32-bit dari 2GB → 4GB via PE LAA flag.
Good: Banyak game 32-bit lawas OOM karena limit 2GB. Flag ini unlock 4GB.
Bad: Ga ada — pure benefit buat 32-bit. Ga ngaruh buat 64-bit game.
Default: 1.

STAGING_SHARED_MEMORY=1 VERIFIED

Apa: Optimasi shared memory dari Wine Staging.
Good: Speedup IPC antar proses Wine (game ↔ wineserver).
Bad: Ga ada trade-off signifikan.
Default: 1.

STAGING_RT_PRIORITY_SERVER=90 THEORETICAL

Apa: Prioritas realtime buat wineserver (1-99).
Good: Thread Wine yang ngurusin sync sering kena starve. Naikin prio = response time turun, stutter berkurang.
Bad: Prio kegedean = ganggu thread lain di HP (termasuk audio). Audio crackling = turunin.
Default: 90. Turunin ke 70-80 kalau audio crackling.

STAGING_RT_PRIORITY_BASE=90 THEORETICAL

Apa: Prioritas realtime buat Wine thread (1-99). Pair dengan _SERVER.
Good: Sama kayak _SERVER — naikin prio Wine thread = response time turun.
Bad: Prio kegedeen = ganggu audio/system thread.
Default: 90. Turunin bareng _SERVER kalau audio crackling.

PULSE_LATENCY_MSEC=60 VERIFIED

Apa: Latency buffer audio PulseAudio (ms).
Good: Kecil = responsif audio. 60ms = balance antara responsif & stabil.
Bad: Kecil banget (30) = risk crackling. Besar (120+) = audio delay ke-rasa.
Default: 60. Naikin ke 90-120 kalau audio crackling. Range aman 30-120ms.