масштаб 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"але виглядає безглуздо, незважаючи на те, що це точно 2x2 пониження, яке я не розумію. Я пішов вперед і створив це "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

Чи є спосіб підтримати ланксоси (або кращий фільтр)? Я не проти фільтрації, зробленої в програмному забезпеченні.

Зараз у мене xrandrна головному дисплеї як обхідне вирішення увімкнено подвійне масштабування та масштабування KDE з назвою 1920x1080, що є основним. Вторинний дисплей дуже різкий, включаючи шрифти, як очікувалося. Однак на нормальній відстані перегляду головний дисплей виглядає навіть гірше, ніж масштабований вторинний, що також дивно, оскільки наполовину роздільна здатність все ще є Full HD, що виглядає напрочуд різко на інших дисплеях, які не мають 4К.

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

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


Можливо, мені чогось не вистачає, але чому ви масштабуєте результати і потім пануєте? Якщо ви не використовуєте параметри xrandr, наприклад, --right-ofабо --left-of? Я думаю, що якщо ви користуєтесь цими, резолюції не повинні мати масштаб і тому не будуть розмитими. Вибачте, я б прокоментував, але мені не вистачає респ.
бінаменатор

Оскільки монітори фізично схожі за розміром і не змінюють масштабний низький дозвіл, головний має занадто малі функції (шрифти, вікна тощо)
Айберк Озгюр

1
Ви коли-небудь щось розбиралися з цим? Я думаю, що Wayland звучить як святий грааль підтримки Multi-DPI, врешті-решт, але, схоже, зараз водії nVidia не грають добре з Wayland, тому я застряг або з розмитим текстом, або з отриманням екрана 4k.
Ібрагім

Відповіді:


1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.