Конфигурация экранов не сохраняется

Вопрос или проблема

Я оборудовал свое рабочее место следующим образом:

 ЦП: 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 работает некорректно: окна не отображаются на экране, и, как следствие, вы вынуждены выходить из системы и входить снова. После повторного входа ваши настройки экранов сбрасываются. Кроме того, проблемы возникают и при возвращении из режима сна.

Возможные причины

  1. Конфликт настроек дисплея: Различия в настройках между графической оболочкой и GDM могут вызывать сброс конфигурации.
  2. Скорость пробуждения экранов: Разное время пробуждения мониторов может влиять на стабильность отображения, создавая конфликты при их повторном активации.
  3. Кэширование конфигураций: Некоторые параметры могут кэшироваться, что приводит к несоответствию между запрашиваемыми и фактическими настройками.

Решения проблемы

  1. Загрузка конфигурации через скрипт: Создайте сценарий, который будет автоматически запускаться при входе в систему и восстанавливать ваши настройки экранов. Используйте команду 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

    Сохраните его, сделайте исполняемым и добавьте в автозагрузку.

  2. Использование файла конфигурации GDM: Убедитесь, что вы правильно скопировали и указали права на файл monitors.xml. Также проверьте, что в нем указаны корректные настройки.

  3. Тестирование разных версии драйверов: Иногда проблема может быть связана с использованием открытых драйверов. Попробуйте установить проприетарный драйвер AMD, если он доступен для вашей видеокарты.

  4. Настройка Xorg: Создайте/отредактируйте файл /etc/X11/xorg.conf, чтобы жестко задать настройки для каждого экрана. Это поможет улучшить процесс инициализации конфигурации дисплеев.

  5. Отключение режимов энергосбережения для мониторов: В некоторых случаях отключение функций отключения изображения и автоматической блокировки может устранить проблемы с пробуждением.

Ответ на бонусный вопрос

Существует несколько методов настройки ориентации дисплея на уровне загрузки:

  • Вы можете использовать параметр video= в GRUB для задания параметров видеовывода. Например, использование аргумента, такого как video=DP-4:3840x2160@60, может помочь задать разрешение при загрузке.
  • С помощью файла конфигурации /etc/default/grub добавьте необходимые параметры видеовывода и выполните команду update-grub.

Заключение

Настройка многоэкранной системы под управлением Ubuntu может быть проблематичной, но с использованием правильных инструментов и подходов можно добиться стабильности и надежности. Следуя предложенным шагам и рекомендациям, вы сможете минимизировать возникающие проблемы и настроить своё рабочее место под себя.

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

Оцените материал
Добавить комментарий

Капча загружается...