![iMac - 如何让 Ubuntu 与 iMac 显卡正常工作](https://linux22.com/image/1152710/iMac%20-%20%E5%A6%82%E4%BD%95%E8%AE%A9%20Ubuntu%20%E4%B8%8E%20iMac%20%E6%98%BE%E5%8D%A1%E6%AD%A3%E5%B8%B8%E5%B7%A5%E4%BD%9C.png)
我最近在 2010 年中期的旧 iMac 上安装了 Ubuntu 16.04 64 位,但很快就遇到了一些问题。安装时,除非我在启动命令中添加“nomodeset”,否则 grub 界面后屏幕会变黑。现在 Ubuntu 16.04 已安装,但除非我启用“nomodeset”,否则屏幕会保持黑色或冻结在紫色启动屏幕上。虽然它目前处于工作状态,但它没有使用 GPU 进行图形加速。我知道这台 Mac 的图形处理能力已经很差了,但我打算在 Ubuntu 上安装 Steam 来玩一些基本的 3D 游戏,所以我需要图形加速才能工作。我在网上努力寻找这个问题的答案。虽然我后来丢失了网页,但我在某处读到这个问题可能与 Ubuntu 如何接管内核上的图形驱动程序以减少启动期间的闪烁有关,这与 iMac 不兼容。如果有必要,我愿意安装旧版本的 Ubuntu。
显卡:Radeon HD 4670
处理器:Intel i3-540
命令“/usr/lib/nux/unity_support_test -p”的输出:
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 4.0, 128 bits)
OpenGL version string: 3.0 Mesa 17.0.7
Not software rendered: no
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: no
命令“dmesg | egrep 'drm|radeon'”的输出:
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.10.0-42-generic.efi.signed root=UUID=883068b9-9317-47a9-98e6-202c75b7d2f2 ro quiet splash radeon.modeset=0 vt.handoff=7
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.10.0-42-generic.efi.signed root=UUID=883068b9-9317-47a9-98e6-202c75b7d2f2 ro quiet splash radeon.modeset=0 vt.handoff=7
[ 1.381779] [drm] Initialized
[ 1.412144] [drm:radeon_init [radeon]] *ERROR* No UMS support in radeon module!
[ 10.490259] [drm:radeon_init [radeon]] *ERROR* No UMS support in radeon module!
如果您需要任何其他信息,请告诉我。
2018 年 1 月 2 日更新:根据我的发现,问题是由所谓的内核模式设置 (KMS) 引起的。默认的开源 radeon 驱动程序需要 KMS,因此当我使用 nomodeset 时,它会被禁用。不幸的是,新的专有驱动程序 (fglrx) 似乎不支持旧显卡。我认为最好的做法是安装旧版专有驱动程序,但我还没有找到这样做的方法。如果您对如何做到这一点有任何想法,请告诉我。
2018 年 5 月 26 日更新:几个月前我放弃了这个,现在我又回来了,我马上就在网上找到了驱动程序!我发现它们只能在 CLI 中安装。但现在,我遇到了另一个问题。安装程序抱怨缺少内核头文件,说找不到 version.h。有人知道怎么解决这个问题吗?
再次更新:再次放弃这个,因为看起来安装程序或任何旧版 FGLRX 驱动程序都需要较旧的内核,因此需要较旧版本的 Ubuntu: http://wiki.cchtml.com/index.php/Ubuntu_Quantal_Installation_Guide 这意味着我必须安装 Ubuntu 12.10,我记得我之前尝试过,但收效甚微。我现在太忙了,没法再试一次找出原因。在 12.10 的下载页面上,有一个 Mac 版本,但我认为上次尝试时我无法启动安装程序。
答案1
我知道这个话题已经很老了。但不幸的是,没有人在这里给出“正确”的答案。;-)
长话短说,这不是驱动程序问题根本问题是“EFI 模式下 vBIOS 未公开“。这可以在错误消息中间接看到[drm:radeon_init [radeon]] *ERROR* No UMS support in radeon module!
如果没有 vBIOS 信息,任何常规 AMD GPU 驱动程序都无法工作。
但是,当使用旧式 CSM Bios 模拟模式(又名“Boot Camp”)时,Apple 会启用“经典 vBIOS”。当在 (K)Ubuntu 安装开始时选择本机 EFI 模式(又名 EFI 启动)时,vBIOS 仅在开机后的很短时间内可用。
解决方案是安装重新索引,它将“延长”在 EFI 模式下可以访问 vBIOS 信息的时间。此外,还必须修改 Linux 安装,以便裸 Linux 内核可以通过EFISTUB直接从 rEFInd 中获取功能。其工作方式如下:
Apple EFI 固件 => rEFInd => Linux 内核 (EFISTUB)
幸运的是,较新的(K)Ubuntu 版本支持增强的nomodeset
启动选项,称为安全图形。这样就可以在第一次使用基本模式 GUI 安装 Linux。因此 (K)Ubuntu 可以完全安装,并且在第一次重启之前,可以应用 EFISTUB 内核启动所需的修改。
可以在这里找到更详细的信息 - 参见第一个(已接受的)答案: rEFInd & Linux内核EFISTUB在苹果硬件上启动,如何实现?
PS 硬件替代方案是安装“较新”的 Apple Radeon 6770M MXM 显卡。我曾在 2009 年的 27 英寸 iMac 上安装过一次,效果非常好。这款“较新”的显卡即使在 EFI 模式下也能显示 vBIOS 信息每时每刻,- 因此本机 EFI 安装不需要进行特殊调整。
答案2
我在 2011 Mac mini 上安装 Ubuntu 18.04 时遇到了同样的问题。
更改为重新索引启动管理器为我解决了这个问题。
请注意,rEFInd 将从 grub 中提取所有启动参数,因此如果你添加了 等nomodeset
,则需要手动从/boot/refind_linux.conf
答案3
你可以尝试这个: https://help.ubuntu.com/community/RadeonDriver 看起来它得到了支持。