Linux 부팅 중 비디오 모드 전환 감소 만 변경한다고 생각합니다

Linux 만있는 데스크탑 컴퓨터를 부팅하면 비디오 모드 및 / 또는 콘솔 글꼴이 네 번 전환됩니다.

  • GRUB이 시작되면 80×25 텍스트에서 그래픽 모드로 전환되어 메뉴 뒤에 예쁜 배경을 그릴 수 있습니다.
  • 그런 다음 메뉴에서 무언가를 선택한 후 GRUB은 80×25 텍스트로 돌아갑니다.
  • 비디오 카드 용 KMS 드라이버가로드되면 훨씬 더 높은 해상도의 텍스트 모드로 전환됩니다 (하드웨어 텍스트 모드인지 여부는 모르겠습니다).
  • 마지막으로 X가 시작되고 그래픽으로 이동하여 그대로 유지됩니다. 이 마지막 스위치는 비디오 모드 의 해상도 를 변경하지 않고 그래픽 만 변경한다고 생각합니다 .

가능한 많은 모드 스위치를 제거하고 싶습니다. GRUB이 BIOS에서 인계 할 때 이상적으로는 KMS 드라이버가 선택하는 것과 동일한 고해상도 텍스트 모드로 직접 이동하고 X가 시작되어 그래픽을 표시 할 때까지 디스플레이는 해당 모드로 유지됩니다. 커널 명령 줄 및 / 또는 GRUB 콘솔 모듈로드 매개 변수로 뭉쳐서 이것이 가능하다는 인상을 받고 있지만 세부 사항을 알지 못합니다.

GRUB 1.98 + 20100706, Nouveau 비디오 드라이버를 사용하는 커널 2.6.32.15. 배포판은 데비안이 불안정합니다. 아무 것도 재 컴파일하거나 최첨단 커널 / 드라이버 조합을 함께 사용하는 답변은 제발 아무 문제가 없습니다.

편집 : Tobu는 GRUB_GFXMODE모니터의 전체 픽셀 해상도로 설정 GRUB_GFXPAYLOAD_LINUX=keep하고 메뉴가 사라진 후에 모드 전환을 피할 것을 제안합니다 . 이것은 내가 원하는 것의 일부를 수행하지만 전반적으로 악화됩니다. 메뉴 다음에는 모드 전환이 없지만 여전히 화면이 느리게 다시 그려집니다 (GRUB의 gfxmode를 포기해야합니다 .1920×1200에서는 너무 느립니다). 더 심각하게, 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



답변

Plymouth 는 다음과 관련하여 도움을 주도록 설계되었습니다.

부팅 프로세스 초기에 컴퓨터의 기본 모드가 설정되고 plymouth가 해당 모드를 사용하며이 모드는 전체 부팅 프로세스에서 X가 시작된 이후까지 유지됩니다. 이상적으로는 시작하는 동안 모든 깜박임을 제거하는 것이 목표입니다.

단일 OS 만 설치되어 있으므로 grub 해상도 변경 (배경 그래픽 없음)을 비활성화하고 메뉴 자체를 80×25로 남겨두면 Plymouth가 인수 할 때까지 변경되지 않습니다.


답변

해상도와 색 농도를 확인하십시오.

xrandr -q
xdpyinfo | grep 'depth of root window' | awk '{ print $5 }'

설정 GRUB_GFXMODE=<width>x<height>x<depth>에서 /etc/default/grubGRUB 메뉴의 해상도가 KMS 해상도를 일치하도록.

GRUB_GFXPAYLOAD_LINUX=keep그루브 메뉴 이후 및 KMS를 설정하기 전에 중간 단계가 없도록 기본값도 추가하십시오 . X11은 KMS가 사용하는 것을 유지해야합니다. 즉 걱정할 X11 스위치가 없습니다.

로 편집 내용을 적용하십시오

sudo update-grub


답변

GRUB 직후부터 KMS를 활성화 할 수 있으며, 일반적으로 커널 명령 줄에 KMS를 설정하는 매개 변수가 포함됩니다. 인텔의 i910.modeset=1경우이지만, 배포판의 문서를 확인해야합니다.


답변