我有一台运行 Ubuntu 18.04 的旧 2011 年 Macbook Pro,它集成了 Intel HD Graphics 3000,以及独立 AMD Radeon HD 6750M 显卡。独立 AMD 显卡基本上已经不行了(谷歌搜索“Radeongate”了解原因),所以我想把 Mac 重新用作一台简单的网页浏览机,至少可以单独使用集成显卡播放高清视频。问题是,除非我禁用两个都如果 GRUB 内核启动参数中包含“nomodeset”,则 GPU 将无法启动。如果我将参数保留为默认的“quiet splash”,则会出现一个空白的紫色屏幕,但我仍然可以通过 SSH 进入以关闭它。如果我将“radeon.modeset=0”添加到参数中,则会出现启动过程和检查列表,但它会在某个任意行处冻结,同样,我仍可以通过 SSH 进入以关闭它。在前两种情况下,我也无法切换到仅使用命令行的 tty 会话。启动的唯一方法是将“nomodeset”添加到参数中,最终我会在 llvmpipe(LLVM 6.0,256 位)上运行 Ubuntu。
我相当确定 Ubuntu 提供的 Intel i915 驱动程序已正确安装(在 lsmod 中显示),而且由于 Intel 停止了其图形驱动程序更新工具,我不知道还有什么地方可以获取其他驱动程序。我也没有理由相信 iGPU 也坏了,因为在安装 Ubuntu 之前,我曾使用 iGPU 短暂成功进入 OS X。根据我为上述 3 种情况找到的其他类似帖子,我得到了一些日志信息,我认为这些信息会很有用。
将“nomodeset”添加到内核启动参数(不使用 GPU,启动)
glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.2.0-devel
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 18.2.0-devel
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.2.0-devel
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
---------------------------------------------------------------------------------------------------------------------------------
sudo lshw -c video
*-display UNCLAIMED
description: VGA compatible controller
product: Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list
configuration: latency=0
resources: memory:90000000-9fffffff memory:b0800000-b081ffff ioport:2000(size=256) memory:b0820000-b083ffff
*-display UNCLAIMED
description: VGA compatible controller
product: 2nd Generation Core Processor Family Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list
configuration: latency=0
resources: memory:b0000000-b03fffff memory:a0000000-afffffff ioport:3000(size=64)
---------------------------------------------------------------------------------------------------------------------------------
sudo lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
将“radeon.modeset=0”添加到内核启动参数(使用 iGPU、冻结启动屏幕)
glxinfo | grep OpenGL
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Error: couldn't find RGB GLX visual or fbconfig
---------------------------------------------------------------------------------------------------------------------------------
sudo lshw -c video
*-display UNCLAIMED
description: VGA compatible controller
product: Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list
configuration: latency=0
resources: memory:90000000-9fffffff memory:b0800000-b081ffff ioport:2000(size=256) memory:b0820000-b083ffff
*-display
description: VGA compatible controller
product: 2nd Generation Core Processor Family Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list
configuration: driver=i915 latency=0
resources: irq:44 memory:b0000000-b03fffff memory:a0000000-afffffff ioport:3000(size=64)
---------------------------------------------------------------------------------------------------------------------------------
sudo lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
默认内核启动参数(使用 iGPU,卡在空白紫屏)
glxinfo | grep OpenGL
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Error: couldn't find RGB GLX visual or fbconfig
---------------------------------------------------------------------------------------------------------------------------------
sudo lshw -c video
*-display UNCLAIMED
description: VGA compatible controller
product: Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller cap_list
configuration: latency=0
resources: memory:90000000-9fffffff memory:b0800000-b081ffff ioport:2000(size=256) memory:b0820000-b083ffff
*-display
description: VGA compatible controller
product: 2nd Generation Core Processor Family Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list
configuration: driver=i915 latency=0
resources: irq:44 memory:b0000000-b03fffff memory:a0000000-afffffff ioport:3000(size=64)
---------------------------------------------------------------------------------------------------------------------------------
sudo lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M]
另外,lsmod 结果
Module Size Used by
rfcomm 77824 4
bnep 20480 2
nls_iso8859_1 16384 1
input_leds 16384 0
joydev 24576 0
snd_hda_codec_cirrus 20480 1
btusb 45056 0
btrtl 16384 1 btusb
btbcm 16384 1 btusb
btintel 16384 1 btusb
bluetooth 548864 31 btrtl,btintel,bnep,btbcm,rfcomm,btusb
uvcvideo 86016 0
ecdh_generic 24576 1 bluetooth
videobuf2_vmalloc 16384 1 uvcvideo
videobuf2_memops 16384 1 videobuf2_vmalloc
videobuf2_v4l2 24576 1 uvcvideo
bcm5974 16384 0
videobuf2_core 40960 2 uvcvideo,videobuf2_v4l2
videodev 184320 3 uvcvideo,videobuf2_core,videobuf2_v4l2
media 40960 2 uvcvideo,videodev
applesmc 20480 0
snd_hda_codec_generic 73728 1 snd_hda_codec_cirrus
snd_hda_codec_hdmi 49152 1
snd_hda_intel 40960 8
snd_hda_codec 126976 4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_cirrus
input_polldev 16384 1 applesmc
snd_hda_core 81920 5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_cirrus
snd_hwdep 20480 1 snd_hda_codec
wl 6447104 0
snd_seq_midi 16384 0
acpi_als 16384 0
kfifo_buf 16384 1 acpi_als
sbs 20480 0
snd_pcm 98304 4 snd_hda_intel,snd_hda_codec,snd_hda_core,snd_hda_codec_hdmi
snd_seq_midi_event 16384 1 snd_seq_midi
snd_rawmidi 32768 1 snd_seq_midi
mei_me 40960 0
cfg80211 622592 1 wl
industrialio 69632 2 acpi_als,kfifo_buf
snd_seq 65536 2 snd_seq_midi_event,snd_seq_midi
sbshc 16384 1 sbs
mei 90112 1 mei_me
intel_rapl 20480 0
x86_pkg_temp_thermal 16384 0
intel_powerclamp 16384 0
coretemp 16384 0
kvm_intel 204800 0
kvm 593920 1 kvm_intel
irqbypass 16384 1 kvm
crct10dif_pclmul 16384 0
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
pcbc 16384 0
lpc_ich 24576 0
aesni_intel 188416 0
aes_x86_64 20480 1 aesni_intel
crypto_simd 16384 1 aesni_intel
glue_helper 16384 1 aesni_intel
cryptd 24576 3 crypto_simd,ghash_clmulni_intel,aesni_intel
intel_cstate 20480 0
intel_rapl_perf 16384 0
apple_gmux 20480 0
snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer 32768 2 snd_seq,snd_pcm
snd 81920 27 snd_hda_intel,snd_hwdep,snd_seq,snd_hda_codec,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_cirrus,snd_seq_device,snd_pcm
soundcore 16384 1 snd
shpchp 36864 0
mac_hid 16384 0
apple_bl 16384 1 apple_gmux
sch_fq_codel 20480 3
parport_pc 36864 0
ppdev 20480 0
lp 20480 0
parport 49152 3 lp,parport_pc,ppdev
ip_tables 28672 0
x_tables 40960 1 ip_tables
autofs4 40960 2
hid_generic 16384 0
hid_apple 16384 0
hid_appleir 16384 0
usbhid 49152 0
hid 118784 4 hid_appleir,hid_generic,usbhid,hid_apple
i915 1617920 0
ttm 106496 0
i2c_algo_bit 16384 1 i915
drm_kms_helper 167936 1 i915
tg3 167936 0
syscopyarea 16384 1 drm_kms_helper
firewire_ohci 40960 0
sysfillrect 16384 1 drm_kms_helper
ahci 36864 2
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
libahci 32768 1 ahci
ptp 20480 1 tg3
sdhci_pci 28672 0
firewire_core 65536 1 firewire_ohci
drm 401408 3 i915,ttm,drm_kms_helper
crc_itu_t 16384 1 firewire_core
pps_core 20480 1 ptp
sdhci 49152 1 sdhci_pci
thunderbolt 118784 0
video 40960 2 apple_gmux,i915
那么,有人知道为什么我不能只使用 iGPU 启动吗?如果我遗漏了解决此问题所需的任何重要信息,请告诉我,并提前感谢您的帮助!