====== Install ======
* https://docs.freebsd.org/en/books/handbook/wine/#installing-wine-on-freebsd
===== 16.0 =====
* [[bsd:freebsd_16.0_xfce|16.0 (Xfce)]]
* New WoW64 (''wow64'')
* ''devel''
* https://www.freshports.org/emulators/wine-devel
* ''cdrtools'' provides ''isoinfo''
su -
pkg install wine-devel wine-gecko-devel wine-mono-devel winetricks icoutils cdrtools
==== USER_LDT ====
* ''machdep.max_ldt_segment=2048'' in ''loader.conf''
su -
cat '/boot/loader.conf' | grep 'machdep.max_ldt_segment="2048"' || echo 'machdep.max_ldt_segment="2048"' | tee -a '/boot/loader.conf' > '/dev/null'
sysctl 'machdep.max_ldt_segment'
===== 15.1 =====
* [[bsd:freebsd_15.1_xfce|15.1 (Xfce)]]
* Old WoW64 (''win32''/''win64'')
* https://www.freshports.org/emulators/wine
su -
pkg install wine wine-gecko wine-mono winetricks icoutils
==== lib32 ====
* TODO: Differences between ''lib32'' install-time, [[https://download.freebsd.org/releases/amd64/15.1-RELEASE/lib32.txz|lib32.txz]], or below set
FreeBSD-set-lib32
ls '/usr/lib32'
==== 32-bit pkgs ====
* :!: Done from regular user and **not** ''root''
* :?: 2026/07/05: No ''gstreamer1-libav''
exit
'/usr/local/share/wine/pkg32.sh' --old -o 'ASSUME_ALWAYS_YES=YES' update -f && '/usr/local/share/wine/pkg32.sh' --old upgrade
'/usr/local/share/wine/pkg32.sh' --old install -r FreeBSD-ports wine mesa-dri mesa-libs gstreamer1-plugins-good gstreamer1-plugins-ugly libressl
'/usr/local/share/wine/pkg32.sh' --old autoremove && '/usr/local/share/wine/pkg32.sh' --old clean -a -q -y
==== Update Script ====
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old -o 'ASSUME_ALWAYS_YES=YES' update -f"
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old upgrade"
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old autoremove"
'/usr/bin/su' $USER -c "'/usr/local/share/wine/pkg32.sh' --old clean -a -q -y"
====== Tweaks ======
su -
mkdir -p '/usr/local/etc/profile.d' && echo "export WINEDEBUG='-all'" | tee '/usr/local/etc/profile.d/wine-tweaks.sh' > '/dev/null'
ee '/usr/local/etc/profile.d/wine-tweaks.sh'
# Logging
export WINEDEBUG='-all'
# DXVK
export DXVK_LOG_LEVEL='none'
export DXVK_SHADER_CACHE='0'
export DXVK_STATE_CACHE='0'
# VKD3D
export VKD3D_DEBUG='none'
export VKD3D_SHADER_DEBUG='none'
# End
====== winecfg GUI ======
****
wine64 winecfg
====== Resources ======
===== TODO =====
* https://gitlab.winehq.org/wine/wine/-/wikis/Sound#sdl-applications
* https://forums.opensuse.org/t/wine-v5-8-running-windows-game-unable-to-initialize-audio-target-pulse-not-available/140566/2
* SDL mixer env (doomsday)
* https://wiki.archlinux.org/title/FluidSynth#No_MIDI_sound_/_Not_the_lowest_or_first_MIDI_device
* https://www.freshports.org/audio/alsa-utils (''aconnect'')
* https://cgit.freebsd.org/ports/commit/?id=36f7f11c6c75750e8f0ba60627f2ae38a3ce134b (''allaudio'' = Pulse)
* :?: WC3 main menu and WoW WotLK installer make good audio tests (static/pops)
WINEPREFIX=~/'.wine/Diablo III' wine REG ADD 'HKEY_CURRENT_USER\Software\Wine\WineDbg' /v 'ShowCrashDialog' /t 'REG_DWORD' /d '0' /f
HKEY_CURRENT_USER\Software\Wine\WineDbg
===== Environment Variables =====
* Mesa: https://docs.mesa3d.org/envvars.html
* ANV (Intel): https://docs.mesa3d.org/drivers/anv.html#debugging-tips
* VKD3D: https://github.com/HansKristian-Work/vkd3d-proton#environment-variables
* NVIDIA: https://download.nvidia.com/XFree86/Linux-x86_64/560.35.03/README/openglenvvariables.html
* ''vblank_mode'' values: https://github.com/intel/external-mesa/blob/master/src/util/xmlpool/t_options.h#L213 ((if this becomes unavailable, it seems to be a source file for a DRI Conf tool))
* https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/util/driconf.h?ref_type=heads#L149
* https://github.com/Winetricks/winetricks/blob/master/src/winetricks#L2400
nt351|nt40|vista|win10|win11|win20|win2k|win30|win31|win7|win8|win81|win95|win98|winme|winxp|winxp64
===== winetricks =====
* https://github.com/Winetricks/winetricks/blob/master/files/verbs/all.txt
* https://github.com/Winetricks/winetricks/blob/master/src/winetricks
* [[linux;notes;wine_wayland_vulkan_wow_335]] (''renderer=vulkan'', ''graphics=wayland'')
===== ISO Names =====
* ''x'' is path to ''.iso''
isoinfo -d -i x
isoinfo -d -i ~/'Downloads/Warcraft III/Warcraft 3 Reign of Chaos.iso' | grep 'Volume id'
==== pkg ====
* https://www.freshports.org/sysutils/cdrtools/
su -
pkg install 'cdrtools'