xrandr два экрана с разным разрешением без невидимой области

Обновление: проблема устранена сама собой. Должно быть, это произошло с обновлением драйверов xrandr, Xorg, nvidia или Intel gpu или чего-то еще, но все снова работает нормально! Ведь это была не моя вина...

У моего ноутбука экран 4K (3840x2160) (двойной графический процессор, nvidia-prime), и иногда я хочу подключить свой телевизор Full HD к порту HDMI, чтобы посмотреть видео. Я предпочитаю, чтобы телевизор не отражал мой экран 4K.

Итак, я запускаю arandr и включаю вход HDMI. При моей предыдущей установке этого ноутбука (Linux Arch) мой экран 4K стал ограничен 1920x1080, поэтому 3/4 экрана были непригодны для использования, даже если не отражались, но тогда я просто использовал зеркало для просмотра видео, которое было ограничено до 1/4 экрана 4K, являясь полноценным телевизором. На моей новой установке этого ноутбука (опять же, Linux Arch) размер моего рабочего стола, кажется, изменяется до 5760x2160, из-за чего телевизор показывает только верхнюю половину экрана и неправильно показывает видео, потому что видеоприложение считает, что мой экран 1920x2160.

Так что ни одна из ситуаций не была именно такой, какой я хотел. Я хочу, чтобы он работал так же, как в Windows (или как моя установка Arch на моем настольном ПК, где у меня есть экран Full HD слева и экран 1:1 2K справа, там он работает отлично): один Экран 4K слева, один экран Full HD справа, мышь не может пройти через нижнюю часть экрана слева направо, поэтому рабочий стол слева 3840x2160, справа 1920x1080, а правый экран имеет тот же верхний край, поэтому мышь остается сверху, когда я перехожу к правому экрану.

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

Я пробовал так много вещей, но, кажется, я неправильно понимаю варианты или что-то в этом роде, потому что что бы я ни пытался, это не работает, как я ожидаю.

Самое простое, что я пробовал, было просто: xrandr --output HDMI-1-0 --auto --right-of eDP-1 --mode 1920x1080 --pos 3840x0. Я пытался добавить --fb 1920x1080. Кажется, это не работает.

Может ли кто-нибудь помочь мне понять это, может быть, даже помочь мне настроить его?

Редактировать: я не знаю, важно ли это, но я использую i3.

Редактировать: если я изменю разрешение экрана 4K на 1920x1080, зеркалирование будет работать отлично. Это единственный полезный способ, но это все еще не то, что я хочу.

Редактировать: это так странно, я только что сделал xrandr --output eDP-1 --auto --output HDMI-1-0 --auto --right-of eDP-1, и мой телевизор теперь показывает пустой рабочий стол, но моя мышь ограничена экраном 4K, и когда я нахожусь в верхней левой области, мышь также отображается на телевизоре.. .. такое ощущение, что телевизор показывает правую часть экрана 4K, но мышь находится в левой верхней части.

Изменить: еще одна вещь, которую я пробовал, не работает: xrandr --output eDP-1 --mode 3840x2160 --fb 3840x2160 --output HDMI-1-0 --mode 1920x1080 --fb 1920x1080 --right-of eDP-1 xrandr: specified screen 1920x1080 not large enough for output eDP-1 (3840x2160+0+0) xrandr: specified screen 1920x1080 not large enough for output HDMI-1-0 (1920x1080+3840+0)


person scippie    schedule 14.09.2020    source источник
comment
Может кто-нибудь объяснить, почему я получаю -1 на этот вопрос?   -  person scippie    schedule 15.09.2020
comment
У кого-то был плохой день :)   -  person undg    schedule 16.09.2020


Ответы (3)


Вы пробовали такие инструменты, как arandr ? Они помогают вам настраивать такие вещи визуально, с помощью меню и выпадающих списков для различных параметров.

Ссылка: https://christian.amsuess.com/tools/arandr/

person znpy    schedule 14.09.2020
comment
Да, как я уже сказал в своем OP, я тоже не могу сделать это с arandr. Я получу большой экран 5760x2160, поэтому под телевизором есть часть 1920x1080, которая доступна и используется, но нигде не видна. - person scippie; 14.09.2020

В arandr вы можете сохранить макет как простой скрипт sh (Макет->Сохранить как или синяя иконка). Сделайте его исполняемым (chmod +x) и запустите как любой другой скрипт.

person undg    schedule 14.09.2020
comment
Я знаю, но я тоже не могу понять это правильно в арандре. Те же проблемы... - person scippie; 14.09.2020
comment
Я тоже не могу сделать это с arandr. Я получу большой экран 5760x2160, поэтому под телевизором есть часть 1920x1080, которая доступна и используется, но нигде не видна. - person scippie; 14.09.2020
comment
Я только что сделал (HDMI выше / слева от 4k), и он вообще не работает, моя строка состояния i3 удваивается поверх моего экрана 4k, и телевизор показывает что-то недоступное. Если я подниму мышь, она автоматически переместится в вертикальное положение на 1/4 ниже (????). Только если я очень быстро двигаюсь вверх, моя мышь переходит в верхний экран. Все, что я пытаюсь там открыть, частично отображается там и перекрывает все на экране 4K. Другими словами, два экрана работают как один странный рабочий экран. Это ужасно... - person scippie; 14.09.2020
comment
Еще более странно, когда я сейчас пытаюсь переместить экран HDMI вправо от экрана 4K. arandr сразу переворачивает его под экран 4K, в то время как сам экран показывает что-то другое (не зеркальное), но мышь соответствует размещению arandr. - person scippie; 14.09.2020
comment
Вы проверяли это (необнаруженное разрешение)? wiki.archlinux.org/index.php/ - person undg; 14.09.2020
comment
Да, у меня есть. Но показанные разрешения являются правильными разрешениями, поэтому я не думаю, что это поможет... - person scippie; 14.09.2020
comment
Просто похоже, что система не хочет видеть второй экран как отдельный экран рабочего стола, только как единое целое, и, позиционируя экран по-другому, не знает, как с этим правильно обращаться. На моем настольном ПК мои два экрана разделены, мой i3 показывает там разные рабочие области. Это не тот случай здесь. - person scippie; 14.09.2020
comment
Это должно быть как два отдельных экрана. Вот как у меня с 2xHD 1x2K imagy.me/ao21t15792 - person undg; 14.09.2020
comment
у тебя нвидиа? может это (твинвью) ? wiki.archlinux.org/index.php/Multihead#TwinView - person undg; 14.09.2020
comment
То, как вы настраиваете свои экраны, я думаю, так же делаю и я. Почему здесь не работает?? Но вы упоминаете TwinView, который предназначен для двух экранов nvidia. Я думаю, что мой ноутбук помещает экран 4K на графический процессор Intel, но я думаю, что выход HDMI - это выход nvidia. Может в этом проблема? - person scippie; 14.09.2020
comment
Из того, что вы говорите, похоже, что с 4k создается виртуальный дисплей, чего вы не хотите иметь. wiki.archlinux.org/index.php/ Возможно, это поможет отладить твоя проблема... - person undg; 16.09.2020
comment
Не похоже, если я делаю xrandr --listmonitors, я получаю два отдельных монитора, 4k: 3840/344x2160/194+0+0 и FullHD: 1920/698x2160/392+3840+0, где 2160 явно неправильно и должно быть 1080, но я не могу его изменить. Но я имею в виду, что они, похоже, не объединены в один большой виртуальный дисплей. - person scippie; 22.09.2020
comment
И я не могу изменить второй размер экрана. Я предполагаю, что это «виртуальный экран» для второго монитора, и ни --size, --mode, --panning с правильными значениями не могут изменить его размер. - person scippie; 22.09.2020

Проблема решилась сама собой с обновлениями, будь то в xrandr, Xorg, nvidia, intel, ... Те же самые команды xrandr, которые не работали тогда, теперь работают отлично.

person scippie    schedule 10.02.2021