Возможно ли иметь две разные конфигурации DPI для двух разных экранов?

79

Я использую Ubuntu 12.04.3 с драйверами NVidia (319) для своей графической карты Quadro K2100M, и когда я переключаю свой основной экран ноутбука 3200x1800 на режим 1920x1080 (используя nvidia-settings ), дисплей становится размытым ...

Я использую два экрана:

  • Мой главный экран - это ЖК-дисплей с максимальным разрешением 1920x1200.
  • Мой экран ноутбука (оригинальное разрешение 3200x1800) находится справа от него.

Основная проблема заключается в том, что на Ubuntu шрифт слишком мал на моем экране ноутбука. Из-за этого я хотел изменить разрешение моего ноутбука на 1920x1080.

Чтение ответ Галгалеша Я попытался вычислить мой DPI , и вот конфигурация DPI, которую я должен иметь:

  • 94x94 для моего основного ЖК-экрана 1920x1200
  • 235x236 для экрана для ноутбука 3200x1800.

Есть ли способ иметь двойные разрешения DPI с расширенным рабочим столом?

    
задан Anthony O. 20.12.2013 в 10:15
источник

4 ответа

86

Кажется, люди все еще пытаются работать с несколькими мониторами и дисплеями HiDPI. Хорошее обходное решение описано в arch wiki Ссылка . Итак, у меня есть:

  • ноутбук asus ln303ux: 3200x1800,
  • внешний монитор: 1920x1200

Теперь я использую Ubuntu 14.10 & amp; GNOME Shell 3.12.2, которая имеет довольно полезную поддержку HiDPI. Поэтому я просто использую встроенную поддержку HiDPI - коэффициент масштабирования равен 2 (его можно настроить с помощью GUI). Это означает, что на внешнем мониторе я получаю все в два раза больше, чем это приемлемо. Таким образом, я использую xrandr; но вместо экранирующего экрана ноутбука, я смотрю экран внешнего монитора:

xrandr --output HDMI1 --scale 2x2 --mode 1920x1200 --fb 3840x4200 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 320x2400

Итак, один за другим:

  1. --output HDMI1 в моем случае - внешний экран, eDP1 - экран ноутбука.
  2. --scale 2x2 - сделать все на внешнем экране вдвое меньше
  3. --mode XxY - явно задает разрешение для экрана (не обязательно, если оно уже установлено)
  4. --fb XxY - установить размер виртуального экрана (фреймбуфера) ( важный без этого, вы сможете использовать только четвертую часть экрана). В моем случае один экран был поверх другого, поэтому я добавил эффективные высоты 2400 + 1800 = 4200. Также обратите внимание, что максимальный размер фреймбуфера может быть указан в xorg.conf - тогда вы не можете его превысить (он написан в первой строке xrandr -q output).
  5. --pos XxY - в моем случае я устанавливаю абсолютное позиционирование экранов, поэтому экран моего ноутбука находится непосредственно на нижней части внешнего экрана.

И это все! Все так же ясно, как могло бы быть.

FYI: чтобы получить имена экранов и доступных разрешений, можно запустить xrandr --current . Более подробную информацию об установке разрешения можно найти здесь: Ссылка .

UPDATE - ВАРИАНТ 2: еще одно интересное решение для приложений, поддерживающих GTK3. Если я обычно использую только одно приложение на большом экране (например, некоторые IDE, например, leksah), я не изменяю размер экрана, а запускаю приложение, масштабированное до его первоначального размера.

env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname
    
ответ дан artem 02.12.2014 в 14:43
5

Почему это размыто?

На вашем экране всегда отображаются 3200x1800 пикселей. Если вы снижаете разрешение экрана на своем компьютере, это означает, что ваш экран должен масштабировать изображение в соответствии с вашим экраном. В зависимости от соотношения между вашим родным разрешением и текущим разрешением это масштабирование приведет к размытому изображению.

Более подробную информацию о масштабировании и родном разрешении вы можете найти здесь: Ссылка

Как сделать текст больше?

Если текст мал, у вас есть два варианта:

1. Изменить размер шрифта Ubuntu

Как изменить шрифты и настроить их размер?

2. Изменение DPI (сделает весь интерфейс больше, а не только текст)

Как найти и изменить экран DPI? (ответ от @whtyger)

    
ответ дан Galgalesh 23.12.2013 в 17:23
3

Я использовал решение artmem, но столкнулся с проблемой мыши, упомянутой EoghanM. Обходной путь, который я нашел в предыдущем отчете об ошибке, связанном с --panning.

Я снимаю для:  - DP1-2 3840x2160 в родном DIP.  - eDP1 1366x768, масштабируется, чтобы выглядеть разумно справа от DP1-2.

Я получаю это, если у вас есть буфер кадров, похожий на DP1-2 + (2x eDP1), тогда я масштабирую все, идущее на eDP1 на 1/2.

Это должно быть просто, но xrandr немного сложнее.

Здесь - шкала используется для сокращения всего, что происходит до eDP1 на 1/2. --panning совпадает с eDP1 в ​​исходном буфере кадра с позицией (+ 3840 + 0) справа от DP1-2. + 0 + 2160 будет ниже.

xrandr -d :0 --fb 6572x3696 --output DP1-2 --mode 3840x2160 --scale 1x1 --rate 60 --pos 0x0 --primary

# sometimes panning get applied incorrectly when switching from some other mode, running it twice is a work around
xrandr -d :0 --output eDP1 --off
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0

Я также установил Xft.dpi на 185

$ cat ~/.Xresources
Xft.dpi: 185

Когда я отсоединяюсь от внешнего монитора, я запускаю:

xrandr -d :0 --output DP1-2 --off
xrandr -d :0 --fb 2732x1536 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+0+0 --pos 0x0 --primary

Это не выглядит великолепно, но я не очень далеко от своего стола. Вы можете обойти это, изменив Xft.dpi и перезапустив все ваши настольные программы. Я не знаю, как изменить Xft.dpi, а затем заставить клиентов использовать его без перезапуска.

    
ответ дан Brian C. 16.03.2017 в 16:47
2

Я смог решить эту проблему (с проблемами), используя подробности, описанные в следующем обсуждении github: Ссылка

Внешний монитор 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

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

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

    
ответ дан Jeets 20.07.2017 в 20:54