Как правильно перенести настройки xrandr в xorg.conf?

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

Я выполнил несколько команд xrandr, чтобы настроить все свои мониторы так, как мне нужно. Затем я использовал autorandr, чтобы сохранить состояние в конфигурационный файл, приведенный здесь:

hanke@debian ~ » cat .config/autorandr/3-displays/config 
output DP-1
off
output DP-2
off
output DP-3
off
output DP-4
off
output DP-5
off
output DVI-D-0
crtc 1
mode 1600x900
pos 3840x0
rate 59.98
rotate left
output DP-0
crtc 0
mode 1920x1080
pos 1920x191
primary
rate 144.00
output HDMI-0
crtc 2
mode 1920x1080
pos 0x260
rate 60.00

Я использовал autorandr --change 3-displays в скрипте запуска моего оконного менеджера для настройки дисплеев, но я сталкиваюсь с проблемами с этим подходом, если я включаю lightdm для получения экрана приветствия/входа, который запускается до моего оконного менеджера, и соответственно до того, как мои мониторы будут настроены правильно. Из-за этого экран входа отображается на неправильных мониторах с неправильными разрешениями и ориентацией.

Из-за этого я теперь хочу перенести эти настройки в конфигурационный файл /etc/X11/xorg.conf.

Вот моя попытка на данный момент:

Section "Monitor"
        Identifier      "DP-0"
        Option          "Position"      "1920 191"
        Option          "Primary"       "true"
        Option          "PreferredMode" "1920x1080_144.00"
        Option          "Enable"        "true"
EndSection

Section "Monitor"
        Identifier      "HDMI-0"
        Option          "Position"      "0 260"
        Option          "PreferredMode" "1920x1080_60.00"
        Option          "Enable"        "true"
EndSection

Section "Monitor"
        Identifier      "DVI D-0"
        Option          "Rotate"        "left"
        Option          "Position"      "3840 900"
        Option          "PreferredMode" "1600x900_59.98"
        Option          "Enable"        "true"
EndSection

Section "Monitor"
        Identifier      "DP-1"
        Option          "Enable"        "false"
EndSection

Section "Monitor"
        Identifier      "DP-2"
        Option          "Enable"        "false"
EndSection

Section "Monitor"
        Identifier      "DP-3"
        Option          "Enable"        "false"
EndSection

Section "Monitor"
        Identifier      "DP-4"
        Option          "Enable"        "false"
EndSection

Section "Monitor"
        Identifier      "DP-5"
        Option          "Enable"        "false"
EndSection

К сожалению, это, похоже, не работает. Мой игровой дисплей не настраивается на частоту обновления 144 Гц, ориентация на моем DVI-экране совершенно неверная, и позиции тоже, похоже, игнорируются.

Ранее у меня возникали проблемы с startx из-за неверных значений xorg.conf, но с использованием этой конфигурации он запускается без сбоев.

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

Запускать кучу команд xrandr в скриптах кажется неаккуратным. Файл xorg.conf выглядит как правильный способ, но у меня не получается добиться его корректной работы.

Буду признателен за любую помощь.

Это не совсем то, что вы спрашиваете, но Xorg -configure должен настроить все, и возможно, вам просто нужно изменить порядок некоторых вещей. Ваш текущий xorg.conf не содержит раздела компоновки, и некоторые элементы находятся не на своих местах, но если вы выполните команду, он напишет все это за вас.

Если я правильно помню, эта команда по умолчанию будет использовать синтаксис стиля “Правее” для Screen0, но, похоже, вам нужно будет изменить это. Так что что-то вроде

С:

    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" "RightOf" Screen0
    Screen      2  "Screen2" "RightOf" Screen1

На:

    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 1600 0
    Screen      2  "Screen2" 3520 0

Ответ или решение

Чтобы правильно перенести настройки xrandr в файл конфигурации xorg.conf, необходимо учесть несколько ключевых аспектов. Так как вы уже используете autorandr для настройки мониторов, важно не упустить детали при переносе этих настроек в статический файл конфигурации X. Вот шаги, которые помогут вам сделать это корректно.

Шаг 1: Понимание секций xorg.conf

Файл xorg.conf состоит из нескольких секций. Для настройки мониторов вам понадобятся следующие секции:

  1. Section "Monitor" – для каждого монитора.
  2. Section "Screen" – для указания порядка подключения экранов и их параметров.
  3. Section "Device" – для описания графического устройства.

Шаг 2: Создание секций для мониторов

На основе вашего вывода конфигурации autorandr вам нужно будет определить следующие параметры для каждой секции монитора.

  • Identifier – Название монитора.
  • Option – Параметры, такие как Положение, Основной, Предпочитаемый режим и Включено.

Ваша текущая конфигурация выглядит неплохо, но вам нужно добавить параметр Option "Rotate" в правильную секцию. Например:

Section "Monitor"
    Identifier      "DP-0"
    Option          "Position"      "1920 191"
    Option          "Primary"       "true"
    Option          "PreferredMode" "1920x1080_144.00"
EndSection

Section "Monitor"
    Identifier      "HDMI-0"
    Option          "Position"      "0 260"
    Option          "PreferredMode" "1920x1080_60.00"
EndSection

Section "Monitor"
    Identifier      "DVI-D-0"
    Option          "Rotate"        "left"
    Option          "Position"      "3840 0"
    Option          "PreferredMode" "1600x900_59.98"
EndSection

Шаг 3: Определение секции экрана

Каждый экран должен быть определен в секции Section "Screen" и указывать на используемые мониторы. Это позволит X-серверу правильно учитывать размещение и разрешения. Пример:

Section "Screen"
    Identifier "Screen0"
    Device     "Device0"
    Monitor    "DP-0"
    Option     "PreferredMode" "1920x1080_144.00"
EndSection

Section "Screen"
    Identifier "Screen1"
    Device     "Device0"
    Monitor    "HDMI-0"
EndSection

Section "Screen"
    Identifier "Screen2"
    Device     "Device0"
    Monitor    "DVI-D-0"
EndSection

Шаг 4: Установка порядка отображения

Убедитесь, что вы правильно настраиваете порядок экрана в зависимости от ваших позиций. Определите их как в вашем autorandr, например:

    Screen "Screen0" "DP-0" 0 0
    Screen "Screen1" "HDMI-0" "RightOf" "Screen0"
    Screen "Screen2" "DVI-D-0" "RightOf" "Screen1"

Шаг 5: Проверка параметров устройства

Вам также может понадобиться создать секцию Section "Device", в которой указывается ваше графическое устройство. Например:

Section "Device"
    Identifier "Device0"
    Driver     "nvidia"  # или ваш драйвер
EndSection

Итог

Полный пример вашего xorg.conf может выглядеть так:

Section "Device"
    Identifier "Device0"
    Driver     "nvidia"
EndSection

Section "Monitor"
    Identifier "DP-0"
    Option     "Position"      "1920 191"
    Option     "Primary"       "true"
    Option     "PreferredMode" "1920x1080_144.00"
EndSection

Section "Monitor"
    Identifier "HDMI-0"
    Option     "Position"      "0 260"
    Option     "PreferredMode" "1920x1080_60.00"
EndSection

Section "Monitor"
    Identifier "DVI-D-0"
    Option     "Rotate"        "left"
    Option     "Position"      "3840 0"
    Option     "PreferredMode" "1600x900_59.98"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Device0"
    Monitor    "DP-0"
EndSection

Section "Screen"
    Identifier "Screen1"
    Device     "Device0"
    Monitor    "HDMI-0"
EndSection

Section "Screen"
    Identifier "Screen2"
    Device     "Device0"
    Monitor    "DVI-D-0"
EndSection

Заключение

После выполнения этих пунктов вы можете проверить работу вашего xorg.conf, перезапустив X-сервер. Используйте команду startx или перезагрузите систему. Убедитесь, что конфигурация корректная, и все мониторы работают в соответствии с вашими требованиями. Надеюсь, эти рекомендации помогут вам добиться желаемого результата.

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

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