XRandR DPI на мультиголовке Linux

18

У меня есть несколько экранов с разными правильными настройками DPI. Я могу использовать xrandr --dpi Xдля изменения DPI для всех экранов, можно ли установить разные DPI для каждого экрана? Как заставить приложения пересчитывать размеры шрифтов, когда они перемещаются на другой экран? xrandr --dpi Xвлияет только на новые окна, старые окна все еще используют старое значение DPI.

Марек Сапота
источник

Ответы:

3

Я не пробовал еще, но есть хороший взгляд ответ здесь , который предлагает использовать xrandrвариант , scale который вы должны получить эффект вы после этого .

ОБНОВЛЕНИЕ: Это работает, я написал краткие инструкции здесь .

Джейми Китсон
источник
3
Пожалуйста, всегда копируйте и вставляйте инструкции к ответам. Это предосторожность против потери информации исторических вопросов. Рано или поздно, большинство внешних ссылок области DEAD, и это сделает ваш ответ бессмысленным ... В любом случае, большинство пользователей хотели бы видеть ответы на одном сайте, ...
Кравемир
Даже если этот сайт является другим сайтом StackExchange?
Джейми Китсон
Команда масштабирования выглядит очень интенсивно на GPU по сравнению с настройкой нескольких мониторов в Windows 10. Масштабирование означает прямое масштабирование пикселей, в то время как Windows 10 изменяет размер текста.
Кун
3

Я смог решить эту проблему (с проблемами), используя детали, изложенные в следующем обсуждении github: https://github.com/linuxmint/Cinnamon/issues/3606

Внешний монитор QHD (2560X1440), внутренний монитор ноутбука 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

ИЛИ Внешний монитор FHD (1920x1080), Внутренний / Монитор ноутбука 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

Это работает, но при перемещении окон, изменении размеров экрана или прокрутке в браузере на мониторе с высоким разрешением (ноутбуке) возникает значительный разрыв. Это похоже на программное решение для рендеринга (в котором есть все эти проблемы с разрывом и медленным обновлением).

В Linux / Gnome 2017 года необходимо решение для смешанного масштабирования с несколькими мониторами. И в Windows 10, и в OS X эта проблема решена без необходимости прибегать к исправлениям, которые частично работают в командной строке (эта проблема не подходит для игр)

Jeets
источник
2

Вы можете установить разные значения для каждого экрана с помощью:

xrandr --output <Display1> --dpi X --output <Display2> --dpi Y

Чтобы увидеть, что доступно, используйте только xrandr , чтобы перезапустить шрифт. Я думаю, что вы можете выключить дисплей и включить его снова с помощью:

xrandr --output <Display1> --off
xrandr --output <Display1> --auto

но я не совсем уверен

Agomezl
источник
2
Насколько я вижу, --dpi не является настройкой для каждого выхода. Это приводит к вызову XRRSetScreenSize для всего экрана. Насколько я вижу, X11 просто не поддерживает установку разных значений DPI для разных выходов. Что было бы отстой ...
Арно Энгелен
2
Да, на самом деле выходные данные RandR имеют ширину / высоту, указанную как в пикселях, так и в миллиметрах, поэтому у разных выходных данных может быть разный DPI - но AFAICS не вызывает RandR для манипулирования физическим размером выходных данных.
Арно Энгелен
5
Различные источники, включая wiki.archlinux.org/index.php/HiDPI#External_displays, предполагают, что одновременно возможна только одна настройка DPI (в одном экземпляре Xserver). Команда xrandr, предложенная Агомезлем, не работает.
Владимир Чунат