Вручную добавить разрешение в Gnome с помощью Wayland
Я использую Gnome на Arch Linux с VMWare.
Когда я захожу в окно настроек, я не могу найти свое разрешение (1920x1080).
Я недавно использовал LightDM, и я добавил запись в /etc/X11/xorg.conf.d
с моим разрешением, но теперь я использую GDM вместо LightDM, и кажется, что моя конфигурация ничего не меняет, потому что GDM использует Wayland (поправьте меня, если я ошибаюсь).
Я не мог найти способ сделать то же самое, что я сделал для X11
но с Уэйлендом.
Итак, мой вопрос: как мы можем вручную добавить разрешение в Wayland?
3 ответа
tldr - В Gnome вы можете установить параметр загрузки ядра, чтобы вручную переопределить разрешение вашего монитора. Если вы используете реализацию Weston (которая, очевидно, не Gnome), вы можете настроить различные разрешения в ~/.config/weston.ini
Я долго боролся с этим, и я нашел компромисс, который пока работает хорошо. Тем не менее, я надеюсь, что есть лучший способ, поэтому, пожалуйста, дайте мне знать, если есть.
С Уэстоном (не проверено)
Сначала я думал, что Gnome использовал Weston для своего слоя Wayland, но, очевидно, это не работает. Однако если вы используете Weston, вы можете настроить разрешение внешних дисплеев в ~/.config/weston.ini
:
[output]
name=VGA1
mode=173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Выходное имя должно быть именем вашего дисплея. На Arch вы можете запустить эту команду, чтобы узнать, какие дисплеи подключены:
for p in /sys/class/drm/*/status; do con=${p%/status}; echo -n "${con#*/card?-}: "; cat $p; done
Чтобы получить правильное значение для моделин, вы можете запустить cvt 1920 1080
или с любым разрешением, которое вам нужно. Более подробная информация здесь: https://wiki.archlinux.org/index.php/Wayland
С гномом
Кажется, у Gnome нет способа настроить разрешение экрана (по крайней мере, пока). Поэтому я нашел отчет об ошибке, в котором упоминается этот параметр загрузки ядра, который можно использовать для переопределения разрешения для дисплеев. Для получения более подробной информации прочитайте соответствующую документацию, но в моей системе мне нужно было настроить отображение "DP-1" на 1920x1080 при 60 Гц, поэтому я добавил эту строку в параметры загрузки:
video=DP-1:1920x1080@60
Я использую systemd-boot, поэтому я добавил это к своему options
линия в /boot/loader/entries/arch.conf
, Если вы используете GRUB или что-то еще, ваши шаги будут другими для добавления этого параметра загрузки.
Я на самом деле не уверен, что произойдет сейчас, если я загружусь с этой опцией, а затем подключу дисплей с другим разрешением. Будет ли этот параметр загрузки переопределять это, или это запасной вариант, когда автоматическое обнаружение не удается? Я не знаю. Поскольку я не уверен, я добавил вторую загрузочную запись, в которой этот параметр не указан. Поэтому иногда мне может потребоваться перезагрузка, чтобы получить правильное разрешение на внешнем дисплее. Но в остальном работает нормально.
Этот ответ представляет собой повторение принятого выше ответа с особым упором на Gnome и объяснением того, как найти имя устройства. Я пытался подключить второй экран к своему ноутбуку под управлением Debian GNU/Linux 10 (buster) с рабочим столом Gnome. Рекомендуемое разрешение для этого экрана — 1920x1200 . Проблема заключалась в том, что разрешение было ниже, а в меню настроек было доступно только 2 параметра:
Найти имя устройства
Устройства можно увидеть в/sys/class/drm/
доступные разрешения видны в файле режимов:
$ cat /sys/class/drm/card0-DP-2/modes
1024x768
800x600
800x600
848x480
640x480
$ cat /sys/class/drm/card0-eDP-1/modes
1920x1080
1920x1080
В моем случае имя рассматриваемого экранаDP-2
.
Введите имя устройства в параметре загрузки
В этом ответе на сайте Ask Ubuntu объясняется, как добавить новое разрешение в параметр загрузки ядра.
sudo vim /etc/default/grub
Затем отредактировал эту строку
GRUB_CMDLINE_LINUX_DEFAULT="quiet video=DP-2:1920x1200@60"
Затем обновите grub:
sudo update-grub
После перезагрузки новое разрешение становится доступным:
Использование метода, предложенного Полем Ружье, в моем случае оказалось успешным. Однако мне не удалось заставить его работать с частотой 60 Гц, которую я попробовал первым, и ошибок не появилось. Случайно попробовал 30 и 45, и это сработало.