| Both sides previous revision Previous revision Next revision | Previous revision |
| systems:windows [2026/01/14 07:50] – Added: Missing parts for better understanding. Removed: Nonsense part. grandmabetty | systems:windows [2026/01/22 10:28] (current) – Document Wine configuration options with FIXME badges ssokolow |
|---|
| |
| This ''<game name>.wine'' folder is called the wineprefix. | This ''<game name>.wine'' folder is called the wineprefix. |
| | |
| | ===== Use the WINE.toolbox for setup (v43) and a clean structures ===== |
| | |
| | Please read and understand the text written above as this reflects the basics how to setup WINE games. Since **v43** the process of creating the ''autorun.cmd'', managing prefixes, compressing games, extraction of games is made with more convenience. |
| | |
| | <WRAP group> |
| | <WRAP third left>{{https://up.picr.de/50494488sb.png?nolink&500}}</WRAP> |
| | Press F1 to enter [[ built_file_manager | PCManFM ]] and navigate to ''/userdata/roms/windows''. By making a left mouse click on your windows game folders you can see several commands that will help you to setup and manage all your windows games. |
| | |
| | * Create the ''autorun.cmd'' by selecting a single exe out of list |
| | * List and manage used prefixes for all games, prefixes not bound to a prefix will be selected for deletion. This helps to clean up your prefixes and saves also a lot of space |
| | * You can also symlink a prefix to a default one, this helps if you setted up a working prefix with winetricks |
| | * If you setted up your game it is a good idea to compress/squash it |
| | * Toolbox config lets you open a dialog to set text size |
| | |
| | Some more tricks: |
| | |
| | * Use symlinks for custom runners, so you have installed ''wine-11.0-amd64'' into ''/userdata/system/wine/custom/wine-11.0-amd64'' then you symlink this to ''/userdata/system/wine/custom/gog-wine-11.0-amd64'' this keeps wine prefixes separated. |
| | * winetricks can carry more than one winetrick now, usage ''batocera-wine windows tricks <game.pc/wine> trick1 trick2 ... trick{n}'' |
| | * Some winetricks need a pure 32bit prefix. All prefixes will be installed as 64bit variant. So tick ''Enable 32bit'' within ES Advanced Game Options (This has to be done **before** the prefix is created! If the prefix was created, delete it with the file explorer and start over again |
| | * If you symlink a wine runner you can use ''win32-<wine runner>'' the word ''win32-'' will enable the build of 32bit prefixes if this runner is selected. This also helps to keep things tidy and separated. |
| | </WRAP> |
| |
| ===== Emulators ===== | ===== Emulators ===== |
| | **VIRTUAL DESKTOP ''windows.virtual_desktop''** | Define the resolution and a new dedicated window.\\ => Off ''0'', On ''1''. | | | **VIRTUAL DESKTOP ''windows.virtual_desktop''** | Define the resolution and a new dedicated window.\\ => Off ''0'', On ''1''. | |
| | **ENABLE MOUSE ''windows.force_mouse''** | Show the cursor.\\ => Off ''0'', On ''1''. | | | **ENABLE MOUSE ''windows.force_mouse''** | Show the cursor.\\ => Off ''0'', On ''1''. | |
| | **ENABLE XIM ''windows.allow_xim''** | Enable XIM support. (FIXME what's XIM?)\\ => Off ''0'', On ''1''. | | | **ENABLE XIM ''windows.allow_xim''** | Enable [[https://en.wikipedia.org/wiki/X_Input_Method|XIM]] support. => Off ''0'', On ''1''. | |
| | **NO WRITE WATCH ''windows.no_write_watch''** | Disable support for memory write watches in ntdll. (FIXME what is this used for?)\\ => Off ''0'', On ''1''. | | | **NO WRITE WATCH ''windows.no_write_watch''** | Disable support for memory write watches in ntdll. (Dangerous speed hack. Only for specific game engines which don't need them [[https://github.com/Valloric/proton-ge-custom?tab=readme-ov-file#modification|such as CoreRT]].)\\ => Off ''0'', On ''1''. | |
| | **FORCE LARGE ADDRESS ''windows.force_large_adress''** | Force WINE to run games with large address. (FIXME what is this used for?)\\ => Off ''0'', On ''1''. | | | **FORCE LARGE ADDRESS ''windows.force_large_adress''** | Pretend that 32-bit .exe files have their Large Address Aware flag set. (Grants non-LAA 32-bit games access to as much as 4GiB of RAM instead of 2GiB. May fix OOM crashes or improve performance but could also cause crashes if the game has certain kinds of signed/unsigned sloppiness in its memory handling. Note that upstream Proton considers it safe to have this enabled by default.)\\ => Off ''0'', On ''1''. | |
| | **HEAP DELAY FREE ''windows.heap_delay_free''** | Delay freeing some memory. (FIXME what is this used for?)\\ => Off ''0'', On ''1''. | | | **HEAP DELAY FREE ''windows.heap_delay_free''** | Delay freeing some memory. (Workaround for games with use-after-free bugs (eg. [[https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii-chicken-and-egg-problems/|SimCity for Windows 3.x]]) which would be applied automatically by Windows's bundled AppCompat database.)\\ => Off ''0'', On ''1''. | |
| | **HIDE NVIDIA GPU ''windows.hide_nvidia_gpu''** | Force Nvidia GPUs to always be reported as AMD GPUs. (FIXME what is this used for?)\\ => Off ''0'', On ''1''. | | | **HIDE NVIDIA GPU ''windows.hide_nvidia_gpu''** | Force Nvidia GPUs to always be reported as AMD GPUs. (For games which would otherwise expect nVidia features too new for the Wine/driver/etc. version Batocera uses.)\\ => Off ''0'', On ''1''. | |
| | **ENABLE DEBUG ''windows.wine_debug''** | Enable wine debug. (FIXME be more descriptive)\\ => Off ''0'', On ''1''. | | | **ENABLE DEBUG ''windows.wine_debug''** | Enable wine's debug logging. (Useful for identifying what compatibility settings or winetricks need to be applied or for filing Wine/Proton bug reports.)\\ => Off ''0'', On ''1''. | |
| |
| Advanced options will only be applied on the first launch of the game. Adjusting these values later will not do anything. | Advanced options will only be applied on the first launch of the game. Adjusting these values later will not do anything. |
| |
| - First, add your game to the Batocera system, launch it once and then exit the game back to ES, which will create the required WINE bottle. | - First, add your game to the Batocera system, launch it once and then exit the game back to ES, which will create the required WINE bottle. |
| - Edit the ''/userdata/roms/windows/<yourGame>.pc/autorun.cmd'' file and add the according ''ENV=WINEDLLOVERRIDES="NameOfDllFile"="native"'' //before// the ''CMD=<yourGamesExecutable>.exe''. | - Edit the ''/userdata/roms/windows/<yourGame>.pc/autorun.cmd'' file and add the according ''ENV=WINEDLLOVERRIDES="<NameOfDllFile>"="native"'' |
| - Do not use the dll-extension, just the plain filename | - Do not use the dll-extension, just the plain filename |
| - ''native'' means to override the DLL | - ''native'' means to override the DLL |
| - Save the file and start the game | - Save the file and start the game |
| |
| *You can daisychain WINEDLLOVERRIDES like ''ENV=WINEDLLOVERRIDES="NameOfDllFile1"="native" WINEDLLOVERRIDES="NameOfDllFile2"="native"''* | *You can daisychain WINEDLLOVERRIDES like ''ENV=WINEDLLOVERRIDES="msvbvm50,comctl32.ocx=n"'' or''ENV=WINEDLLOVERRIDES="NameOfDllFile1"="native" WINEDLLOVERRIDES="NameOfDllFile2"="native"''* |
| |
| **Editing the user.reg file** | **Editing the user.reg file** |
| - Add your override in this section: | - Add your override in this section: |
| * **Here’s how you can format your override entries:** | * **Here’s how you can format your override entries:** |
| * ''"NameOfDllFile1"="native,builtin"'' | * ''"<NameOfDllFile1>"="native,builtin"'' |
| * ''"NameOfDllFile2"="native"'' | * ''"<NameOfDllFile2>"="native"'' |
| * ''"NameOfDllFile3"="builtin"'' | * ''"<NameOfDllFile3>"="builtin"'' |
| * ''"NameOfDllFile4"="disabled"'' | * ''"<NameOfDllFile4>"="disabled"'' |
| * ...and so on. | * ...and so on. |
| |
| | |
| A list of WINEtricks commands and more detail about using WINEtricks with Batocera is available [[emulators:winetricks|right here]]. | A list of WINEtricks commands and more detail about using WINEtricks with Batocera is available [[emulators:winetricks|right here]]. |
| | |
| | If a game needs several tricks you can add as many trick commands as you like (since v43), so you don't need to call the command every time |
| | |
| | batocera-wine windows tricks /userdata/roms/windows/aok.wine directplay vb5run vb6run |
| | |
| |
| ===== Troubleshooting ===== | ===== Troubleshooting ===== |