Уменьшение переключения режима видео во время загрузки Linux
Когда я загружаю свой настольный компьютер, на котором установлен только Linux, режим видео и / или шрифт консоли переключаются четыре раза:
- Когда GRUB запускается, он переключается с текста 80x25 в графический режим, поэтому он может нарисовать красивый фон за своим меню;
- GRUB затем возвращается к тексту 80x25 после того, как я что-то выбрал из меню;
- Когда драйвер KMS для моей видеокарты загружается, он переключается в текстовый режим с гораздо более высоким разрешением (я не знаю, аппаратный ли это текстовый режим или нет);
- Наконец X запускается и идет графика и остается таким же. Я думаю, что этот последний переключатель не меняет разрешение режима видео, только графичность.
Я бы хотел избавиться от как можно большего количества переключателей режимов. В идеале, когда GRUB вступает во владение BIOS, он переходит непосредственно в тот же текстовый режим высокого разрешения, который выбирает драйвер KMS, и дисплей будет оставаться в этом режиме до тех пор, пока X не запустится и не отобразит графику. У меня сложилось впечатление, что это возможно путем перебора командной строки ядра и / или параметров загрузки консольного модуля GRUB, но я не знаю деталей.
GRUB 1.98 + 20100706, ядро 2.6.32.15 с использованием видеодрайверов Nouveau. Дистро нестабильно в Debian. Пожалуйста, не отвечайте на вопросы, связанные с перекомпиляцией чего-либо или совмещением передовых комбинаций ядра и драйвера. Меня это не волнует, чтобы пойти на такую большую проблему.
РЕДАКТИРОВАТЬ: Тобу предлагает настройки GRUB_GFXMODE
на полное разрешение экрана монитора, и GRUB_GFXPAYLOAD_LINUX=keep
чтобы избежать переключения режима после того, как меню исчезнет. Это часть того, что я хочу, но в итоге становится хуже. После меню переключателя режимов нет, но перерисовка экрана до сих пор мучительно медленная (вероятно, мне стоит просто отказаться от gfxmode GRUB, он слишком медленный при 1920x1200). Более серьезно, теперь есть двойной режим переключения при загрузке nouveaufb вместе с забавными сообщениями об ошибках в dmesg
[ 5.923798] [drm] nouveau 0000:02:00.0: allocated 1920x1200 fb: 0x40250000, bo ffff8801ba5f4600
[ 5.923802] fb: conflicting fb hw usage nouveaufb vs EFI VGA - removing generic driver
[ 5.923821] [drm] nouveau 0000:02:00.0: PFIFO_INTR 0x00000010 - Ch 1
("PFIFO_INTR" message repeats 400+ times)
[ 5.925609] Console: switching to colour dummy device 80x25
[ 5.925802] Console: switching to colour frame buffer device 240x75
3 ответа
Плимут разработан, чтобы помочь в этом отношении:
Идея состоит в том, что в начале процесса загрузки устанавливается собственный режим для компьютера, этот режим используется plymouth, и этот режим остается в течение всего процесса загрузки до и после запуска X. В идеале цель состоит в том, чтобы избавиться от всех мерцаний во время запуска.
Поскольку у вас установлена только одна ОС, отключение изменений разрешения grub (без фоновой графики) и даже самого меню, оставив его 80x25, не изменится, пока Плимут не вступит во владение.
Проверьте ваше разрешение и глубину цвета:
xrandr -q
xdpyinfo | grep 'depth of root window' | awk '{ print $5 }'
Задавать GRUB_GFXMODE=<width>x<height>x<depth>
в /etc/default/grub
так что разрешение меню grub соответствует разрешению KMS.
Возможно добавлю GRUB_GFXPAYLOAD_LINUX=keep
также по умолчанию, чтобы после меню grub и перед настройкой KMS не было промежуточного шага. X11 должен сохранить то, что использует KMS, то есть переключателя X11 не нужно беспокоиться.
Примените свои изменения с
sudo update-grub
Вы можете активировать KMS сразу после GRUB, и это обычно включает параметр в командной строке ядра, который включает его. Для Intel это i910.modeset=1
, но вы должны проверить документы вашего дистрибутива по этому вопросу.