Масштаб xrandr 2x2 для нескольких дисплеев (4K HiDPI и Full HD) - размытый вывод

16

На Kubuntu 17.04 с nouveau, я пытаюсь получить двойную настройку монитора с 4K в качестве основного и Full HD (на самом деле 1920x1200, но без разницы) справа.

Я использую двойное масштабирование системы KDE (как описано в https://wiki.archlinux.org/index.php/HiDPI#Using_KDE_system_settings ) вместе с xrandrмасштабированием (как описано в https://wiki.archlinux.org/index.php / HiDPI # Side_display ). Более конкретно:

xrandr \
    --output eDP-1 --mode 3840x2160 --pos 0x0    --auto \
    --output DP-2  --mode 1920x1200 --pos 3840x0 --auto \
        --panning 3840x2400+3840+0 --scale 2.0x2.0 \
    --fb 7680x2400

Проблема в том, что DP-2имеет небольшое размытие, особенно на шрифтах, из-за понижающей дискретизации с 3840x2400 до 1920x1200. Это отмечено в конце https://wiki.archlinux.org/index.php/HiDPI#Side_display , причем предлагаемое решение - настройка резкости на мониторе. Пробовал, не работает.

Фильтр, используемый при масштабировании, является билинейным: https://cgit.freedesktop.org/xorg/app/xrandr/tree/xrandr.c?id=5d5db88d106a49d7560a8042fa054df8b609f00a#n2993 . Ближайший сосед также поддерживается, "nearest"но выглядит ужасно, хотя это и есть точная дискретизация 2х2, чего я не понимаю. Я пошел дальше и построил это с "lanczos"вместо "bilinear". Видимо, это не поддерживается:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  26 (RRSetCrtcTransform)
  Serial number of failed request:  36
  Current serial number in output stream:  37

Есть ли способ поддержать Ланцоша (или лучший фильтр)? Я не против фильтрации в программном обеспечении.

Прямо сейчас у меня отключено двойное масштабирование KDE и xrandrмасштабирование с собственным разрешением 1920x1080 на моем основном дисплее в качестве обходного пути. Дополнительный дисплей очень резкий, включая шрифты, как и ожидалось. Тем не менее, с нормального расстояния просмотра основной дисплей выглядит даже хуже, чем масштабированный вторичный, что также странно, поскольку половина разрешения по-прежнему является Full HD, что выглядит удивительно четким на других дисплеях, которые не являются 4K.

Таким образом, реальный вопрос, есть ли способ получить четкие изображения на обоих дисплеях?

Изменить: Забыл упомянуть тот важный факт, что я нахожусь на системе Nvidia PRIME с GeForce 940MX и Intel HD Graphics 620. На nvidia-384 результаты одинаковы при использовании Intel, то есть те же пятна. При использовании GeForce --scale 2x2опция не имеет эффекта, и --panningопция генерирует Failed Requestошибку, похожую на приведенную выше.

Айберк Озгюр
источник
Может быть, я что-то упустил, но почему вы масштабируете выходы, а затем панорамирование? Разве вы не должны использовать опции xrandr, такие как --right-ofили --left-of? Я думаю, что если вы используете их, разрешение не должно масштабироваться и поэтому не будет размытым. Извините, я бы прокомментировал, но мне не хватает представителя.
бинаменатор
Поскольку мониторы физически схожи по размеру и не масштабируют монитор с низким разрешением, главный из них имеет слишком маленькие функции (шрифты, окна и т. Д.)
Ayberk Özgür
1
Вы когда-нибудь что-нибудь выясняли с этим? Я думаю, что в конечном итоге Wayland звучит как святой Грааль поддержки мульти-DPI, но сейчас кажется, что драйверы nVidia плохо работают с Wayland, поэтому я застрял либо с размытым текстом, либо с экраном 4k.
Ибрагим

Ответы:

1

У меня также есть 4k монитор на моем ноутбуке. Обычно я просто устанавливаю режим 1920x1080 для монитора 4k, и на самом деле он выглядит идеально, точно как монитор 1080p. Просто не масштабируйте и не сглаживайте, нужно найти способ, чтобы просто иметь 2х2 пикселя.

gena2x
источник