установить специфическое разрешение KMS при загрузке

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

Я пытаюсь установить определенное разрешение для 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 после загрузки системы. Важно также изучить документацию для вашего дистрибутива или посетить форум поддержки, если проблема остается нерешенной.

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

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