Wine/fr
Wine (NdT: Wine n'est pas un émulateur, Wine Is Not an Emulator) est une couche d'application de compatibilité qui autorise les applications Microsoft Windows à fonctionner sur Linux ou des systèmes d'exploitations compatibles POSIX.
Variantes de Wine
- app-emulation/wine-vanilla: Upstream de Wine avec aucun patch externe.
- app-emulation/wine-staging: Wine avec une série de patchs "Wine Staging".
- app-emulation/wine-proton: Wine de Valve Software avec une série de patch, qui est aussi utilisé par la version Linux de Steam.
Sélectionner une variante
D'autres séries de patchs peuvent introduire des bugs qui n'existent pas dans la version vanilla de Wine, mais ils peuvent aussi en corriger d'autres apportés par d'autres patchs.
Installation
USE flags
USE flags for virtual/wine Virtual for Wine that supports multiple variants and slotting
USE flags for app-emulation/wine-vanilla Free implementation of Windows(tm) on Unix, without external patchsets
+X
|
Add support for X11 |
+alsa
|
Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) |
+fontconfig
|
Support for configuring and customizing font access via media-libs/fontconfig |
+gecko
|
Enable mshtml support using app-emulation/wine-gecko |
+gstreamer
|
Add support for media-libs/gstreamer (Streaming media) |
+mingw
|
Build PE files using a MinGW toolchain for better compatibility |
+mono
|
Enable .NET support using app-emulation/wine-mono |
+opengl
|
Add support for OpenGL (3D graphics) |
+sdl
|
Enable gamepad support using media-libs/libsdl2 |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
+strip
|
Allow symbol stripping to be performed by the ebuild for special files |
+truetype
|
Add support for FreeType and/or FreeType2 fonts |
+unwind
|
Add support for call stack unwinding and function name resolution |
+vkd3d
|
Enable DirectX 12 support using app-emulation/vkd3d |
+vulkan
|
Add support for 3D graphics and computing via the Vulkan cross-platform API |
+xcomposite
|
Enable support for the Xorg composite extension |
capi
|
Enable ISDN support using net-libs/libcapi |
crossdev-mingw
|
Use sys-devel/crossdev for the toolchain rather than dev-util/mingw64-toolchain (requires manual setting up) |
cups
|
Add support for CUPS (Common Unix Printing System) |
custom-cflags
|
Build with user-specified CFLAGS (unsupported) |
debug
|
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces |
dos
|
Pull in games-emulation/dosbox to run DOS applications |
ffmpeg
|
Enable ffmpeg/libav-based audio/video codec support |
gphoto2
|
Add digital camera support |
kerberos
|
Add kerberos support |
ldap
|
Add LDAP support (Lightweight Directory Access Protocol) |
llvm-libunwind
|
Use sys-libs/llvm-libunwind instead of sys-libs/libunwind |
netapi
|
Enable support for configuring remote shares using net-fs/samba |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
odbc
|
Add ODBC Support (Open DataBase Connectivity) |
openal
|
Add support for the Open Audio Library |
opencl
|
Enable OpenCL support (computation on GPU) |
osmesa
|
Enable off-screen rendering (OpenGL in bitmaps) support |
pcap
|
Support packet capture software (e.g. wireshark) |
perl
|
Install helpers that require perl (winedump/winemaker) |
pulseaudio
|
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) |
samba
|
Pull in net-fs/samba with winbind for NTLM auth support |
scanner
|
Add support for scanner hardware (e.g. build the sane frontend in kdegraphics) |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
smartcard
|
Enable smartcard support |
udev
|
Enable virtual/udev integration (device discovery, power and storage device support, etc) |
udisks
|
Enable storage management support (automounting, volume monitoring, etc) |
usb
|
Add USB support to applications that have optional USB support (e.g. cups) |
v4l
|
Enable support for video4linux (using linux-headers or userspace libv4l libraries) |
wayland
|
Enable dev-libs/wayland backend |
wow64
|
Enable running 32bit applications without 32bit ELF multilib by mapping to 64bit calls (experimental, *may* have worse/unusable OpenGL performance or other issues compared to USE=abi_x86_32, also lacks 16bit support) -- still need dev-util/mingw64-toolchain with abi_x86_32 which itself does not need multilib |
xinerama
|
Add support for querying multi-monitor screen geometry through the Xinerama API |
USE flags for app-emulation/wine-staging Free implementation of Windows(tm) on Unix, with Wine-Staging patchset
+X
|
Add support for X11 |
+alsa
|
Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) |
+fontconfig
|
Support for configuring and customizing font access via media-libs/fontconfig |
+gecko
|
Enable mshtml support using app-emulation/wine-gecko |
+gstreamer
|
Add support for media-libs/gstreamer (Streaming media) |
+mingw
|
Build PE files using a MinGW toolchain for better compatibility |
+mono
|
Enable .NET support using app-emulation/wine-mono |
+opengl
|
Add support for OpenGL (3D graphics) |
+sdl
|
Enable gamepad support using media-libs/libsdl2 |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
+strip
|
Allow symbol stripping to be performed by the ebuild for special files |
+truetype
|
Add support for FreeType and/or FreeType2 fonts |
+unwind
|
Add support for call stack unwinding and function name resolution |
+vulkan
|
Add support for 3D graphics and computing via the Vulkan cross-platform API |
+xcomposite
|
Enable support for the Xorg composite extension |
capi
|
Enable ISDN support using net-libs/libcapi |
crossdev-mingw
|
Use sys-devel/crossdev for the toolchain rather than dev-util/mingw64-toolchain (requires manual setting up) |
cups
|
Add support for CUPS (Common Unix Printing System) |
custom-cflags
|
Build with user-specified CFLAGS (unsupported) |
dos
|
Pull in games-emulation/dosbox to run DOS applications |
ffmpeg
|
Enable ffmpeg/libav-based audio/video codec support |
gphoto2
|
Add digital camera support |
kerberos
|
Add kerberos support |
llvm-libunwind
|
Use sys-libs/llvm-libunwind instead of sys-libs/libunwind |
netapi
|
Enable support for configuring remote shares using net-fs/samba |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
odbc
|
Add ODBC Support (Open DataBase Connectivity) |
opencl
|
Enable OpenCL support (computation on GPU) |
osmesa
|
Enable off-screen rendering (OpenGL in bitmaps) support |
pcap
|
Support packet capture software (e.g. wireshark) |
perl
|
Install helpers that require perl (winedump/winemaker) |
pulseaudio
|
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) |
samba
|
Pull in net-fs/samba with winbind for NTLM auth support |
scanner
|
Add support for scanner hardware (e.g. build the sane frontend in kdegraphics) |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
smartcard
|
Enable smartcard support |
udev
|
Enable virtual/udev integration (device discovery, power and storage device support, etc) |
udisks
|
Enable storage management support (automounting, volume monitoring, etc) |
usb
|
Add USB support to applications that have optional USB support (e.g. cups) |
v4l
|
Enable support for video4linux (using linux-headers or userspace libv4l libraries) |
wayland
|
Enable dev-libs/wayland backend |
wow64
|
Enable running 32bit applications without 32bit ELF multilib by mapping to 64bit calls (experimental, *may* have worse/unusable OpenGL performance or other issues compared to USE=abi_x86_32, also lacks 16bit support) -- still need dev-util/mingw64-toolchain with abi_x86_32 which itself does not need multilib |
xinerama
|
Add support for querying multi-monitor screen geometry through the Xinerama API |
USE flags for app-emulation/wine-proton Valve Software's fork of Wine
+alsa
|
Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) |
+fontconfig
|
Support for configuring and customizing font access via media-libs/fontconfig |
+gecko
|
Enable mshtml support using app-emulation/wine-gecko |
+gstreamer
|
Add support for media-libs/gstreamer (Streaming media) |
+mono
|
Enable .NET support using app-emulation/wine-mono |
+sdl
|
Enable gamepad support using media-libs/libsdl2 |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
+strip
|
Allow symbol stripping to be performed by the ebuild for special files |
+unwind
|
Add support for call stack unwinding and function name resolution |
+vkd3d
|
Enable DirectX 12 support using app-emulation/vkd3d |
+xcomposite
|
Enable support for the Xorg composite extension |
crossdev-mingw
|
Use sys-devel/crossdev for the toolchain rather than dev-util/mingw64-toolchain (requires manual setting up) |
custom-cflags
|
Build with user-specified CFLAGS (unsupported) |
debug
|
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces |
llvm-libunwind
|
Use sys-libs/llvm-libunwind instead of sys-libs/libunwind |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
openal
|
Add support for the Open Audio Library |
osmesa
|
Enable off-screen rendering (OpenGL in bitmaps) support |
perl
|
Install helpers that require perl (winedump/winemaker) |
pulseaudio
|
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
udev
|
Enable virtual/udev integration (device discovery, power and storage device support, etc) |
udisks
|
Enable storage management support (automounting, volume monitoring, etc) |
usb
|
Add USB support to applications that have optional USB support (e.g. cups) |
v4l
|
Enable support for video4linux (using linux-headers or userspace libv4l libraries) |
wow64
|
Enable running 32bit applications without 32bit ELF multilib by mapping to 64bit calls (experimental, *may* have worse/unusable OpenGL performance or other issues compared to USE=abi_x86_32, also lacks 16bit support) -- still need dev-util/mingw64-toolchain with abi_x86_32 which itself does not need multilib |
xinerama
|
Add support for querying multi-monitor screen geometry through the Xinerama API |
32-bit vs 64-bit
La plupart du temps, les applications Windows ont besoins du support du 32-bit. Cela peut être vrai dans le cas des applications 64-bit, car elle utilisent toujours un installeur en 32-bit.
Cela signifie qu'une importante quantité de dépendances de Wine ont besoin du support du 32-bit.
Compiler Wine avec l'USE-flag wow64
activera le support des applications 32-bit sans construire Wine et ses dépendances qui supportent le 32-bit, mais cela est (au moment où ces lignes sont écrites) plus ou moins expérimentale. Cela fonctionne très bien avec beaucoup d'applications, mais inutilisable avec d'autres.
Notez que certaines dépendances de Wine ont besoins du paramètre de configuration du noyau CONFIG_COMPAT_32BIT_TIME
pour fonctionner. Sinon cela générera des erreurs du type: «The futex facility returned an unexpected error code.» (NdT: L'utilitaire futex a retourné un code d'erreur inattendu) durant la compilation ou le lancement.
Un paquet touché par exemple est dev-libs/icu[1] et sys-devel/llvm.
Variable d'environnement durant la compilation
L'ebuild (9999) en temps réelle (NdT: la dernière version) supportent des paramètres pour définir la branche du dépôt, du commit, de la date du commit et du dépôt via la commande d'environnement suivante :
- EGIT_OVERRIDE_BRANCH
- EGIT_OVERRIDE_COMMIT
- EGIT_OVERRIDE_COMMIT_DATE
- EGIT_OVERRIDE_REPO
À titre d'exemple, quelqu'un peut sélectionner l'étiquette de WineHQ "wine-2.0-rc5" pour installer la version 2.0 RC 5 :
root #
EGIT_OVERRIDE_COMMIT_WINE_WINE="wine-2.0-rc5" emerge -a '=app-emulation/wine-vanilla-9999'
L'on peut aussi épingler Wine Staging à cette version en trouvant l'étiquette appropriée, "v2.0-rc5", puis en augmentant la version précédente comme-ceci :
root #
EGIT_OVERRIDE_COMMIT_WINE_WINE="wine-2.0-rc5" EGIT_OVERRIDE_COMMIT_WINE_WINE_STAGING="v2.0-rc5" emerge -a '=app-emulation/wine-staging-9999'
D'autres variables, qui affectent Wine au lancement, sont discutées plus bas.
Emerge
Activer les USE flags de son choix à travers le paquet (NdT: de la catégorie) virtual puis sur la variante sélectionner (de manière automatique par le paquet virtual ou manuellement) pour ensuite emerge le paquet :
root #
emerge --ask virtual/wine
ou
root #
emerge --ask app-emulation/wine-${VARIANT}
Seulement les versions dites "stables" selon l'upstream (NdT: les développeurs) seront stabilisés dans Gentoo, seulement pour la variante app-emulation/wine-vanilla, car les patchs externes ne sont pas considérés stables. Certains utilisateurs peuvent opter pour l'ajout de la variante Wine dans leur fichier package.accept_keywords pour autoriser l'installation de la version de développement de Wine.
Configuration
Variables d'environnement à l'exécution
Les variables d'environnement du shell avec lequel wine est lancé sont accessibles aux processus de Windows/DOS. Quelques variables spécifiques très utiles incluses, mais qui ne sont pas réduites à celles-ci sont, WINEPREFIX, WINEARCH et WINEDEBUG.
Voir les entrées des manuels de man wine et man wineserver pour de plus amples informations détaillées concernant les variables d'environnement de Wine.
WINEPREFIX
Le répertoire de préfixe (par défaut $HOME/.wine) est généré quand Wine est exécuté de n'importe quelle façon (par exemple, en lançant
winecfg
). Cela signifie aussi que, s'il est exécuté en tant qu'utilisateur root (voir WineHQ FAQ - Should I Run Wine as Root) (NdT: Dois-je lancer Wine en tant que Root), un préfixe Wine sera (par défaut) généré dans /root/.wine.Pour créer un préfixe Wine dans un emplacement personnalisé (au lieu du ~/.wine) sans affecter celui par défaut :
user $
WINEPREFIX="$HOME/.wine-someprefix" wineboot
Ci-dessus créera un préfixe Wine à l'emplacement /home/utilisateur/.wine-someprefix.
Une fois qu'un préfixe a été crée, le 'bitness' (NdT: Dans ce contexte, l'architecture des bits, 32 ou 64 bits) ne peut pas être changé. De ce fait, la variable WINEARCH doit être défini quand le préfixe est crée si l'utilisateur veut modifier la valeur par défaut. WINEARCH est sans importance au-delà de l'instanciation du préfixe.
WINEARCH
Pour créer une installation 32-bit à la place de celle par défaut (à la compilation) en 64-bit :
user $
WINEARCH="win32" WINEPREFIX="$HOME/.wine-someprefix" wineboot
L'exécutable de Wine peut être n'importe quoi qui lance Wine, tel que winecfg, ce qui fait parfois sens lors-qu’est crée un nouveau préfixe.
WINEARCH a besoin que Wine soit compilé avec le drapeau (NdT: de compilation) abi_x86
correspondant.
WINEDEBUG
L'essentiel est de trouver pourquoi une application se comporte mal quand les messages basiques du terminal ou de la boîte de dialogue ne sont pas suffisants. Voir https://wiki.winehq.org/Debug_Channels (NdT: en anglais) par exemple.
Outils de configurations
Les outils suivant inclus des interfaces graphiques et en ligne de commande pour gérer les préfixes de Wine :
- app-emulation/q4wine – Interface graphique en Qt5 pour Wine.
- app-emulation/winetricks – Manière simple d'installer les DLLs (NdT: bibliothèques de Windows/DOS) manquantes pour contourner des problèmes avec Wine.
Pilotes graphiques
Le registre des valeurs graphiques est une chaîne de caractères séparés par des virgules et de type REG_SZ.
Pilote | Description |
---|---|
x11 | Utilise le pilote X11 |
wayland | Utilise le pilote wayland |
mac | Utilise le pilote natif quartz (par défaut sur MacOS) |
null | Utilise le pilote 'null' (un écran virtuel sera crée, mais non-affiché, disponible depuis Wine 5.2) |
Par défaut (sous Linux)
user $
wine cmd /c "reg add HKEY_CURRENT_USER\\Software\\Wine\\Drivers /v Graphics /t REG_SZ /d x11 /f"
Pour activer seulement le pilote expérimental de wayland :
user $
wine cmd /c "reg add HKEY_CURRENT_USER\\Software\\Wine\\Drivers /v Graphics /t REG_SZ /d wayland /f"
Support de l'Easy Anti Cheat
Le DT_HASH n'étant pas activé par défaut depuis glibc 2.36 alors ce qui suit doit d'être appliqué pour autorisé l'EAC des jeux à fonctionner
sys-libs/glibc hash-sysv-compat
root #
emerge --ask --oneshot sys-libs/glibc
Foire À Questions de l'Upstream
Quelques entrées de la FAQ de l'upstream que des utilisateurs peuvent trouver utiles :
- Comment désinstaller des applications individuellement
- Comment enlever un préfixe de Wine
- Comment empêcher Wine de créer des entrées dans le menu
Dépannage
Quand un utilisateur rencontre un problème avec une application, il doit tenter d'essayer la dernière version de développement pour voir si ces comportements non-désirés existent encore.
Si Wine a été compilé avec des options tel que -fomit-frame-pointer
ou --hash-style=both
, les développeurs ne pourront pas à priori aider avec ce problème et les rapports incluant ce type d'options de compilation ne devraient pas être rapporté vers le Bugzilla de Wine.
L'USE flag strip
doit être désactivé pour débuger les versions compilés de MinGW.
Pour plus d'aide afin de rapporter des bugs, voir Bugzilla et Bugs sur wiki.winehq.
Support
Les utilisateurs peuvent trouver du support additionnel sur le canal #gentoo-wine (webchat) sur Libera.chat.
Voir aussi
- DOSEMU — an application compatibility layer for MS-DOS geared more towards running MS-DOS applications than running games.
- Émulateurs de jeux — Liste des émulateurs de jeux dont Gentoo a fait un paquet
- Lutris — an open source gaming platform for Linux.
- Steam — a video game digital distribution service by Valve.
- Winetricks — an easy way to work around problems in Wine. (NdT: Astuce de Wine)
Ressources externes
- Gentoo bugtracker: known bugs – Bugs relatifs à Wine
- Base de données des applications Wine – Rechercher un jeu ou un programme pour vérifier s'il est supporté et stable.
- Wine Staging sur GitHub
- Wiki de WineHQ
Références
- ↑ Can't emerge dev-libs/icu[abi_x86_32], futex error? [SOLVED], forums Gentoo. Constaté le 17 Octobre 2020.