Melhor solução que encontrei
Como mencionado anteriormente, você terá muito pouca sorte com isso - especialmente com vários monitores (meu problema). Eu optei por um comando de uma linha para obter uma apresentação consistente para vários monitores, com o meu monitor integrado sendo o hidpi, isto:
./xrandr --output eDP-1 --mode "2880x1800" --scale "0.5x0.5"
Este comando significa : Reduza minha resolução nativa em 50%, o que, quando falamos de pixels, significa que a renderização não deve ter muita interpretação e o resultado deve ser nítido.
Por que funciona: porque agora um pixel "quadrado" é representado em 4 pixels quadrados.
Nota : Suas opções provavelmente serão um pouco diferentes.
Alguns detalhes : tive que voltar para o nouveau da nvidia
Primeiro - Veja se o dimensionamento padrão do sistema xrandr não tem desfoque
Instalar x11-server-utils
sudo apt install x11-xserver-utils
Encontre o monitor hidpi 'conectado', ele terá um nome de identificação na frente de 'conectado':
xrandr -q
exemplo de saída, o nome do seu monitor está na frente do 'conectado':
saída xrandr -q
Portanto, meu monitor é 'eDP-1' e a resolução nativa, a principal, é 2880x1800. Portanto, escalamos o primeiro em 50% para evitar desfoque, use os valores de xrandr -q para o eDP-1 e o 2880x1800 :
xrandr --output eDP-1 --mode "2880x1800" --scale "0.5x0.5"
Se você fizer isso e ainda tiver fontes nítidas, etc., então está configurado, pule para 'Finalizar' abaixo.
Se estiver embaçado, as etapas a seguir ajudarão.
Etapa 1 - System xrandr ainda embaçado ... preparação do sistema
sudo apt install git build-essential autoconf xutils-dev automake dkms gksu libxrandr-dev mesa-utils x11-xserver-utils
Pode ser um pouco diferente para você, dependendo do seu sistema, mas isso funcionou para mim.
Etapa 2 - obtenha a fonte xrandr
clonar o código xrandr
git clone https://anongit.freedesktop.org/git/xorg/app/xrandr.git xrandr_source && cd xrandr_source
Etapa 3 - anote sua versão do xrandr
Anote sua versão do xrandr, você precisará deste:
xrandr --version | grep 'program version' | awk '{print $4}'
Etapa 4 - efetue o check-out da mesma tag git do número da versão que o seu sistema possui
Verifique as tags git para xrandr no diretório xrandr_source
git tag --list | grep 'xrandr'
Encontre o número da sua versão e 'confira' essa tag
git checkout tag/xrandr-[your version number here]
para mim isso foi:
git checkout tax/xrandr-1.5.0
Etapa 5 - Modificar xrandr.c
Abra o xrandr.c com o editor de arquivos que você deseja usar. Procure por 'transform.filter'. Existem cerca de três lugares. Você notará que está dentro de uma condição, algo como isto:
if (sx != 1 || sy != 1)
output->transform.filter = "bilinear";
else
output->transform.filter = "nearest";
'bilinear' é o que a torna embaçada - MAS - já que estamos "diretamente" diminuindo, ou seja, um pixel agora é quatro, não precisamos de bilineares e podemos ir com o 'mais próximo'.
Você tem duas opções, aprimore o if condicional ou remova completamente todo o if e mantenha apenas:
output->transform.filter = "nearest";
Como não vamos 'instalar' este xrandr, é melhor seguir o caminho que eu fiz. Você encontrará alguns lugares com:
output->transform.filter = "bilinear";
O mais simples é mudar o "bilinear" para o "mais próximo"
Salve o arquivo. Feche seu editor
Etapa 6 - compilar
./autogen.sh && make
Você deve ter um xrandr recém-criado agora nesse diretório, tente
./xrandr -q
O que deve lhe dar saída.
Agora você pode tentar o comando xrandr original:
./xrandr --output [your display] --mode "[your native resolution]" --scale "0.5x0.5"
Etapa 7 - encerrar
Agora você também pode fazer coisas como jogar com todas as suas configurações regulares relacionadas a fontes, dpi, anti-alias etc.
Eu não preciso de todo o espaço extra que o hidpi oferece, e você acaba ampliando tudo o que pode ser usado.
Crédito : Eu tenho a maioria das minhas coisas por aqui, mas tem alguns anos e acho que pertence a uma pergunta mais recente: https://forums.linuxmint.com/viewtopic.php?t=159064