Настройка поворота экрана в Debian и Gnome

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

Я только что установил Debian 10 на свой GPD Pocket 2, и он работает отлично, кроме того, что экран не поворачивается постоянно при входе в систему.

В настоящее время я могу повернуть экран, выбрав “GNOME on xorg” из меню шестеренки при входе в систему, а затем запустив xrandr --screen 0 -o right, но это быстро станет утомительным.

Я попробовал несколько решений для xorg, но не добился успеха. Я создал следующий скрипт на основе https://github.com/joshskidmore/gpd-pocket-2-arch-guide#install-xorg-packages и https://unix.stackexchange.com/questions/103460/how-to-change-gnome-default-screen-rotation:

Section "Monitor"
  Identifier    "eDP1"
  Option        "Rotate"                 "right"
EndSection

И я установил это в следующих местах:

  • /etc/X11/xorg.conf (редактирование текущего раздела “monitor”)
  • /etc/X11/xorg.conf.d/ (я создал этот каталог, затем создал “30-display.conf” с указанными выше настройками)
  • /usr/share/X11/xorg.conf.d (просто добавил файл “30-display.conf”)

И все это приводит к мерцанию при входе. Я вижу черный всплеск (похожий на тот, когда я выполняю xrandr после входа), затем квадрат, заполненный статическим серым цветом, примерно на 1 секунду дважды, затем загружается экран в “нормальной” / боковой ориентации.

Даже когда я добавляю xrandr --screen 0 -o right в ~/.profile, наблюдается тот же эффект. Это работает, когда я помещаю его в ~/.bashrc, но это происходит после входа в систему, и опять же, я хотел бы автоматизировать эту конфигурацию.

У меня есть чувство, что Debian пытается применить конфигурацию, но что-то конфликтует. Как мне действовать в этом направлении?

ИЗМЕНЕНИЕ: Некоторая новая информация

Я определил свой менеджер экрана согласно https://unix.stackexchange.com/a/20376/293647, и это:

/usr/sbin/gdm3

После того как я прочитал следующую ссылку, я узнал об GDM:

https://wiki.archlinux.org/index.php/GDM#Rotate_login_screen

Изменения вступают в силу при выходе из системы. Это необходимо, потому что GDM не уважает xorg.conf.

Наверное, поэтому я не могу добиться поворота с помощью xorg. Так что делать дальше?

ИЗМЕНЕНИЕ 2:

https://www.reddit.com/r/GPDPocket/comments/ao95t9/tracking_touch_screen_calibration_issue_on_pocket/eg0odbe?utm_source=share&utm_medium=web2x

GNOME все еще не ориентирован, но этот код из вышеприведенной ссылки ориентирует grub!

sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
sudo update-grub # многие руководства пропускают этот шаг

Я нашел довольно кривое решение, но оно требует свежей установки Debian. Позвольте объяснить.


В попытке исправить экран я обновил свой драйвер видеокарты Intel.

https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel

Чего я не ожидал, так это того, что этот драйвер заблокирует GNOME и не позволит мне вносить изменения через настройки -> экран -> ориентация, и именно поэтому я искал основанное на коде решение. Как я упомянул в редактировании выше, у системы GPD Pocket 2 с Debian 10 и GNOME по умолчанию используется GDM в качестве менеджера экрана, поэтому любое основанное на xorg решение потерпит неудачу.

Таким образом, первый шаг к решению этой проблемы заключался в переустановке Debian. Это было возможно для меня, потому что я только начинал настраивать свой Pocket 2, но я также осознаю, что это неприемлемо для всех аналогичных ситуаций. В этой связи я не собираюсь принимать свой ответ и буду ждать более подробного объяснения и решения для постоянного исправления экрана. Но пока, возможно, стоит рассмотреть следующую кривую процедуру.


1) Предполагая, что у вас свежая установка, давайте сначала исправим grub. В терминале:

sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
sudo update-grub                    # многие руководства пропускают этот шаг

Это будет ориентировать вывод системы при загрузке и ваши консоли grub (например, через function+alt+2) но это не исправляет экран входа. Это остается одной из частей этой головоломки, для которой у меня нет решения, но идем дальше.

2) Далее давайте соберем наш кривой автоматический поворот экрана.

Сначала перейдите в настройки -> экран -> ориентация и выберите ориентацию портрет слева и разрешение 1200x1920.

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

3) Если вы хотите автоматически загрузить улучшенную ориентацию, вот что я сделал.

Затем перейдите в Настройки -> Автозагрузка приложений и выберите Терминал.

Наконец, в вашем файле ~/.bashrc введите следующий код где угодно:

res=$(xrandr | grep \* | cut -d' ' -f4)
if [ "$res" != "600x960_60.00" ]; then
    xrandr --newmode "600x960_60.00" 47.25 600 640 696 792 960 963 973 996 -hsync +vsync
    # предыдущая строка была взята из: https://superuser.com/a/716837/1078490
    # вам, возможно, придется настроить строку в соответствии с вашими выводами cvt
    xrandr --addmode eDP-1 "600x960_60.00"
    xrandr --output eDP-1 --mode "600x960_60.00"
fi

Теперь, когда вы войдете в систему, терминал запустится, а .bashrc автоматически выполнит настройки разрешения. Это не идеально, так как открытие/закрытие крышки не вызовет этот скрипт, и вам придется снова открыть терминал. Но он сохранит разрешение во время циклов сон/пробуждение, если вы удержите кнопку питания примерно 3 секунды перед закрытием крышки.

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

Настройка поворота экрана в Debian и GNOME

После установки Debian 10 на ваш GPD Pocket 2 вы столкнулись с проблемой автоматической ориентации экрана при входе в систему. Давайте разберёмся, как можно устранить эту проблему.

Шаг 1: Изменение параметров GRUB

Первое, что вам нужно сделать, — это настроить параметры загрузчика GRUB, чтобы отразить нужную ориентацию. Для этого откройте терминал и выполните следующие команды:

  1. Откройте конфигурационный файл GRUB:

    sudo vim /etc/default/grub
  2. Найдите строку с GRUB_CMDLINE_LINUX_DEFAULT и измените её на:

    GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
  3. Сохраните изменения и выполните обновление конфигурации GRUB:

    sudo update-grub

Это изменение будет поворачивать вывод на консоль GRUB, однако оно не повлияет на экран входа в систему.

Шаг 2: Установка xrandr на автоматический запуск

Теперь, чтобы поворот экрана применялся автоматически при входе в систему, вам нужно использовать xrandr.

  1. Откройте GNOME «Настройки» и перейдите в раздел «Экран».
  2. Установите ориентацию экрана на «Портретная левая» и разрешение на «1200×1920».

Шаг 3: Автоматическое применение xrandr через систему автозагрузки

Поскольку GNOME использует GDM в качестве дисплейного менеджера, он не будет учитывать изменения xorg.conf. Таким образом, вам нужно создать запуск скрипта с помощью xrandr:

  1. Создайте новый файл в автозагрузке:

    • Откройте меню «Настройки», затем «Программы автозагрузки», и добавьте новое приложение.
    • В поле команд укажите:
      gnome-terminal -e "bash -c 'xrandr --output eDP-1 --rotate right; exec bash'"
  2. Или вы можете отредактировать ваш ~/.bashrc, добавив следующий код:

    res=$(xrandr | grep * | cut -d' ' -f4)
    if [ "$res" != "600x960_60.00" ]; then
       xrandr --newmode "600x960_60.00" 47.25 600 640 696 792 960 963 973 996 -hsync +vsync
       xrandr --addmode eDP-1 "600x960_60.00"
       xrandr --output eDP-1 --mode "600x960_60.00"
    fi

Шаг 4: Проверка и устранение конфликтов драйвера

Если у вас возникают проблемы при применении изменений, возможно, причина в используемых драйверах видеокарты. Попробуйте установить последние версии драйверов Intel, чтобы избежать конфликтов:

sudo apt update
sudo apt install xserver-xorg-video-intel

Заключение

Эти шаги должны помочь вам настроить автоматический поворот экрана на вашем GPD Pocket 2 с Debian 10 и GNOME. Если ваши попытки все еще не увенчались успехом, вам стоит проверить наличие конфликтующих настроек или сообщений об ошибках в системе, а также обратиться на специализированные форумы для получения дополнительных советов.

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

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