Polices floues lors de l'utilisation de la mise à l'échelle par défaut de Windows avec les applications GUI WSL (HiDPI)

Existe-t-il un moyen de corriger les polices floues dans les applications GUI Linux lorsqu’elles sont exécutées depuis WSL (Ubuntu 18.04) en utilisant la mise à l’échelle par défaut de Windows ? Ce que j’ai essayé jusqu’à présent :

Avec Xming :

  • J’ai essayé de désactiver la mise à l’échelle Windows et de la définir côté Linux en utilisant GDK_DPI_SCALE=2.5, le problème avec cela est que plusieurs choses comme les icônes des menus contextuels ne se comportent pas bien et ne sont souvent pas mises à l’échelle. Sans GDK_DPI_SCALE=2.5, les applications sont fondamentalement inutilisables car le texte est extrêmement petit.

  • J’ai essayé d’installer toutes les polices de C:\Windows\Fonts dans C:\Program Files\Xming\fonts\TTF et d’exécuter mkfontscale, je n’ai pas réussi à le faire fonctionner de cette façon non plus.

  • J’ai essayé d’utiliser VcXsrv, même problème.

Captures d’écran

  • CLion :

  • Comparaison entre emacs (WSL) et VS Code (Windows natif)

Toutes les ressources que j’ai consultées jusqu’à présent :

Le but principal de tout cela est de pouvoir exécuter des éditeurs de texte (emacs)/IDE (CLion) depuis WSL. Et la raison pour laquelle je ne peux pas installer leurs équivalents Windows est que nous développons uniquement pour Linux.

Quelques détails système :

Écran

4K (3840x2160) - 15,6"

Système d’exploitation

Windows : Windows 10 Famille v1803 Build: 17134.345

WSL : Ubuntu 18.04 (Linux username 4.4.0-17134-Microsoft #345-Microsoft Wed Sep 19 17:47:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux)

Avertissement : La procédure suivante peut varier selon le matériel réel de votre système. Les paramètres peuvent changer dans votre configuration.

D’abord, activez les paramètres de haute résolution DPI pour l’exécutable du serveur X. Fermez toute instance en cours d’exécution de ce serveur X. Ouvrez le dossier où vous avez installé le serveur X, par exemple VcxSrv, Xming, X410, etc. Ici je choisis D:\MyFolder et VcxSrv comme exemple. Ouvrez ce dossier, faites un clic droit sur vcxsrv.exe pour VcxSrv ou Xming.exe pour Xming. Choisissez Propriétés > onglet Compatibilité > Modifier les paramètres de haute résolution DPI > Activer Remplacer le comportement de mise à l’échelle haute résolution > changez en ‘Application’ (ou l’option ‘Système amélioré’). Voici à quoi ressemble la capture d’écran après modification des paramètres :

Faites aussi les étapes ci-dessus pour le fichier xlaunch.exe. Cette modification ajoutera les valeurs de registre suivantes :

`[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
“D:\MyFolder\xlaunch.exe”=“~ HIGHDPIAWARE”
“D:\MyFolder\vcxsrv.exe”=“~ HIGHDPIAWARE”


Ensuite, remplacez les paramètres GTK+ pour l'environnement X11. [Cet article Gnome](https://developer.gnome.org/gtk3/stable/gtk-x11.html) fournit une vue approfondie des variables d'environnement. `GDK_SCALE` mettra les fenêtres à l'échelle par un facteur spécifique. `GDK_DPI_SCALE` mettra le DPI à l'échelle pour les applications sensibles à l'échelle. Activez les paramètres avec les commandes suivantes dans bash (ou un autre shell).

`export GDK_SCALE=0.5
export GDK_DPI_SCALE=2

Modifiez ces valeurs selon votre système. Maintenant exécutez le serveur X et les programmes X11. Ce fil Reddit aide aussi.