"- масштаб 2x2" у xrandr призводить до того, що монітор нічого не відображає


11

У мене зовнішній головний монітор 4k, і я намагаюся підключити зовнішній монітор 1680x1050 зліва від нього.

Я спробував використовувати:

 xrandr --output HDMI-0 --scale 2x2 --pos 0x0 --fb 7200x2160 --output DP-4 --pos 3360x0

що здається, що це повинно працювати, і коли я дивлюся на те, що комп'ютер думає, що відбувається в nvidia-налаштуваннях, він правильно відображає монітор 3200x2160 зліва від мого 4k.

Однак на моєму зовнішньому моніторі просто відображається чорний колір з мерехтливою лінією вгорі.

Єдиний спосіб, який я можу виправити, це скинути масштаб назад до 1x1, після чого зображення повертається (зберігаючи розмір X-сервера. Це означає, що я просто прокручую простір, щоб мені прокручуватися, щоб потрапити між моніторами).

Тому я думаю, що проблема полягає саме в масштабуванні 2x2 в xrandr. Я не впевнений, що робити?

Комп'ютер працює на 14.04 і має в ньому nvidia GTX960 з рекомендованим драйвером (352.63)

Ось мій вихід xrandr:

  Screen 0: minimum 8 x 8, current 7200 x 2160, maximum 16384 x 16384
  DVI-I-0 disconnected (normal left inverted right x axis y axis)
  DVI-I-1 disconnected (normal left inverted right x axis y axis)
  DP-0 disconnected (normal left inverted right x axis y axis)
  DP-1 disconnected (normal left inverted right x axis y axis)
  DP-2 disconnected (normal left inverted right x axis y axis)
  DP-3 disconnected (normal left inverted right x axis y axis)
  HDMI-0 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 474mm x 296mm
     1680x1050      59.9*+   60.0  
     1280x1024      75.0     60.0  
     1280x960       60.0  
     1152x864       75.0  
     1024x768       75.0     70.1     60.0  
     800x600        75.0     72.2     60.3     56.2  
     640x480        75.0     72.8     59.9  
  DP-4 connected primary 3840x2160+3360+0 (normal left inverted right x axis y axis) 527mm x 296mm
     3840x2160      60.0*+   30.0  
     2560x1440      60.0  
     2048x1280      60.0  
     1920x1200      59.9  
     1920x1080      60.0     60.0     59.9     50.0     24.0     60.0     50.0  
     1600x1200      60.0  
     1600x900       60.0  
     1280x1024      75.0     60.0  
     1280x720       60.0     59.9     50.0  
     1152x864       75.0  
     1024x768       75.0     60.0  
     800x600        75.0     60.3  
     720x576        50.0     50.1  
     720x480        59.9     60.1  
     640x480        75.0     59.9     59.9  

У мене те саме питання. Здається, це працює в масштабі 1,71x1,71. Все більше спричиняє, що менший показ дисплея залишається порожнім
Мацей Возняк

На жаль, мені це не вдалося виправити. Я намагався запустити два монітори, один зі масштабуванням і один без. Якщо ви просто намагаєтеся запустити в 2 рази масштабування, це з Cinammon дуже просто. Я вважаю, що є спосіб змусити Єдність зробити це теж.
m4p85r

Відповіді:


5

Просто хотів додати, що це те, з чим я довгий час боровся, і щоразу я просто здавався - поки не вирішив це раз і назавжди розібратися. Наведене нижче рішення працює для мене, сподіваюсь, що воно буде і для вас.

tl; dr: Налаштування ForceFullCompositionPipeline=On

Фон

Деякі з цих питань також сподіваються надати більше ключових слів, якщо хтось із подібною проблемою в кінці шукає рішення.

Моя установка:

  • ThinkPad P50 із вбудованим 4K-дисплеєм на 3840 × 2160 (основний)
  • Зовнішній монітор як вторинний дисплей - Dell U2412M - 1920 × 1200

Я використовую Ubuntu Gnome 16.04 LTS.

Коли я підключаю монітор через кабель HDMI + перетворювач HDMI-DVI (оскільки монітор не має входу HDMI), все було занадто великим. Різні статті в Інтернеті пропонували використовувати xrandrдля налаштування --scale 2x2на цьому дисплеї, в результаті чого він був майже повністю чорним, вгорі видно лише тонку лінію.

Я наткнувся на це питання, і хоча 2x2.001рішення масштабування дозволило монітору фактично відображати речі, воно також додало додатковий піксель під екраном X, що призвело до незначного прокручування вгору / вниз, коли курсори досягають верхньої та нижньої частини екрана.

Після багато гуглінгу, багато з яких спричинило проблеми та не вирішило, я натрапив на це: https://devtalk.nvidia.com/default/topic/891207/-355-11-358-09-viewportin-on-2nd -monitor-results-in-garbled-display-for-values-over-3211x1800

Щоб перевірити це, я налаштував це за допомогою наступних команд - припустимо, xrandrще не налаштовано масштабування.

$ nvidia-settings -q CurrentMetaMode

  Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0}

Це відображає CurrentMetaModeзначення, і саме тут я додав ForceFullCompositionPipeline=Onопцію до обох дисплеїв. Зауважте, що DPY-4це мій вбудований дисплей ноутбука, тоді DPY-1як зовнішній монітор.

Фактична рядок, яку потрібно налаштувати, є послідовністю після ::виведення цієї команди.

$ nvidia-settings --assign CurrentMetaMode="DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @1920x1200 +3840+0 {ViewPortIn=1920x1200, ViewPortOut=1920x1200+0+0, ForceFullCompositionPipeline=On}"

Після цього я побіг:

$ xrandr --output DP-1 --scale=2x2

Нарешті, роздільна здатність зовнішнього дисплея була чудова, без прокрутки чи будь-яких інших проблем.

Зауважте, що після запуску цих команд, CurrentMetaModeфайл дещо відрізняється від призначеного, можливо, завдяки застосуванню масштабування:

$ nvidia-settings -q CurrentMetaMode

  Attribute 'CurrentMetaMode' (lilicorp:1.0): id=50, switchable=no, source=RandR :: DPY-4: nvidia-auto-select @3840x2160 +0+0 {ViewPortIn=3840x2160, ViewPortOut=3840x2160+0+0, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DPY-1: nvidia-auto-select @3840x2400 +3840+0 {Transform=(2.000000,0.000000,0.000000,0.000000,2.000000,0.000000,0.000000,0.000000,1.000000), ViewPortIn=3840x2400, ViewPortOut=1920x1200+0+0, ResamplingMethod=Bilinear, ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}

Сподіваюся, це вирішує проблему і для когось іншого!


4

У мене була точно така ж проблема. Я вирішив це --scale 2x2.001. Як не дивно, --scale 2x1.999або 2x2.0001не вийшло, то обов'язково спробуйте кілька цифр навколо 2.


У мене теж була ця проблема ... жорстока сила розроблена для mr
juggernauthk108

Що ви змусили? Значення 2?
m4p85r

А як дивно! Дякую за пост. Я закінчився просто здачею. У мене фактично є другий комп’ютер, тепер підключений через синергію. Добре працює, коли мені періодично потрібні програми для Windows (другий комп’ютер - це виграш)
m4p85r

1
Це насправді працює. Хтось повинен повідомити про це ... все одно, велике спасибі!
Коламбо

2

Дякую Мілошу за відмінне рішення, яке добре працювало для мене!

У мене невелике доповнення. Окрім використання командного рядка, ви також можете зручно встановити ForceFullCompositionPipelineінтерфейс Nvidia-Settings. Для цього вам потрібно перейти до "Конфігурація дисплея сервера X", натиснути кнопку "Додатково" та просто активувати опцію "Формувати конвеєр повного складу". Для прикладу див. Https://imgur.com/a/3jE78 .


PS: Я використовую триступінчасту установку з двома зовнішніми моніторами (1920x1080; 1680x1050) та внутрішнім 3k монітором (3840x2160). Для цього я застосовую наступний xrandr-config:

xrandr --output eDP-1-1 --auto --output HDMI-0 --auto --scale 2x2 --above eDP-1-1 --output DP-1 --auto --scale 2x2 --rotate left --right-of eDP-1-1
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.