Estou executando o Gnome Shell com um monitor 4k e há alguns aplicativos que uso que não são dimensionados com alta resolução.
Aqui está um exemplo de LMMS, um aplicativo que ainda não foi portado para Qt 5, portanto não possui recursos de escala de alto dpi:
(Clique nas imagens para ampliar)
Existe alguma maneira de dimensionar uma janela X específica sem alterar a resolução da tela?
Minha solução atual é reduzir metade das dimensões da resolução da minha tela, mas isso degrada a resolução de todos os outros aplicativos que suportam o dimensionamento adequado de dpi:
Responder1
Finalmente consegui encontrar uma solução que dimensiona aplicativos antigos sem qualquer degradação visual ou de desempenho perceptível.
Graças ao kaueraal, agora você pode dimensionar aplicativos antigos usando run_scaled
. Você pode obter o script em seuPágina GitHubou como parte do xpra
pacote se você estiver executando o Arch Linux.
Aqui está um exemplo de dois aplicativos executados lado a lado:
- Firefox com suporte HiDPI à esquerda
- LMMS rodando à
run_scaled
direita
Eu descobri esse script através doWiki do Arch Linux.
Responder2
Sem ver o problema exato que você está enfrentando, sugiro usar
GDK_SCALE=x
ou
GDK_DPI_SCALE=x
Antes de iniciar cada aplicação. Você provavelmente terá que alterar .desktop
os arquivos manualmente ou executar a partir do seu shell prefixando os comandos comGDK_SCALE=x
GDK_SCALE
permitir apenas valores inteiros, mas
GDK_DPI_SCALE=x
permitir valores decimais como ou sejaGDK_DPI_SCALE=0.66
Para outros aplicativos baseados em SDK, provavelmente existem configurações semelhantes para os respectivos kits. No entanto, como o seu problema é com o desktop gnome, fornecerei esta solução.
Não tentei com um monitor 4k, mas a execução GDK_DPI_SCALE=1.66 gnome-calculator
demonstrará a solução.
Responder3
Responder4
Acho que encontrei uma solução acelerada por GPU! Instale weston
e execute isto:
weston --xwayland --scale=2
DISPLAY=:1 your_app
É isso!
Afinação
Nota 1: Você deve ter notado que foi usado um número mágico, DISPLAY=:1
. A suposição subjacente aqui é que sua exibição principal do xorg é :0
. Se não estiver, ajuste de acordo.
Nota 2: Você deve ter notado que ele weston
possui um painel superior por padrão. Você pode querer removê-lo. Para fazer isso, crie um weston.ini
arquivo:
[core]
idle-time=0
[shell]
panel-position=none
locking=false
E use-o ao iniciar weston weston --config=/path/to/weston.ini
. Você também pode colocá-lo ~/.config/weston.ini
para que seja retirado automaticamente pelo Weston, consulte man weston.ini
para obter mais detalhes.
EDIT: Também documentei a abordagem recém-descoberta aqui:https://wiki.archlinux.org/title/HiDPI#Unsupported_applications,_via_weston