Зеркальные двойные мониторы с разными разрешениями

24

Я использую следующую xrandrкоманду для зеркалирования своего 17 "ноутбука с 27" внешним монитором, чтобы я мог использовать его для проведения презентаций:

xrandr --output LVDS1 --mode 1600x900 --output HDMI1 --mode 1920x1080 --same-as LVDS1

Однако внешний монитор (HDMI1) возвращается к разрешению 1600x900 вместо 1920x1080.

вывод xrandr:

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
LVDS1 connected primary (normal left inverted right x axis y axis
   1600x900       60.0 +
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
   1920x1080      60.0*+
   1680x1050      59.9  
   1280x1024      75.0     60.0  
   1440x900       75.0     59.9  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        72.8     75.0     66.7     60.0  
   720x400        70.1  
DP1 disconnected (normal left inverted right x axis y axis)
Миларепа
источник

Ответы:

11

Если вы не против панорамирования на ноутбуке, попробуйте это:

xrandr --output LVDS1 --rate 60 --mode 1920x1080 --fb 1920x1080 --panning 1920x1080* --output HDMI1 --mode 1920x1080 --same-as LVDS1
Антониу Месесан
источник
Супер здорово, понятия не имел, что это было поддержано!
blast_hardcheese
1
Кажется, это ошибка, выходящая из этого режима, xrandr --output $external --primaryза которой я xrandr --output $internal --primaryрешил (предложено здесь )
blast_hardcheese
5
Почему в этом аргументе есть «*» --panning? В руководстве ничего об этом не сказано.
Ярно
Спасибо за это, это, как я изменил разрешения на работу с моим UltraWide (21: 9) монитор: xrandr --output eDP1 --mode 1920x1080 --fb 2560x1080 --panning 2560x1080--output HDMI2 --mode 2560x1080 --same-as eDP1. Это вызывает некоторые сбои при панорамировании дисплея ноутбука, но я не пользуюсь им, так что со мной все в порядке.
joelostblom
После отключения внешнего дисплея xrandr --output eDP1 --mode 1920x1080 --fb 1920x1080 --panning 1920x1080на ноутбуке я возвращаюсь в нормальное состояние. Вы можете добавить xrandr --HDMI2 --offдо этого, если хотите избежать предупреждения xrandr.
joelostblom
6
xrandr --fb 1920x1080 --output LVDS1 --mode 1600x900 --scale-from 1920x1080 --output HDMI1 --mode 1920x1080 --scale 1x1 --same-as LVDS1

или вы можете сделать это другим способом, чтобы использовать разрешение LVDS1 в качестве базового разрешения, но тогда у вас будет более низкое качество по HDMI1.

Ярно
источник
Примечание: для перечисления ваших дисплеев используйтеxrandr --listactivemonitors
VasyaNovikov
3

Кажется, что xrandrэто не очень хорошо для обработки двух мониторов в --same-asконфигурации, когда мониторы не имеют одинакового разрешения. Воздержитесь от возврата к наивысшему общему разрешению обоих мониторов (такое разрешение может быть неудовлетворительным или даже не может существовать), чтобы обойти эту --scaleпроблему. Если вы хотите [monitor 1]с разрешением [resx1]x[resy1]и [monitor 2]разрешением [resx2]x[resy2], вы можете использовать, например,

xrandr --output [monitor 1] --mode [resx1]x[resy1] --output [monitor 2] --same-as [monitor 1] --scale `echo "[resx1]/[resx2]" | bc -l`x`echo "[resy1]/[resy2]" | bc -l`

где `echo "[res*1]/[res*2]" | bc -l`вычислить желаемые соотношения. Не гарантируя идеальное качество, хотя; Кроме того, имейте в виду, что качество резолюций, указанных выше, ограничено разрешением [monitor 1].

Хьюго Рагет
источник
3

используйте xrandr --scale-from ...опцию.

xrandr --output LVDS1 --scale-from 1920x1080 уменьшит изображение внешнего монитора высокого разрешения (HDMI1) до монитора ноутбука LVDS1 с более низким разрешением.

Сюзанна Оберхаузер
источник
1
Примечание для людей с различным соотношением сторон (например, ультраширокий 21: 9 и ноутбук 16: 9) заключается в том, что экран ноутбука будет выглядеть горизонтально сжатым. Я также заметил, что включение и выключение --scale-fromрежима делает мой экран черным или я не могу ничего щелкнуть. Решением для меня было перейти на другой tty (например, alt + ctrl + F2), а затем вернуться к основному tty (F1). Однако это не всегда работало, и иногда я перемещался по экрану вслепую, поэтому это могло быть Хорошая идея попробовать это, когда у вас нет ничего важного открытого и вы можете позволить себе перезагрузку
Joelostblom
2

Установка разрешения - это то, что делает источник xrandr , если указать --same-asотношение:

case relation_same_as:
    output->x = relation->x;
    output->y = relation->y;

ты пытался:

xrandr --output HDMI1 --mode 1920x1080 --output LSVD1 --mode 1600x900 --same-as HDMI1

?

Zelda
источник
1
Вы неверно истолковали эту цитату источника. То xи yотносится к положению, а не к разрешению . Следовательно, --same-asмонитор имеет одинаковое положение в верхнем левом углу. Вы, конечно, можете установить разные разрешения и по-прежнему использовать --same-as.
Златовласка