Вопрос или проблема
Я оборудовал свое рабочее место следующим образом:
ЦП: AMD Ryzen 7 3800X
MB: ASRock B550 Phantom Gaming 4
ГП: Radeon PRO WX 5100
Я подключил 4 экрана через Display port:
- 3 x Philips 245E (24 дюйма)
- 1 x Philips Brilliance 328P (32 дюйма 4k) (основной экран)
Работаю на Ubuntu 24.10 с открытым драйвером AMD
А конфигурация мониторов выглядит так:
настройка мониторов
где:
1: нормальный (dpi 100%)
2: перевернутый на 180 градусов (dpi 100%)
3: перевернутый на 90 градусов (dpi 100%)
4: перевернутый на 90 градусов (dpi: 125%)
Я настроил свои мониторы с помощью встроенного инструмента Ubuntu из настроек, который сгенерировал файл monitors.xml:
<monitors version="2">
<configuration>
<layoutmode>logical</layoutmode>
<logicalmonitor>
<x>2560</x>
<y>0</y>
<scale>1.25</scale>
<primary>yes</primary>
<transform>
<rotation>right</rotation>
<flipped>no</flipped>
</transform>
<monitor>
<monitorspec>
<connector>DP-4</connector>
<vendor>PHL</vendor>
<product>PHL 328P6V</product>
<serial>0x00000866</serial>
</monitorspec>
<mode>
<width>3840</width>
<height>2160</height>
<rate>59.997</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>0</x>
<y>1440</y>
<scale>1</scale>
<monitor>
<monitorspec>
<connector>DP-1</connector>
<vendor>PHL</vendor>
<product>PHL 245E1</product>
<serial>0x000052a3</serial>
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>59.951</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1</scale>
<transform>
<rotation>upside_down</rotation>
<flipped>no</flipped>
</transform>
<monitor>
<monitorspec>
<connector>DP-2</connector>
<vendor>PHL</vendor>
<product>PHL 245E1</product>
<serial>0x0000590b</serial>
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>59.951</rate>
</mode>
</monitor>
</logicalmonitor>
<logicalmonitor>
<x>4288</x>
<y>258</y>
<scale>1</scale>
<transform>
<rotation>right</rotation>
<flipped>no</flipped>
</transform>
<monitor>
<monitorspec>
<connector>DP-3</connector>
<vendor>PHL</vendor>
<product>PHL 245E1</product>
<serial>0x00005906</serial>
</monitorspec>
<mode>
<width>2560</width>
<height>1440</height>
<rate>59.951</rate>
</mode>
</monitor>
</logicalmonitor>
</configuration>
</monitors>
Также, чтобы синхронизировать GDM3 с этой настройкой, я скопировал его в:
/var/lib/gdm3/.config/monitors.xml
Также изменил владельца этого файла на gdm:gdm
/var/lib/gdm3/.config
total 20
drwx------ 2 gdm gdm 4096 Oct 21 15:43 dconf
drwx------ 3 gdm gdm 4096 Oct 21 15:43 gnome-session
drwx------ 3 gdm gdm 4096 Oct 21 15:43 ibus
-rw-r--r-- 1 gdm gdm 2237 Oct 30 10:20 monitors.xml
drwxr-xr-x 2 gdm gdm 4096 Oct 21 15:43 pulse
Проблема
При холодной загрузке моя оболочка gnome сломана. Что я имею в виду? Рабочий стол отображается почти идеально, но окна не видны, я вижу их предварительный просмотр на панели задач, я вижу их, когда нажимаю ALT + Tab, но кроме этого они не отображаются, также нет звука при входе и нет значков на рабочем столе.
Чтобы сделать систему используемой, мне нужно выйти из системы и снова войти, но тогда настройка моего экрана пропала, но не только настройка экрана, также мой гном-расширение [email protected]
теряет часть конфигурации (например, дополнительные элементы становятся видимыми, где я ранее установил их скрыть), я думаю, это связано со сменой основного монитора, когда конфигурация экрана возвращается к первоначальной.
Ранее у меня была Nvidia Quadro M2000, но у меня были проблемы с пробуждением моего ПК (после того как он уснет, он никогда не просыпается), и у меня также были аналогичные проблемы с настройкой мониторов.
Иногда, когда ПК уходит в спячку и я его пробуждаю, конфигурация экрана снова неправильная. (возможно, это связано с разным временем пробуждения моих экранов (32 дюйма просыпается дольше, чем меньший). Но это не происходит часто, но все же.
Что я уже пытался:
- обновление до последней версии,
- проверка различных дистрибутивов (elementary_os, open suse, mint) (все они имеют проблемы с обработкой нескольких экранов)
- попытка добавить EIDI в grub
- когда я использовал дистрибутив с X11, я пробовал различные конфигурации xorg.conf
Это действительно меня беспокоит, так как у нас 2024 год, и многоэкранные настройки не являются чем-то необычным.
Что я могу попробовать, чтобы сделать его надежным и стабильным?
Есть ли способ жестко закодировать настройку экрана, чтобы всегда иметь такую настройку? Нужно ли мне вернуться к использованию какого-либо скрипта для настройки моих экранов после входа или что-то еще?
Бонусный вопрос:
Есть ли способ настроить ориентацию дисплея на ранних стадиях (например, при загрузке?), чтобы иметь правильную ориентацию в “текстовом режиме” linux тоже?
Ответ или решение
Настройка экранов не сохраняется: Решения проблемы для рабочего места
Введение
Ваше рабочее место, оснащенное мощным оборудованием, таким как CPU AMD Ryzen 7 3800X и графическим процессором Radeon PRO WX 5100, неизменно сталкивается с проблемой сохранения настройки нескольких экранов под управлением Ubuntu 24.10 с использованием открытых драйверов AMD. В данной статье мы рассмотрим причины данной проблемы и предложим возможные решения, которые помогут обеспечить стабильность и надежность вашей конфигурации.
Описание проблемы
Вы сталкиваетесь с ситуацией, когда настройки экранов не сохраняются после перезапуска или выхода из системы. Это проявляется в том, что при холодном старте оболочка GNOME работает некорректно: окна не отображаются на экране, и, как следствие, вы вынуждены выходить из системы и входить снова. После повторного входа ваши настройки экранов сбрасываются. Кроме того, проблемы возникают и при возвращении из режима сна.
Возможные причины
- Конфликт настроек дисплея: Различия в настройках между графической оболочкой и GDM могут вызывать сброс конфигурации.
- Скорость пробуждения экранов: Разное время пробуждения мониторов может влиять на стабильность отображения, создавая конфликты при их повторном активации.
- Кэширование конфигураций: Некоторые параметры могут кэшироваться, что приводит к несоответствию между запрашиваемыми и фактическими настройками.
Решения проблемы
-
Загрузка конфигурации через скрипт: Создайте сценарий, который будет автоматически запускаться при входе в систему и восстанавливать ваши настройки экранов. Используйте команду
xrandr
для определения и задания нужной конфигурации. Пример скрипта:#!/bin/bash xrandr --output DP-4 --mode 3840x2160 --primary --rotate right --scale 1.25 xrandr --output DP-1 --mode 2560x1440 --rotate normal --scale 1 xrandr --output DP-2 --mode 2560x1440 --rotate inverted --scale 1 xrandr --output DP-3 --mode 2560x1440 --rotate right --scale 1
Сохраните его, сделайте исполняемым и добавьте в автозагрузку.
-
Использование файла конфигурации GDM: Убедитесь, что вы правильно скопировали и указали права на файл
monitors.xml
. Также проверьте, что в нем указаны корректные настройки. -
Тестирование разных версии драйверов: Иногда проблема может быть связана с использованием открытых драйверов. Попробуйте установить проприетарный драйвер AMD, если он доступен для вашей видеокарты.
-
Настройка Xorg: Создайте/отредактируйте файл
/etc/X11/xorg.conf
, чтобы жестко задать настройки для каждого экрана. Это поможет улучшить процесс инициализации конфигурации дисплеев. -
Отключение режимов энергосбережения для мониторов: В некоторых случаях отключение функций отключения изображения и автоматической блокировки может устранить проблемы с пробуждением.
Ответ на бонусный вопрос
Существует несколько методов настройки ориентации дисплея на уровне загрузки:
- Вы можете использовать параметр
video=
в GRUB для задания параметров видеовывода. Например, использование аргумента, такого какvideo=DP-4:3840x2160@60
, может помочь задать разрешение при загрузке. - С помощью файла конфигурации
/etc/default/grub
добавьте необходимые параметры видеовывода и выполните командуupdate-grub
.
Заключение
Настройка многоэкранной системы под управлением Ubuntu может быть проблематичной, но с использованием правильных инструментов и подходов можно добиться стабильности и надежности. Следуя предложенным шагам и рекомендациям, вы сможете минимизировать возникающие проблемы и настроить своё рабочее место под себя.
Проявляя терпение и готовность к экспериментам, вы создадите комфортное и функциональное пространство для работы с несколькими мониторами, что, безусловно, будет отражаться на вашей продуктивности.