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 эта проблема решена без необходимости прибегать к исправлениям, которые частично работают в командной строке (эта проблема не подходит для игр)


2

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

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

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

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

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


2
Насколько я вижу, --dpi не является настройкой для каждого выхода. Это приводит к вызову XRRSetScreenSize для всего экрана. Насколько я вижу, X11 просто не поддерживает установку разных значений DPI для разных выходов. Что было бы отстой ...
— Арно Энгелен

2
Да, на самом деле выходные данные RandR имеют ширину / высоту, указанную как в пикселях, так и в миллиметрах, поэтому у разных выходных данных может быть разный DPI - но AFAICS не вызывает RandR для манипулирования физическим размером выходных данных.
— Арно Энгелен

5
Различные источники, включая wiki.archlinux.org/index.php/HiDPI#External_displays, предполагают, что одновременно возможна только одна настройка DPI (в одном экземпляре Xserver). Команда xrandr, предложенная Агомезлем, не работает.
— Владимир Чунат
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.