Linux 부팅 중 비디오 모드 전환 감소


12

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

  • GRUB이 시작되면 80x25 텍스트에서 그래픽 모드로 전환되어 메뉴 뒤에 예쁜 배경을 그릴 수 있습니다.
  • 그런 다음 메뉴에서 무언가를 선택한 후 GRUB은 80x25 텍스트로 돌아갑니다.
  • 비디오 카드 용 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를 포기해야합니다 .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

"그래픽"이 무엇인지 궁금합니다.
추후 공지가있을 때까지 일시 중지되었습니다.

1
임의의 주어진 픽셀 해상도에 대해, 비디오 모드는 그래픽 (각 개별 픽셀은 어드레싱 가능) 또는 텍스트 (고일부터 문자 셀 단말기를 시뮬레이트 할 수 있음) 일 수있다. "그래픽"이라는 의미는 픽셀 해상도를 변경하지 않고 텍스트에서 그래픽으로 전환 한 네 번째 비디오 모드 스위치입니다.
zwol

답변:


2

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

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

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


1

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

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

감사! 이것은 내가 원하는 것의 일부를 수행했지만 부작용으로 인해 현 상태보다 악화되었습니다. 질문에 세부 사항을 추가했습니다.
zwol

0

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


KMS는 nouveau 드라이버가로드 될 때부터 활성화되지만 사용자 공간이 실행 ​​된 후 언젠가 udev의 초기 장치 스캔 중에 만 발생합니다. 나는 video = 및 vga = 명령 줄 옵션을 조금 엉망으로 만들었지 만 운이 없었습니다.
zwol

이 방법으로로드하기 전에이 방법을 사용할 수 있습니다
Daenyth

nouveau(너무 많은 문제로) 컴파일 된 모듈로 커널을 다시 빌드하는 데 부족한 점은 nouveau를 고수하는 것입니다 /etc/initramfs-tools/modules.하지만 이중 모드 스위치를 "Waiting for / load to fill ""바로 다음에 "Loading, please wait ..."을 입력하십시오. 목표는 모드 스위치 를 제거 하는 것입니다 .
zwol

이 경우 KMS가 가능한 부트 로더를 사용해야합니다. 나는 grub2가 이것을 할 수 있다고 생각하지만, 그렇지 않으면 완전히 운이 없다.
데니스

grub2는 모드를 설정하고 설정된 상태로 둡니다 (GRUB_GFXPAYLOAD_LINUX = keep 달성). 그러나 이는 nouveau 및 / 또는 fb 하위 시스템에 충분하지 않으므로 "fb hw 사용법 충돌"오류 메시지가 표시됩니다. 또한, 내 노트북에서 i915와 동일한 동작을합니다.
zwol
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.