Wine (Français)

From ArchWiki
État de la traduction: Cet article est la version francophone de Wine. Date de la dernière traduction: 2022-04-26. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Wine est une couche de compatibilité capable d'exécuter des applications Microsoft Windows sur des systèmes d'exploitation de type Unix. Les programmes s'exécutant dans Wine se comportent comme des programmes natifs, sans les pénalités de performance/mémoire d'un émulateur.

Attention:

Installation

Activez le dépôt multilib et installez les paquets wine (développement), wine-stableAUR (stable) ou wine-staging (testing). Wine Staging est une version patchée de Wine, qui contient des corrections de bogues et des fonctionnalités qui n'ont pas encore été intégrées dans la branche stable ou de développement.

Voir également #Pilotes graphiques et #Son pour des exigences supplémentaires.

Pensez à installer wine-gecko et wine-mono pour les applications qui dépendent d'Internet Explorer et de .NET, respectivement. Ces paquets ne sont pas strictement nécessaires car Wine téléchargera les fichiers correspondants au fur et à mesure des besoins. Cependant, avoir les fichiers téléchargés à l'avance vous permet de travailler hors ligne et fait en sorte que Wine ne télécharge pas les fichiers pour chaque préfixe Wine qui en a besoin.

Applications tierces

Celles-ci ont leurs propres communautés et sites web, et ne sont pas supportées par la communauté principale de Wine. Voir Wine Wiki pour plus de détails.

  • CrossOver — Version payante et commercialisée de Wine qui fournit un support plus complet à l'utilisateur final.
https://www.codeweavers.com || crossoverAUR
  • exe-thumbnailer — Génère des vignettes pour les fichiers exécutables Windows (.exe, .lnk, .msi et .dll).
https://github.com/exe-thumbnailer/exe-thumbnailer || exe-thumbnailerAUR
  • Lutris — Lanceur de jeux pour tous les types de jeux, y compris les jeux Wine (avec gestion des préfixes), les jeux Linux natifs et les émulateurs.
https://lutris.net || lutris
  • PlayOnLinux — Gestionnaire graphique de préfixes pour Wine. Contient des scripts pour aider à l'installation et à la configuration des programmes.
https://www.playonlinux.com || playonlinuxAUR
  • Proton — Outil de compatibilité conçu pour Steam basé sur Wine et des composants supplémentaires. Voir ProtonDB pour la liste de compatibilité.
https://github.com/ValveSoftware/Proton || protonAUR
  • PyWinery — Gestionnaire graphique simple de préfixes pour Wine.
https://github.com/ergoithz/pywinery || pywineryAUR
  • Q4Wine — Gestionnaire graphique de préfixes pour Wine. Peut exporter les thèmes Qt dans la configuration de Wine pour une meilleure intégration.
https://sourceforge.net/projects/q4wine/ || q4wine-gitAUR
  • Bottles — Gestionnaire graphique de préfixes et de coureurs pour Wine basé sur GTK.
https://usebottles.com/ || bottlesAUR

Configuration

La configuration de Wine est généralement réalisée en utilisant :

  • winecfg est un outil de configuration GUI pour Wine, qui peut être lancé en exécutant winecfg.
  • regedit est l'outil d'édition du registre de Wine, qui peut être lancé en exécutant regedit. Voir l'article de WineHQ sur Useful Registry Keys.
  • control est l'implémentation par Wine du panneau de configuration de Windows, qui peut être lancé en exécutant wine control.
  • Voir l'article de WineHQ List of Commands pour la liste complète.

WINEPREFIX

Par défaut, Wine stocke ses fichiers de configuration et les programmes Windows installés dans ~/.wine. Ce répertoire est communément appelé "Wine prefix" ou "Wine bottle". Il est créé/mis à jour automatiquement chaque fois que vous exécutez un programme Windows ou l'un des programmes intégrés à Wine comme winecfg. Le répertoire prefix contient également une arborescence que vos programmes Windows verront comme C: (le lecteur C).

Vous pouvez remplacer l'emplacement que Wine utilise pour un préfixe avec la variable d'environnement WINEPREFIX. Ceci est utile si vous souhaitez utiliser des configurations distinctes pour différents programmes Windows. La première fois qu'un programme est exécuté avec un nouveau préfixe Wine, il créera automatiquement un répertoire avec un lecteur C et un registre vides.

Par exemple, si vous exécutez un programme avec env WINEPREFIX=~/.win-a wine program-a.exe, et un autre avec env WINEPREFIX=~/.win-b wine program-b.exe, les deux programmes auront chacun un lecteur C et des registres distincts.

Attention: Les préfixes Wine ne sont pas des sandboxes ! Les programmes fonctionnant sous Wine peuvent toujours accéder au reste du système ! (par exemple, Z: est mappé sur /, indépendamment du préfixe Wine).

Pour créer un préfixe par défaut sans exécuter un programme Windows ou un autre outil GUI, vous pouvez utiliser :

$ env WINEPREFIX=~/.customprefix wineboot -u

WINEARCH

Wine démarre un environnement 64 bits par défaut. Vous pouvez modifier ce comportement en utilisant la variable d'environnement WINEARCH. Renommez votre répertoire ~/.wine et créez un nouvel environnement Wine en exécutant $ WINEARCH=win32 winecfg. Vous obtiendrez ainsi un environnement Wine 32 bits. Si vous ne définissez pas WINEARCH, vous obtiendrez un environnement 64 bits.

Vous pouvez combiner cette option avec WINEPREFIX pour créer un environnement séparé win32 et win64 :

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg

Vous pouvez également utiliser WINEARCH en combinaison avec d'autres programmes Wine, tels que winetricks (en utilisant Steam comme exemple) :

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam

Afin de voir l'architecture d'un préfixe existant, vous pouvez vérifier son fichier de registre. La commande ci-dessous lit le registre système du préfixe ~/.wine et retourne #arch=win32 ou #arch=win64 selon le type d'architecture :

$ grep '#arch' ~/.wine/system.reg

Pilotes graphiques

Vous devez installer la version 32 bits de votre pilote graphique. Veuillez installer le paquet qui est listé dans la colonne OpenGL (multilib) du tableau dans Xorg (Français)#Installation des pilotes.

Un bon signe que vos pilotes sont inadéquats ou mal configurés est lorsque Wine affiche le message suivant dans votre fenêtre de terminal :

Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
Note: Vous devrez peut-être redémarrer X après avoir installé la bibliothèque correcte.

Son

Par défaut, des problèmes de son peuvent survenir lors de l'exécution d'applications Wine. Assurez-vous qu'un seul périphérique audio est sélectionné dans winecfg.

Installez les paquets corrects pour le pilote audio que vous souhaitez utiliser :

Paquets supplémentaires :

  • Les jeux qui utilisent des systèmes sonores avancés (par exemple TESV : Skyrim) peuvent nécessiter des installations supplémentaires de lib32-openal.

Si winecfg ne parvient toujours pas à détecter le pilote audio (Pilote sélectionné : (aucun)), configurez le via le registre. Par exemple, dans un cas où le microphone ne fonctionnait pas dans une application Windows 32 bits sur une installation stock 64 bits de wine-1.9.7, ceci a permis un accès complet au matériel audio (lecture du son et micro) : ouvrez regedit, cherchez la clé HKEY_CURRENT_USER → Software → Wine → Drivers, et ajoutez une chaîne appelée Audio et donnez-lui la valeur alsa. En outre, il peut être utile de récréer le préfixe.

Prise en charge du MIDI

MIDI était un système assez populaire pour la musique des jeux vidéo dans les années 90. Si vous essayez de vieux jeux, il n'est pas rare que la musique ne soit pas jouée d'emblée. Wine dispose d'un excellent support MIDI. Cependant, vous devez d'abord le faire fonctionner sur votre système hôte, comme expliqué dans MIDI. Enfin et surtout, vous devez vous assurer que Wine utilisera la sortie MIDI correcte.

Autres dépendances

Certaines applications peuvent nécessiter des paquets supplémentaires [1] :

Polices de caractères

Si les applications Wine n'affichent pas des polices facilement lisibles, il se peut que vous n'ayez aucune police installée. Pour lier facilement toutes les polices du système afin qu'elles soient accessibles depuis Wine :

$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf} ; do ln -s "$i" ; done

Wine utilise FreeType pour le rendu des polices, et les valeurs par défaut de FreeType ont changé il y a quelques versions. Essayez d'utiliser ce paramètre d'environnement pour les programmes Wine :

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

Une autre possibilité est d'installer les polices TrueType de Microsoft dans votre préfixe wine. Si cela ne vous aide pas, essayez d'exécuter d'abord winetricks corefonts, puis winetricks allfonts en dernier recours.

Après avoir exécuté ces programmes, tuez tous les serveurs Wine et exécutez winecfg. Les polices devraient maintenant être lisibles.

Si les polices ont l'air de s'estomper, importez le fichier texte suivant dans le registre de Wine avec regedit :

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"

Pour les écrans haute résolution, vous pouvez ajuster les valeurs de ppp dans winecfg.

Consultez également Font configuration#Applications without fontconfig support.

Activer le lissage des polices

Un bon moyen d'améliorer le rendu des polices de Wine est d'activer le lissage des polices de type clair. Pour activer le "Lissage des sous-pixels (ClearType) RGB" :

/tmp/fontsmoothing
REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
EOF
$ WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing 2> /dev/null

Pour plus d'informations, consultez la réponse originale.

Menus du lanceur de bureau

Lorsqu'un installateur d'application Windows crée un raccourci, Wine crée un fichier .desktop à la place. Les emplacements par défaut de ces fichiers dans Arch Linux sont :

  • Les raccourcis du bureau sont placés dans ~/Desktop
  • Les raccourcis du menu Démarrer sont placés dans ~/.local/share/applications/wine/Programs/.
Note: Wine ne prend pas en charge l'installation des applications Windows pour tous les utilisateurs, il ne placera donc pas les fichiers .desktop dans /usr/share/applications. Voir le bogue WineHQ 11112
Astuce: Si des éléments de menu n'ont pas été créés lors de l'installation du logiciel ou ont été perdus, wine winemenubuilder peut s'avérer utile

Création d'entrées de menu pour les utilitaires de Wine

Par défaut, l'installation de Wine ne crée pas de menus/icônes de bureau pour les logiciels fournis avec Wine (par exemple, pour winecfg, winebrowser, etc). Ceci peut être réalisé en installant le méta-paquet wine-installerAUR ou wine-installer-gitAUR (ce dernier n'a pas de dépendances supplémentaires), sinon ces instructions ajouteront des entrées pour ces applications.

Tout d'abord, installez un programme Windows en utilisant Wine pour créer le menu de base. Une fois le menu de base créé, vous pouvez créer les fichiers suivants dans ~/.local/share/applications/wine/ :

wine-browsedrive.desktop
[Desktop Entry]
Name=Browse C: Drive
Comment=Browse your virtual C: drive
Exec=wine winebrowser c:
Terminal=false
Type=Application
Icon=folder-wine
Categories=Wine;
wine-uninstaller.desktop
[Desktop Entry]
Name=Uninstall Wine Software
Comment=Uninstall Windows applications for Wine
Exec=wine uninstaller
Terminal=false
Type=Application
Icon=wine-uninstaller
Categories=Wine;
wine-winecfg.desktop
[Desktop Entry]
Name=Configure Wine
Comment=Change application-specific and general Wine options
Exec=winecfg
Terminal=false
Icon=wine-winecfg
Type=Application
Categories=Wine;

Et créez le fichier suivant dans ~/.config/menus/applications-merged/ :

wine.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
  <Name>Applications</Name>
  <Menu>
    <Name>wine-wine</Name>
    <Directory>wine-wine.directory</Directory>
    <Include>
      <Category>Wine</Category>
    </Include>
  </Menu>
</Menu>

Si ces paramètres produisent une icône laide/inexistante, cela signifie qu'il n'y a pas d'icônes pour ces lanceurs dans le jeu d'icônes que vous avez activé. Vous devez remplacer les paramètres de l'icône par l'emplacement explicite de l'icône que vous voulez. Cliquer sur l'icône dans le menu des propriétés du lanceur aura le même effet. Un excellent jeu d'icônes qui prend en charge ces raccourcis est gnome-colors-icon-themeAUR.

Suppression des entrées de menu

Les entrées de menu créées par Wine sont situées dans ~/.local/share/applications/wine/Programs/. Supprimez l'entrée .desktop du programme pour supprimer l'application du menu.

En outre, pour supprimer les extensions indésirables liées par Wine, exécutez les commandes suivantes (tirées du site web de Wine) :

$ rm ~/.local/share/mime/packages/x-wine*
$ rm ~/.local/share/applications/wine-extension*
$ rm ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
$ rm ~/.local/share/mime/application/x-wine-extension*

Parfois, vous devez également supprimer les fichiers wine-*.menu de /.config/menus/ pour supprimer complètement les éléments du sous-menu Wine dans KDE.

Apparence

Un thème similaire à celui de XP peut être téléchargé. Pour l'installer, voir cet article wiki en amont. Enfin, utilisez winecfg pour le sélectionner.

Note: Le thème lié ci-dessus ne peut être installé que sur des préfixes 32 bits avec Windows XP comme version de préfixe. Pour l'installer sur des préfixes 64 bits, vous pouvez créer un préfixe 32 bits temporaire, installer le thème et copier le dossier Zune et les fichiers Zune.theme de drive_c/Windows/Resources/Themes dans ce préfixe vers le même emplacement dans votre préfixe habituel.

Les utilisateurs de Wine staging peuvent plutôt essayer d'activer l'option Enable GTK3 Theming dans la section Staging de winecfg pour un thème qui correspond au thème GTK actuel.

Impression

Afin d'utiliser vos imprimantes installées (locales et réseau) avec les applications wine en préfixes win32 (par exemple MS Word), installez le paquet lib32-libcups, redémarrez wine (wineboot) et relancez votre application wine.

Mise en réseau

Après l'installation, il se peut que le paquet lib32-gnutls doive être installé pour que les applications établissant des connexions TLS ou HTTPS fonctionnent.

Pour ICMP (ping), Wine peut avoir besoin d'un accès réseau comme décrit dans la FAQ de WineHQ :

# setcap cap_net_raw+epi /usr/bin/wine-preloader

Si des problèmes surviennent après cela (comme une exception non gérée ou une instruction privilégiée), supprimez-les via :

# setcap -r /usr/bin/wine-preloader

Utilisation

Attention: Ne pas exécuter ou installer les applications Wine en tant que root ! Voir la FAQ de Wine pour plus de détails.

Voir Wine User's Guide pour des informations générales sur l'utilisation de Wine.

Voir Wine Application Database (AppDB) pour des informations supplémentaires sur des applications Windows spécifiques dans Wine.

Wayland

Actuellement, Wine ne prend pas directement en charge Wayland, mais vous pouvez utiliser XWayland à la place.

Il y a cependant quelques efforts pour supporter Wayland :

  • Pilote Wayland expérimental pour Wine, qui prend en charge les applications OpenGL et Windows GDI. Voir ici et sur la liste de diffusion wine-devel.
  • wine-wayland : une version personnalisée de Wine, qui supporte Wayland via Vulkan (donc il supporte seulement : DirectX 9, 10 et 11 via #DXVK et les applications compatibles avec Vulkan).

Trucs et astuces

Wineconsole

Souvent, vous pouvez avoir besoin d'exécuter des .exe pour patcher des fichiers de jeu, par exemple un mod d'écran large pour un vieux jeu, et exécuter le .exe normalement par Wine pourrait ne rien donner. Dans ce cas, vous pouvez ouvrir un terminal et exécuter la commande suivante :

$ wineconsole cmd

Puis naviguez dans le répertoire et exécutez le fichier .exe à partir de là.

Winetricks

Winetricks est un script qui permet d'installer les composants de base nécessaires à l'exécution des programmes Windows. Les composants installables incluent DirectX 9.x, MSXML (requis par Microsoft Office 2007 et Internet Explorer), les bibliothèques Visual Runtime et bien d'autres.

Installez le paquet winetricks (ou alternativement winetricks-gitAUR). Exécutez-le ensuite avec :

$ winetricks

Pour utiliser l'interface graphique, installez le paquet zenity.

Performances

CSMT

CSMT est une technologie utilisée par Wine pour utiliser un thread séparé pour les appels OpenGL afin d'améliorer sensiblement les performances. Depuis Wine 3.2, CSMT est activé par défaut.

Notez que CSMT peut en fait nuire aux performances de certaines applications − si c'est le cas, désactivez-le en exécutant wine regedit et définissez la valeur DWORD de HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt à 0x00 (désactivé).

Informations complémentaires :

Discussion sur le Forum Phoronix avec le développeur de CSMT Stefan Dösinger

Forcer le mode OpenGL dans les jeux

Certains jeux peuvent avoir un mode OpenGL qui peut être plus performant que leur mode DirectX par défaut. Bien que les étapes pour activer le rendu OpenGL soient spécifiques à l'application, de nombreux jeux acceptent le paramètre -opengl.

$ wine /path/to/3d_game.exe -opengl

Vous devez bien sûr vous référer à la documentation de votre application et à la AppDB de Wine pour de telles informations spécifiques à l'application.

DXVK

DXVK est une nouvelle implémentation prometteuse de DirectX 9, 10 et 11 sur Vulkan. Cela devrait permettre de meilleures performances et, dans certains cas, une meilleure compatibilité. Battlefield 1, par exemple, ne fonctionne que sous DXVK. Par contre, DXVK ne supporte pas (encore) tous les jeux Wine.

Pour l'utiliser, installez dxvk-binAUR. Ensuite, exécutez la commande suivante pour l'activer dans votre Wineprefix (par défaut ~/.wine) :

$ WINEPREFIX=votre-préfixe setup_dxvk install
Attention: DXVK remplace les DLL DirectX 10 et 11, ce qui peut être considéré comme une tricherie dans les jeux multijoueurs en ligne et peut entraîner la suspension de votre compte. Utilisez-le à vos risques et périls !

Gallium Nine

Avec les pilotes open-source basés sur Gallium (principalement les cartes AMD et Intel), il existe un Gallium Direct3D state tracker qui vise à fournir des performances quasi-natives pour DirectX 9. Dans la plupart des cas, il y a moins de problèmes visuels que Wine en amont et les performances sont doublées. Il consomme beaucoup moins de temps CPU que CSMT.

Installez wine-nine pour l'utiliser. Il s'agit d'un paquet autonome qui peut être installé avec n'importe quelle version de Wine. Utilisez wine ninewinecfg pour vérifier s'il est activé.

Pour les anciennes cartes graphiques Intel (gen4-7 : GMA 3000, GMA 4500, HD 2000-5000 ; année 2006-2014) le pilote Crocus Gallium doit être utilisé à la place de i965 depuis Mesa 21.2. Exportez la variable d'environnement suivante avant d'exécuter Wine :

MESA_LOADER_DRIVER_OVERRIDE=crocus

Désenregistrer les associations de fichiers Wine existantes

Par défaut, Wine s'impose comme l'application par défaut pour un grand nombre de formats. Certains (par exemple, vbs ou chm) sont spécifiques à Windows, et les ouvrir avec Wine peut être pratique. Cependant, l'ouverture d'autres formats (par exemple, gif, jpeg, txt, js) dans les simulations de base d'Internet Explorer et du Bloc-notes de Wine peut être ennuyeuse.

Les associations de fichiers de Wine sont définies dans ~/.local/share/applications/ comme fichiers wine-extension-extension.desktop. Supprimez les fichiers correspondant aux extensions que vous voulez désenregistrer. Ou, pour supprimer toutes les extensions de Wine :

$ rm -f ~/.local/share/applications/wine-extension*.desktop
$ rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*

Ensuite, supprimez l'ancien cache :

$ rm -f ~/.local/share/applications/mimeinfo.cache
$ rm -f ~/.local/share/mime/packages/x-wine*
$ rm -f ~/.local/share/mime/application/x-wine-extension*

Et, mettez à jour le cache :

$ update-desktop-database ~/.local/share/applications
$ update-mime-database ~/.local/share/mime/

Veuillez noter que Wine créera toujours de nouvelles associations de fichiers et recréera même les associations de fichiers si l'application définit à nouveau les associations de fichiers.

Empêcher Wine de créer des associations de type de fichier

Note: Cela doit être fait pour chaque WINEPREFIX qui ne doit pas mettre à jour les associations de fichiers sauf si vous choisissez de modifier /usr/share/wine/wine.inf.

Cette méthode empêche la création d'associations de type de fichier mais conserve la création de fichiers XDG .desktop (que vous pouvez voir par exemple dans les menus).

Si vous voulez empêcher wine de créer des associations de types de fichiers via winecfg, vous devez décocher la case "Gérer les associations de fichiers" sous l'onglet Intégration au bureau. Voir la FAQ de Wine

Pour effectuer le même changement via le registre, ajoutez la chaîne Enable avec la valeur N sous :

HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations

Il se peut que vous deviez d'abord créer la clé FileOpenAssociations!

Pour effectuer cette modification via la ligne de commande, exécutez la commande suivante :

$ wine reg add "HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations" /v Enable /d N

Si vous voulez appliquer ceci par défaut pour les nouveaux WINEPREFIXES, éditez /usr/share/wine/wine.inf et ajoutez cette ligne par exemple sous la section [Services] :

HKCU, "Software\Wine\FileOpenAssociations", "Enable",2, "N"

Pour éviter qu'une mise à jour de paquet ne remplace le fichier modifié, créez un hook pacman pour effectuer le changement automatiquement :

/etc/pacman.d/hooks/stop-wine-associations.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/share/wine/wine.inf

[Action]
Description = Stopping Wine from hijacking file associations...
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/\[Services\]/\[Services\]\nHKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"/g" /usr/share/wine/wine.inf'

Voir Pacman (Français)#Hooks.

Exécuter les binaires Windows avec Wine implicitement

Le paquet wine installe un fichier binfmt qui vous permettra d'exécuter directement des programmes Windows, par exemple, ./myprogram.exe se lancera comme si vous aviez tapé wine ./myprogram.exe. Le service démarre par défaut au démarrage, si vous n'avez pas redémarré après avoir installé Wine, démarrez systemd-binfmt.service pour l'utiliser immédiatement.

Note: Veuillez vous assurer que le binaire Windows est exécutable, sinon il ne s'exécutera pas

Double tête avec différentes résolutions

Si vous avez des problèmes avec des configurations à double tête et des résolutions d'affichage différentes, il vous manque probablement lib32-libxrandr.

L'installation de lib32-libxinerama peut également résoudre les problèmes de double tête avec Wine (par exemple, boutons et menus d'application non cliquables sur l'écran le plus à droite ou le plus en bas, interface d'application non redessinable dans cette zone, état du curseur de la souris bloqué après avoir quitté la zone d'application).

Gravure de supports optiques

Pour graver des CD ou des DVD, vous devez charger le module du noyau sg.

Montage correct des images de support optique

Certaines applications vérifient que le support optique se trouve dans le lecteur. Elles peuvent ne vérifier que les données, auquel cas il peut être suffisant de configurer le chemin correspondant comme étant un lecteur de CD-ROM dans winecfg. Cependant, d'autres applications rechercheront un nom de support et/ou un numéro de série, auquel cas l'image doit être montée avec ces propriétés spéciales.

Certains outils de lecteur virtuel ne gèrent pas ces métadonnées, comme les lecteurs virtuels basés sur des fusibles (Acetoneiso par exemple). CDemu les traitera correctement.

Afficher l'overlay FPS dans les jeux

Wine dispose d'un moniteur de FPS intégré qui fonctionne pour toutes les applications graphiques si la variable d'environnement WINEDEBUG=fps est définie. Le taux d'images par seconde est alors affiché dans le fichier stdout. Vous pouvez afficher le FPS en haut de la fenêtre grâce à osd_cat du paquet xosd. Voir winefps.sh pour un script d'aide.

Exécuter Wine sous un compte utilisateur distinct

Il peut être souhaitable d'exécuter Wine sous un compte utilisateur spécifiquement créé afin de réduire les problèmes d'accès des applications Windows à votre répertoire personnel.

Tout d'abord, créez un compte utilisateur pour Wine :

# useradd -m -s /bin/bash wineuser

Passez maintenant à un autre TTY et démarrez votre X WM ou DE comme vous le feriez normalement ou continuez à lire...

Note: L'approche suivante ne fonctionne que si vous activez la fonction root pour Xorg. Consultez Xorg (Français)#Xorg sans root pour plus d'informations sur la façon d'exécuter la commande xhost sous votre utilisateur principal.

Ensuite, afin d'ouvrir les applications Wine en utilisant ce nouveau compte utilisateur, vous devez ajouter le nouvel utilisateur à la liste des permissions du serveur X :

$ xhost +SI:localuser:wineuser

Enfin, vous pouvez exécuter Wine via la commande suivante, qui utilise env pour lancer Wine avec les variables d'environnement qu'il attend :

$ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine arguments

Il est possible d'automatiser le processus d'exécution des applications Windows avec Wine via cette méthode en utilisant un script shell comme suit :

/usr/local/bin/runaswine
#!/bin/sh
xhost +SI:localuser:wineuser
sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"

Les applications Wine peuvent ensuite être lancées via :

$ runaswine "C:\path\to\application.exe"

Afin de ne pas se voir demander un mot de passe à chaque fois que Wine est lancé en tant qu'autre utilisateur, l'entrée suivante peut être ajoutée au fichier sudoers : mainuser ALL=(wineuser) NOPASSWD : ALL. Voir Sudo (Français)#Configuration pour plus d'informations.

Il est recommandé d'exécuter winecfg en tant qu'utilisateur Wine et de supprimer tous les raccourcis pour les répertoires en dehors du répertoire personnel de l'utilisateur Wine dans la section "Desktop Integration" de la fenêtre de configuration afin qu'aucun programme exécuté avec Wine n'ait accès en lecture à un fichier en dehors du répertoire personnel de l'utilisateur spécial.

Gardez à l'esprit que l'audio sera probablement non fonctionnel dans les programmes Wine qui sont exécutés de cette façon si PulseAudio est utilisé. Voir PulseAudio/Examples#Allowing multiple users to share a PulseAudio daemon pour des informations sur l'autorisation de l'utilisateur Wine à accéder au démon PulseAudio de l'utilisateur principal.

Répertoire temporaire sur tmpfs

Pour empêcher Wine d'écrire ses fichiers temporaires sur un disque physique, on peut définir un emplacement alternatif, comme tmpfs. Supprimez le répertoire par défaut de Wine pour les fichiers temporaires et créez un lien symbolique :

$ rm -r ~/.wine/drive_c/users/$USER/Temp ~/.wine/drive_c/windows/temp
$ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp
$ ln -s /tmp/ ~/.wine/drive_c/windows/temp

Empêcher l'installation de Mono/Gecko

Si Gecko et/ou Mono ne sont pas présents sur le système ni dans le préfixe de Wine, Wine demandera de les télécharger depuis Internet. Si vous n'avez pas besoin de Gecko et/ou Mono, vous pouvez désactiver cette boîte de dialogue, en définissant la variable d'environnement WINEDLLOVERRIDES à mscoree=d;mshtml=d.

Vulkan

Le chargeur ICD par défaut de Wine Vulkan fonctionne bien pour la plupart des applications, mais ne supporte pas les fonctionnalités avancées, comme les couches Vulkan. Pour utiliser ces fonctionnalités, vous devez installer le SDK Vulkan officiel, voir les étapes 2-4 sur la page GitHub de l'auteur des patches Vulkan originaux [2].

Supprimer les liens de fichiers Wine

Pour des raisons de sécurité, il peut être utile de supprimer les raccourcis Wine préinstallées afin que les applications Windows ne puissent pas être lancées directement à partir d'un gestionnaire de fichiers ou d'un navigateur (Firefox propose d'ouvrir les fichiers EXE directement avec Wine !) Si vous voulez faire cela, vous pouvez ajouter ce qui suit à la section [options] de /etc/pacman.conf

NoExtract = usr/lib/binfmt.d/wine.conf
NoExtract = usr/share/applications/wine.desktop

WineASIO

Si vous avez besoin d'un support audio professionnel sous wine, vous pouvez utiliser wineasioAUR qui fournit une interface ASIO pour wine que vous pouvez ensuite utiliser avec JACK.

Pour utiliser wineasio, vous devez vous ajouter au groupe d'utilisateurs realtime.

Ensuite, vous devez enregistrer wineasio dans le préfixe de Wine que vous souhaitez. Enregistrez la version 32 bits et/ou 64 bits selon vos besoins :

$ regsvr32 /usr/lib32/wine/i386-windows/wineasio.dll
$ wine64 regsvr32 /usr/lib/wine/x86_64-windows/wineasio.dll

Dépannage

Consultez Guide de l'utilisateur de Wine et la FAQ de Wine (en particulier la section Dépannage) pour des conseils généraux.

Consultez également la Wine AppDB pour obtenir des conseils sur des applications spécifiques.

Problèmes liés à XWayland

Si vous utilisez Wine sous XWayland, vous pouvez activer l'option "Emulation d'un bureau virtuel" dans l'onglet Graphique de winecfg, afin d'éviter les problèmes de :

  • scintillement ;
  • mauvais emplacement de la fenêtre
  • mauvais emplacement du curseur de la souris et clics ;
  • détection du clavier.

La saisie au clavier ne fonctionne pas

Cela peut être dû au fait que le gestionnaire de fenêtres ne change pas le focus. Dans l'onglet Graphiques de winecfg, désactivez les options 'Autoriser le gestionnaire de fenêtres…', ou définissez le mode fenêtré avec 'Emuler un bureau virtuel'.

  • Certains suggèrent de basculer tous les paramètres de fenêtre, de cliquer sur Appliquer, puis de les modifier à nouveau. Si cela ne fonctionne pas, essayez ce qui précède.

Si le clavier ne fonctionne pas après avoir défocalisé l'application, essayez de modifier le registre :

  • Sous HKEY_CURRENT_USER\Software\Wine\X11 Driver, ajoutez une chaîne de valeur UseTakeFocus et mettez-la à N.
  • Au lieu de cela, vous pouvez utiliser winetricks pour définir cette valeur.
winetricks usetakefocus=n

Voir aussi