커널 모드 설정으로 인해 부팅이 중단되지만 ATI 드라이버에서는 이를 요구합니다.

커널 모드 설정으로 인해 부팅이 중단되지만 ATI 드라이버에서는 이를 요구합니다.

저는 2011년 하반기 MacBook Pro를 사용하고 있습니다. 통합 Intel 그래픽 카드와 개별 ​​ATI 그래픽 카드가 있습니다. 이상적으로는 Xorg에서 ATI 카드와 무료 드라이버(Catalyst 없음)를 사용하고 싶습니다.

문제는 커널 모드 설정으로 인해 부팅이 중단되고( nomodeset커널 매개변수를 추가하여 확인) 이유를 이해할 수 없다는 것입니다. 그러나 ATI 드라이버는필요KMS, 인텔 드라이버도 마찬가지입니다. 위의 필수 설정으로 그래프를 얻으려면 어떤 옵션이 필요합니까?

저는 커널 3.13.8, Arch GNU/Linux를 사용하고 있습니다. 또한 커널 3.10.35(일명 LTS 커널)를 사용해 보았습니다. 불운. 의견에서 제안한 대로, 영향을 받은 컴퓨터가 잠긴 후 해당 컴퓨터에 ping을 시도했습니다. 확실하게 말할 수는 없지만 디스플레이뿐만 아니라 완전히 얼어붙은 것 같습니다.

또한 Mac OS X 부팅을 시도하고gfx 카드 상태Intel 카드의 필수 사용. 이것은 아무것도 하지 않습니다.

더 많은 정보를 얻으려고 MacBook을 부팅하고 다음 커널 매개변수를 일반 커널 라인(LTS 커널이 아닌 일반 커널, 제거됨 quiet)에 추가하고 gfxCardStatus 즉시 스위치를 설정했습니다(이것은 자동으로 OS X이 다시 시작되면 다시 시작):

rootwait ignore_loglevel debug debug_locks_verbose=1 sched_debug initcall_debug mminit_loglevel=4 udev.log_priority=8 loglevel=8 earlyprintk=vga,keep log_buf_len=10M print_fatal_signals=1 apm.debug=Y i8042.debug=Y drm.debug=1 scsi_logging_level=1 usbserial.debug=Y option.debug=Y pl2303.debug=Y firewire_ohci.debug=1 hid.debug=1 pci_hotplug.debug=Y pci_hotplug.debug_acpi=Y shpchp.shpchp_debug=Y apic=debug show_lapic=all hpet=verbose lmb=debug pause_on_oops=5 panic=10 sysrq_always_enabled

부팅 프로세스 로그의 맨 끝 부팅 로그 전체 끝

ATI 또는 Intel 드라이버를 사용하여 GDM을 시작하려고 하면(KMS 없이 시작) Xorg가 적합한 드라이버를 찾을 수 없다는 메시지와 함께 실패합니다(이는 Intel/AMD 드라이버 KMS가 필요하기 때문에 예상되는 현상입니다). 또한 패키지를 사용해 보았지만 xf86-video-vesa적절한 드라이버가 있지만 적절한 구성이 없다는 메시지와 함께 실패했습니다. BIOS에 대한 잘못된 정보입니다.

나는 사용해 보았습니다.기본, 그러나 속도 향상이나 화려한 기능 없이도 Xorg를 표시할 수 없기 때문에 xrandr작동하지 않고 첫 번째 단계도 통과할 수 없습니다.

vgaswitcheroo 또는 이와 관련된 것을 사용하는 것을 고려했지만 근본적인 문제는 KMS 정지라고 믿기 때문에 아무 것도 할 수 없을 것 같습니다.

마지막으로 시도한 것은 자체 KMS 구현이 있기 때문에 독점 Catalyst 드라이버를 사용하는 것이었지만 Xorg 서버 버전 불일치로 인해 설치할 수 없었습니다. 솔직히 저는 가능하다면 독점 드라이버를 사용하고 싶은 욕구가 전혀 없었기 때문에 별로 노력하지 않았습니다.

Linux 커널 메일링 리스트에 보냈습니다.이메일이에 대해 누군가가 나에게 답장을 보내주기를 바랍니다.

보고할 가치가 있는 커널 버그나 Xorg 버그를 발견했을 가능성이 있습니까?

구글링을 해봤지만 유용한 정보를 찾지 못했습니다.

답변1

  • ATI 카드 버전을 제공하지 않았습니다. Intel 및 ATI가 내장된 "Late 2011 MacBook Pro"라는 이름은 충분하지 않습니다. 콘솔로 부팅하고 lspci -nn | grep VGA를 실행하여 다음과 같은 정확한 버전을 얻으세요.

    $ lspci -nn | grep VGA
    01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Park [Mobility Radeon HD 5430/5450/5470] [1002:68e0]
    

    따라서 Google에서 "Linux 모드 설정이 ATI xyz에 걸려 있습니다"라고 검색할 수 있습니다.

  • 2.6.32, 3.0.last, 3.2.last, 3.4.last, 3.16.last와 같은 다른 커널을 사용하여 콘솔로 부팅해 보십시오. 3.0과 3.16 사이의 모든 짝수 커널 버전을 확인할 필요는 없지만 귀하의 의견으로는 확실히 2.6을 시도해 볼 것입니다. 시작이 잘 되면 startx를 사용하여 GUI를 시작합니다(기존 방식). (.last는 이 커널 브랜치의 최신 버전을 나타냅니다)

  • 하드웨어가 잠겨 있을 때(노트북 사용) Linux 드라이버를 직접 작성/디버깅할 수 없다면 선택의 여지가 많지 않습니다. 기존에 사용 가능한 드라이버를 사용해야 합니다. 나는 오랜 Linux 사용자로서의 경험을 바탕으로 이 글을 씁니다. 따라서 사용 가능한 ATI 드라이버를 사용하고, 그렇지 않은 경우 Intel 카드를 사용하십시오. ATI 카드의 정확한 버전을 제공하면 Google이나 여기의 일부 사용자가 카드가 Linux에서 잘 작동하는지(따라서 하드웨어 버그) 또는 작동하지 않는지(기능적 드라이버 부족) 알려줄 것입니다. 게임이 가장 큰 관심사가 아니라면(아마도 게임만을 위해 Mac OSX를 Linux로 바꾸지는 않을 것입니다) Intel 카드는 문제없이 작동할 것입니다. 하지만 랩탑에 Intel/NVIDIA 콤보를 갖고 싶다는 것도 이해합니다. 나는 때때로 사용합니다. :)

  • 마지막으로 UEFI를 활성화할 필요가 없습니다.https://help.ubuntu.com/community/UEFI부팅"Apple은 공식적으로 Mac OS X에 대한 EFI 부팅만 지원하지만, 기술적으로는 Mac OS 부팅이 가능합니다."

답변2

읽다이 게시물젠투 포럼에서. 저는 다른 사용자들이 동일한 NVIDIA 설정을 사용하도록 도왔습니다. 즉, 다음을 선택할 수 없습니다.

  1. XOrg 서버를 "구동"하려면 Intel 드라이버를 사용해야 합니다.
  2. ATI 보드를 사용하여 출력을 렌더링할 수만 있고 생성할 수는 없습니다.

다음은 몇 가지 설명입니다. (ATI의 프로젝트인 Ironhide가 중단되었기 때문에 이를 NVIDIA 측면에서 설명해야 해서 유감입니다. ATI는 여러분이 해당 CONFIG_VGA_SWITCHEROO옵션을 사용하기를 원한다고 생각합니다.)

나보다 똑똑한 사람이 만들었어프로젝트 범블비, ATI와 마찬가지로 하이브리드 그래픽 시스템을 사용하는 Optimus 시리즈 노트북과 인터페이스합니다. 두 경우 모두 변환기에 대한 비밀스러운 참조를 직접 찾아보세요 :)

계속해서 모든 하이브리드 시스템은 다음과 같은 방식으로 작동합니다.

  1. Intel Graphics는 컴퓨팅 영역을 초기화하고 다각형, 화면 등을 그리기 위한 명령을 계산합니다.
  2. Intel 그래픽은 필요한 경우 완료된 계산을 ATI/NVIDIA 개별 그래픽 카드로 오프로드합니다. 특정 응용 프로그램에 대한 컴퓨팅을 오프로드하기 위해 인텔 그래픽 드라이버에 요청할 수 있는 응용 프로그램을 시스템에 알리려면 타사 드라이버를 설치하고 구성해야 합니다. Bumblebee 및 Ironhide 프로젝트는 Linux 기반 운영 체제의 Windows 드라이버와 동일합니다.
  3. ATI/NVIDIA 독립형 보드에는 컴퓨팅 처리 능력이 없습니다. 애플리케이션 수준에서 출력을 그리는 요청만 수락할 수 있으므로 Intel 드라이버를 사용하도록 XOrg를 구성해야 하며 항상 XOrg와 함께 Intel을 사용해야 합니다. XOrg가 시작되면 타사 드라이버가 시작되고 애플리케이션 수준에서 XOrg를 제어합니다. 수학 계산에는 여전히 Intel 드라이버를 사용합니다.

위의 링크를 올렸을 때 이 사실을 다 알고 있었으나, 링크를 제공했다는 이유로 비난을 받았습니다. 제 설명이 도움이 되었으면 좋겠습니다. 질문이 있으시면 이 답변을 새로운 답변으로 업데이트하겠습니다/

관련 정보