
Я пытался выяснить, как KDE или GNOME решают, какое разрешение может поддерживаться подключенными монитором и графической картой. У меня есть 2 senario по этому вопросу, я попытаюсь объяснить процесс, основываясь на моем понимании, пожалуйста, укажите мне, если я не прав:
загрузитесь в grub, нет графического драйвера или xserver. grub покажет загрузочное меню с кадровым буфером. в это время grub будет считывать EDID с монитора и выбирать правильное разрешение. Это верно? Я знаю, что при загрузке в grub мы всегда можем нажать "c", чтобы войти в командную строку grub и получить поддерживаемое разрешение с монитора с помощью команды videoinfo. Считывает ли эта команда EDID с монитора? Является ли "драйвер EFI GOP" временным драйвером для графической карты? какова роль графической карты в этом процессе? Была ли графическая карта в процессе согласования? Если да, то как grub узнал поддерживаемое разрешение для графической карты?
загрузитесь на рабочий стол. Теперь у нас есть xserver, и мы можем использовать команду xrandr, чтобы показать поддерживаемое разрешение для видеокарты. но как xserver определяет, какое разрешение поддерживается и монитором, и видеокартой? Есть ли какой-либо инструмент командной строки, который мы можем использовать, чтобы получить поддерживаемое разрешение для монитора? В senario 1 я вижу, что 1024x768 поддерживается командой videoinfo, но когда я устанавливаю GFXMODE=1024x768 в grub, меню grub будет на правой стороне экрана, в то время как auto будет нормально. Как это произошло? В senario 2 рабочий стол не будет посередине экрана, когда было установлено некоторое разрешение. Причина та же, что и в senario 1?
Кстати, я использовал монитор с интерфейсом VGA и HDMI, проблемы, с которыми я столкнулся, возникали только при использовании интерфейса VGA. ОС была Debian10 с ядром 4.19.
Я также пробовал использовать read-edid и edid-decode для чтения EDID, но я не думаю, что вывод достаточно точен, по крайней мере 1920x1080 не было в списке. Иногда get-edid не может прочитать никакую информацию с монитора.