Estoy ejecutando Gnome Shell con un monitor 4k y hay algunas aplicaciones que uso que no escalan en absoluto con la alta resolución.
A continuación se muestra un ejemplo de LMMS, una aplicación que aún no se ha adaptado a Qt 5, por lo que no tiene capacidades de escalado de ppp altos:
(Haga clic en las imágenes para ampliar)
¿Hay alguna forma de escalar una ventana X específica sin cambiar la resolución de la pantalla?
Mi solución actual es reducir a la mitad las dimensiones de la resolución de mi pantalla, pero esto degrada la resolución de cualquier otra aplicación que admita una escala de ppp adecuada:
Respuesta1
Finalmente logré encontrar una solución que escala aplicaciones antiguas sin ninguna degradación visual o de rendimiento notable.
Gracias a Kaueraal, ahora puedes escalar aplicaciones antiguas usando run_scaled
. Puede obtener el guión de supágina de GitHubo como parte del xpra
paquete si está ejecutando Arch Linux.
A continuación se muestra un ejemplo de dos aplicaciones ejecutándose una al lado de la otra:
- Firefox con soporte HiDPI a la izquierda
- LMMS ejecutándose
run_scaled
a la derecha
Descubrí este script a través delWiki Linux.
Respuesta2
Sin ver el problema exacto con el que te estás encontrando, sugeriría usar
GDK_SCALE=x
o
GDK_DPI_SCALE=x
Antes de iniciar cada aplicación. Probablemente tendrá que cambiar .desktop
los archivos manualmente o ejecutarlos desde su shell prefijando los comandos conGDK_SCALE=x
GDK_SCALE
solo permite valores enteros, sin embargo,
GDK_DPI_SCALE=x
permite valores decimales como, por ejemplo,GDK_DPI_SCALE=0.66
Para otras aplicaciones basadas en SDK, es probable que existan configuraciones similares para los respectivos kits. Sin embargo, dado que su problema es con el escritorio gnome, le proporcionaré esta solución.
No lo he probado con un monitor 4k, pero al ejecutarlo GDK_DPI_SCALE=1.66 gnome-calculator
se demostrará la solución.
Respuesta3
Respuesta4
¡Creo que encontré una solución acelerada por GPU! Instale weston
y ejecute esto:
weston --xwayland --scale=2
DISPLAY=:1 your_app
¡Eso es todo!
Afinación
Nota 1: Es posible que hayas notado que se ha utilizado un número mágico DISPLAY=:1
. La suposición subyacente aquí fue que su pantalla xorg principal es :0
. Si no es así, ajústelo en consecuencia.
Nota 2: Habrás notado que weston
tiene un panel superior por defecto. Quizás quieras eliminarlo. Para hacer eso, cree un weston.ini
archivo:
[core]
idle-time=0
[shell]
panel-position=none
locking=false
Y úselo al iniciar Weston weston --config=/path/to/weston.ini
. También puede colocarlo ~/.config/weston.ini
para que Weston lo recoja automáticamente; consulte man weston.ini
para obtener más detalles.
EDITAR: También he documentado el enfoque recién encontrado aquí:https://wiki.archlinux.org/title/HiDPI#Unsupported_applications,_via_weston