Mise à l'échelle de la fenêtre par application dans Xorg pour un affichage haute résolution

28

J'utilise Gnome Shell avec un moniteur 4k et il y a quelques applications que j'utilise qui ne s'adaptent pas du tout avec la haute résolution.

Voici un exemple de LMMS, une application qui n'a pas encore été portée Qt ​​5, donc elle n'a pas de capacités de mise à l'échelle à haute résolution:

Capture d'écran
(Cliquez sur les images pour agrandir)

Existe-t-il un moyen de mettre à l'échelle une fenêtre X spécifique sans modifier la résolution d'affichage?

Ma solution actuelle consiste à réduire de moitié les dimensions de ma résolution d'affichage, mais cela dégrade la résolution de toutes les autres applications qui prennent en charge la mise à l'échelle dpi correcte:

Capture d'écran

MetaDark
la source

Réponses:

20

J'ai finalement réussi à trouver une solution qui met à l'échelle les anciennes applications sans aucune dégradation visuelle ou de performance notable.

Grâce à kaueraal, vous pouvez désormais faire évoluer d'anciennes applications à l'aide de run_scaled. Vous pouvez obtenir le script depuis sa page GitHub ou via AURrun_scaled-git si vous utilisez Arch Linux.

Voici un exemple de deux applications fonctionnant côte à côte:

  • Firefox avec prise en charge HiDPI à gauche
  • LMMS fonctionnant avec run_scaledà droite

entrez la description de l'image ici

J'ai découvert ce script via le wiki Arch Linux .

MetaDark
la source
Sur Ubuntu, vous devez installerxpra
Pablo A
Ce programme consomme beaucoup de CPU.
L29Ah
6

Sans voir le problème exact que vous rencontrez, je suggère d'utiliser

GDK_SCALE=x

ou

GDK_DPI_SCALE=x

Avant de démarrer chaque application. Vous devrez probablement modifier manuellement les .desktopfichiers ou exécuter à partir de votre shell en préfixant les commandes avecGDK_SCALE=x

GDK_SCALEautoriser uniquement les valeurs entières mais GDK_DPI_SCALE=xautoriser les valeurs décimales comme ieGDK_DPI_SCALE=0.66

Pour d'autres applications basées sur SDK, il existe probablement des paramètres similaires pour les kits respectifs. Cependant, étant donné que votre problème concerne le bureau gnome, je fournirai cette solution.

Je n'ai pas essayé avec un moniteur 4k, mais courir GDK_DPI_SCALE=1.66 gnome-calculatorfera la démonstration de la solution.

Source: https://developer.gnome.org/gtk3/stable/gtk-x11.html

Maeve Kennedy
la source
1
Merci pour la réponse, mais cela ne fonctionne pas pour les applications Xlib.
Ho1
3
Merci pour la réponse, mais ce n'est pas vraiment ce que je recherche. Je ne rencontre des problèmes de mise à l'échelle qu'avec des applications qui n'utilisent pas GTK3. J'espérais trouver une solution qui pourrait être appliquée à n'importe quelle application X.
MetaDark
wiki.archlinux.org/index.php/HiDPI contient des informations qui pourraient être utiles pour les applications GTK et non GTK. Je ferais une réponse, mais je ne veux pas transcrire les informations dans un message de réponse.
Emmaly Wilson
2

J'ai une application qui génère de nombreuses fenêtres et je ne peux pas pour l'instant l'utiliser xpracomme l'exige la solution run_scaled acceptée. Je ne peux pas non plus tolérer la mise à l'échelle 2x de gnome-tweak-tool. Trop énorme. Besoin de 1,5x.

J'ai découvert que le client java tigerVNC prend en charge la mise à l'échelle de l'affichage côté client de 150%.

Je lance donc un serveur vnc avec une taille 2/3 et un gestionnaire de fenêtres minimal:

vncserver -geometry 2520x1380 -xstartup ~/.vnc/xstartup-mwm

Je me connecte ensuite avec le client java v1.7 de TigerVNC (1.8.0 plante systématiquement pour moi):

java -jar VncViewer-1.7.0.jar -ScalingFactor=150

Autre que la ligne de commande, vous pouvez appuyer sur F8pour obtenir les options de la visionneuse VNC. Écran-> Facteur d'échelle-> 150%. Cela met la résolution à l'échelle de 2/3 de 4k à 4k.

entrez la description de l'image ici

MWM archaïque en VNC avec une échelle de 150% à gauche. Bureau Gnome fantaisie (natif) à droite, pas de mise à l'échelle. Vous remarquerez les minuscules icônes. Gnome est par ailleurs ajusté pour 4k avec une mise à l'échelle de la police 1,5x dans gnome-tweak-tool, mais les icônes ne sont pas mises à l'échelle. Ce n'est qu'un exemple d'application - les icônes et la mise à l'échelle dans l'application qui me pousse de cette façon sont bien pires.

Malheureusement, il s'agit d'un bureau entier à l'échelle 1,5x avec un gestionnaire de fenêtres séparé. Cela crée une belle zone fermée pour mon application multi-fenêtres, mais c'est ennuyeux d'avoir un deuxième gestionnaire de fenêtres. Néanmoins, VNC est quelque chose que je connais depuis longtemps, et cela se répercute assez facilement sur l'ordinateur portable, donc c'est peut-être utilisable.

stevesliva
la source
1

Vncdesk vous propose une solution basée sur un client-serveur VNC local (voir ici )

Ce n'est pas une solution complète pour moi car cela pose des problèmes si l'application a besoin d'un gestionnaire de fenêtres.

Sergio Llorente
la source