内核模式设置使我的引导挂起,但是ATI驱动程序需要它


13

我有一台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并使用gfxCardStatus强制使用Intel卡。这什么也没做。

为了尝试获取更多信息,我启动了MacBook,并将以下内核参数附加到我的常规内核行(常规内核,而不是LTS内核,并quiet删除了),并将gfxCardStatus设置为on-the-快速切换(这似乎在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的信息不正确。

我已经尝试过使用PRIME,但是由于即使没有加速或任何花哨的东西,我也无法使Xorg出现,xrandr所以它不起作用,甚至无法超越第一步。

我已经考虑过使用vgaswitcheroo或其他相关工具,但由于基本问题(我相信是KMS正在挂起),因此我认为这不会做任何事情。

我尝试的最后一件事是使用专有的Catalyst驱动程序,因为它具有自己的KMS实现,但是由于Xorg服务器版本不匹配,我无法安装它。老实说,如果我能帮助的话,我对使用专有驱动程序的渴望不到零,所以我并没有努力。

我已经向Linux内核邮件列表发送了有关此邮件,希望有人能与我联系。

我是否可能遇到了值得报告的内核错误或Xorg错误?

我已经用Google搜索,但是没有任何帮助。


IMO KMS应该注意nomodeset设置。您尝试过radeon.modeset=0还是使用任何驱动程序?
Braiam 2014年

1
就像我说的那样,@ Braiam可以引导计算机,但是会禁用ATI驱动程序的必需组件。wiki.archlinux.org/index.php/ATI#Kernel_mode-setting_.28KMS.29
凌晨

您是否已确认它实际上已挂起,而不只是将视频中断?例如,您可以进入吗?如果没有,至少可以ping吗?如果是这样,您需要一个网络控制台...
derobert 2014年

1
三叶草引导程序人员始终为hackintosh人群处理这种事情。反之亦然:clover-wiki.zetam.org/Configuration/SMBIOS
mikeserv 2014年

1
值得一试的是,如果尝试过自己的尝试,那么我不相信如果以EFI模式引导内核(像MBP那样),就可以运行专有的nvidia / fglrx驱动程序。
CmdrMoozy 2014年

Answers:


1

在Gentoo论坛上阅读此帖子。我在那里使用相同的NVIDIA安装程序帮助其他用户。简而言之,您不能选择:

  1. 您必须使用英特尔驱动程序来“驱动”您的XOrg服务器。
  2. 您只能使用ATI板来渲染输出,而不能生成它。

这里有一些解释:(我很抱歉不得不用NVIDIA来解释这一点,因为ATI的项目Ironhide已停产。我相信ATI希望您使用该CONFIG_VGA_SWITCHEROO选件)

一个比我聪明的人创建了Bumblebee Project,以便与使用混合图形系统的Optimus Line of Notebook进行交互,就像ATI。在这两种情况下,请自己找出对变压器的隐蔽参考:)

继续,所有混合系统都以相同的方式工作,即:

  1. 英特尔图形主板初始化计算区域,并计算绘制多边形,屏幕等的指令。
  2. 如果告知,英特尔图形主板将把完成的计算工作转移到ATI / NVIDIA离散主板上。必须安装和配置第三方驱动程序,以告诉您的系统哪些应用程序可以请求英特尔图形驱动程序卸载该特定应用程序的计算。Bumblebee和Ironhide项目等同于基于Linux的操作系统上的Windows驱动程序。
  3. ATI / NVIDIA分立板没有计算处理能力。它只能接受在应用程序级别上绘制输出的请求,因此您必须将XOrg配置为使用Intel驱动程序,并且始终将Intel与XOrg一起使用。XOrg启动后,第3方驱动程序将启动并在应用程序级别控制XOrg。它仍在使用英特尔驱动程序进行计算数学。

当我在上面发布链接时,我就知道了这一切,并且只为提供链接而感到厌烦。希望我的解释有所帮助。如果您有任何疑问,我会用新的答案来更新此答案/


0
  • 您没有提供ATI卡的版本。内置Intel&ATI的“ 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.something。如果启动顺利,则使用startx(旧方法)启动GUI。(.last表示该内核分支的最新版本)

  • 当您被硬件锁定(使用笔记本电脑)时,如果您自己不能编写/调试Linux驱动程序,您将没有太多选择-您必须使用可用的驱动程序。我是经验丰富的人,是Linux的长期用户。因此,请使用任何可用的ATI驱动程序,如果没有,请使用Intel卡。当您提供ATI卡的确切版本时,希望Google或此处的某些用户会告诉您该卡与Linux是否可以很好地协作(因此会出现硬件错误)(或无法运行驱动程序)。如果不是您主要关心游戏(您可能不会出于游戏目的而将Mac OSX切换为Linux),那么英特尔卡应该可以正常工作,但是我了解您希望我自己不时使用英特尔/ NVIDIA组合笔记本的愿望。:)

  • 最后,您不需要启动UEFI:https : //help.ubuntu.com/community/UEFI在Intel Macs上使用(U)EFI的Linux具有以下优点:...”

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.