Я только что установил Debian 10 на свой gpd pocket 2, и он работает отлично, за исключением того, что я не могу заставить экран постоянно поворачиваться при входе в систему.
В настоящее время я могу повернуть экран, выбрав «GNOME на 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-screen-rotation-gnome-default:
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
Changes will take effect on logout. This is necessary because GDM does not respect xorg.conf.
Вероятно, поэтому я не могу выполнить ротацию с помощью xorg. Итак, что дальше?
ПРАВКА 2:
gnome все еще не ориентирован, но этот код из приведенной выше ссылки ориентирует grub!
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=rotate:1 quiet"
sudo update-grub # a lot of guides are missing this step
решение1
Я нашел хакерское решение, но оно требует свежей установки Debian. Позвольте мне объяснить.
Чтобы исправить проблему с экраном, я обновил видеодрайвер Intel.
https://gitlab.freedesktop.org/xorg/driver/xf86-video-intel
Чего я не ожидал, так это того, что этот драйвер заблокирует gnome, позволяя мне вносить изменения с помощью settings
-> display
->, orientation
и именно поэтому я искал решение на основе кода. Как я уже упоминал в редактировании выше, система 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 # a lot of guides are missing this step
Это сориентирует системный вывод при загрузке и консоли grub (например, через сочетание клавиш function
+ alt
+ 2
), но не исправит экран входа в систему. Это остается частью этой головоломки, для которой у меня нет решения, но идем дальше.
2) Далее, давайте соберем нашу хакерскую автоматическую ориентацию экрана.
Сначала перейдите settings
-> display
-> orientation
и выберите ориентацию portrait left
и разрешение 1200x1920
.
Если вы дошли до этого места и можете жить с прищуриванием, полагаю, вы закончили. Ваша среда рабочего стола должна загрузиться с этими настройками.
3) Если вы хотите автоматически загрузить улучшенную ориентацию, вот что я сделал.
Далее перейдите Tweaks
-> Startup Applications
и выберите Терминал.
Наконец, в файле ~/.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
# the above line informed from: https://superuser.com/a/716837/1078490
# you may have to configure the line according to your cvt output
xrandr --addmode eDP-1 "600x960_60.00"
xrandr --output eDP-1 --mode "600x960_60.00"
fi
Теперь, когда вы входите в систему, запустится терминал, а затем .bashrc автоматически обработает конфигурацию разрешения. Не идеально, так как открытие/закрытие крышки не встретит этот скрипт, и вам придется снова открыть терминал. Но он будет поддерживать разрешение в циклах приостановки/пробуждения, если вы будете удерживать кнопку питания в течение ~3 секунд перед закрытием крышки.