Вопрос или проблема
Я пытаюсь установить определенное разрешение для KMS при загрузке. По умолчанию KMS выбирает наивысшее доступное разрешение (2500×1600), что немного трудно читать. Я хотел бы установить 1440×900 вместо этого.
Я попробовал две вещи через Grub, первая:
GRUB_GFXMODE=1440x900
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_GFXPAYLOAD_LINUX=1440x900
Но это не помогло, система ведет себя точно так же, независимо от того, есть ли оно там или нет, она продолжает использовать 2500×1600.
Второе, что я попробовал, это установить параметр ядра следующим образом:
GRUB_CMDLINE_LINUX_DEFAULT="video=1440x900"
Это немного помогло, разрешение изменилось, стало намного лучше и читаемее, но тогда виртуальный размер не изменился соответственно, он все еще 2500×1600, что означает, что мой tty намного больше, чем сам экран, и я вижу только верхнюю левую часть более крупного терминала.
Как я могу заставить KMS использовать конкретное разрешение? Спасибо.
Сначала проверьте, какие режимы поддерживаются (только для пользователей BIOS): используйте оболочку Grub2 (нажмите ‘c’ в меню Grub2), затем выполните следующие команды и выберите подходящий режим.
set pager=1
insmod vbe
vbeinfo
Затем установите режим в /etc/default/grub
:
GRUB_GFXPAYLOAD_LINUX=1280x1024x32
Ответ или решение
Чтобы установить конкретное разрешение для KMS (Kernel Mode Setting) при загрузке системы, необходимо выполнить несколько последовательных шагов. Проблема, с которой вы столкнулись, связана с тем, что система по умолчанию выбирает наивысшее доступное разрешение (в вашем случае 2500×1600), что затрудняет чтение текста. Мы обсудим, как корректно задать разрешение 1440×900 и решить проблему с виртуальным размером.
Шаг 1: Проверка поддерживаемых режимов
Первый шаг заключается в том, чтобы убедиться, что ваше оборудование поддерживает требуемое разрешение. Для этого можно воспользоваться оболочкой GRUB2. На экране выбора загрузки GRUB нажмите клавишу c
, чтобы открыть командную строку, и выполните следующие команды:
set pager=1
insmod vbe
vbeinfo
Эти команды выведут список доступных видеорежимов. Убедитесь, что 1440×900 присутствует в этом списке.
Шаг 2: Настройка GRUB
После того как вы подтвердили поддержку нужного разрешения, вам нужно внести изменения в конфигурацию GRUB. Откройте файл конфигурации /etc/default/grub
и внесите в него следующие строки:
GRUB_GFXMODE=1440x900
GRUB_GFXPAYLOAD_LINUX=keep
Убедитесь, что GRUB_GFXPAYLOAD_LINUX=keep
указано именно с этим значением, так как это поможет сохранить выбранное разрешение.
Шаг 3: Обновление конфигурации GRUB
После внесения изменений в конфигурацию GRUB, необходимо обновить настройки:
sudo update-grub
Это применит ваши изменения, и новый режим будет установлен при следующей загрузке.
Шаг 4: Установка параметров ядра
Если вышеуказанные шаги не привели к желаемому эффекту, можно добавить параметры к загрузке ядра. Попробуйте добавить следующий параметр:
GRUB_CMDLINE_LINUX_DEFAULT="video=1440x900"
Это должно подстроить разрешение видеокарты к вашему желаемому значению. После внесения изменений не забудьте также выполнить команду update-grub
.
Примечание о терминале
Если после изменения разрешения вы все еще наблюдаете проблемы с отображением терминала (virtual_size), это может быть связано с несовпадением между разрешением экрана и разрешением виртуального терминала. Попробуйте добавить следующий параметр:
video=1440x900-24
Этот параметр задает параметры цветного разрешения, что может помочь фоновой системе обработки текстового вывода правильно отобразить размеры.
Заключение
После выполнения всех шагов, перезагрузите систему и проверьте, применяется ли ожидаемое разрешение. Если проблема сохраняется, возможно, стоит проверить наличие обновлений для графических драйверов или рассмотреть возможность использования других методов, таких как настройка xrandr
после загрузки системы. Важно также изучить документацию для вашего дистрибутива или посетить форум поддержки, если проблема остается нерешенной.