启用吃灰的老机 MacBook Pro 2015 + eGPU(nvidia)
MacBook Pro 2015 上 XUbuntu 24.04 启用 eGPU (GeForce GTX 1080 Ti) 和核显 (iGPU + dGPU),需解决黑屏问题
启动使用了 rEFInd 和 apple_set_os.efi: https://github.com/0xbb/apple_set_os.efi/
#refind install:
http://www.rodsbooks.com/refind/installing.html#packagefile
$ sudo apt-add-repository ppa:rodsmith/refind
$ sudo apt-get update
$ sudo apt-get install refind
apple_set_os.efi install : https://github.com/0xbb/apple_set_os.efi/
$ sudo apt-get install gnu-efi
$ git clone https://github.com/0xbb/apple_set_os.efi
$ cd apple_set_os.efi
$ make
配置apple_set_os.efi
$ sudo mkdir /boot/efi/EFI/custom
$ sudo cp apple_set_os.efi /boot/efi/EFI/custom
/etc/default/grub配置:
如下grub配置成功点亮内屏和外屏
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=realloc pci=nocrs apple_set_os acpi_osi=\"Darwin\" intel_iommu=off i915.modeset=1 i915.enable_guc=2 acpi_backlight=vendor"
$ sudo nano /etc/default/grub
修改 GRUB_CMDLINE_LINUX_DEFAULT
$ sudo update-grub
xorg & intel
$ sudo apt install xserver-xorg-video-intel
nvidia
$ sudo apt install nvidia-utils-535 nvidia-driver-535 nvidia-compute-utils-535
nvidia cuda
$ sudo apt install nvidia-cuda-toolkit
reset xorg
$ sudo rm /etc/X11/xorg.conf
重启
$ sudo reboot
!!重要的一点:
启动时候 refind的菜单先启动以下apple_set_os,然后在继续正常启动 xubuntu
进入桌面系统
执行如下命令检查系统:
$ cat /proc/cmdline
$ lspci -v -s 0a:00.0 | grep "Memory at"
$ sudo modprobe nvidia
$ sudo modprobe nvidia_modeset
$ sudo modprobe nvidia_uvm
$ sudo modprobe nvidia_drm
$ nvidia-smi
$ lspci | grep -i "vga\|display"
$ grep "EE" /var/log/Xorg.0.log
输出:
root=UUID=568de8d3-bfeb-4a57-bba1-47032a6c96c8 ro quiet splash vt.handoff=7 initrd=boot\initrd.img-6.14.0-37-generic
Memory at a2000000 (32-bit, non-prefetchable) [size=16M]
Memory at b0000000 (64-bit, prefetchable) [size=256M]
Memory at c0000000 (64-bit, prefetchable) [size=32M]
Fri Dec 12 18:36:21 2025
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.274.02 Driver Version: 535.274.02 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce GTX 1080 Ti Off | 00000000:0A:00.0 Off | N/A |
| 0% 23C P8 8W / 250W | 6MiB / 11264MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 1501 G /usr/lib/xorg/Xorg 4MiB |
+---------------------------------------------------------------------------------------+
00:02.0 VGA compatible controller: Intel Corporation Crystal Well Integrated Graphics Controller (rev 08)
0a:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)
6.974\] Current Operating System: Linux mbook 6.14.0-37-generic #37\~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 20 10:25:38 UTC 2 x86_64 (WW) warning, (EE) error, (NI) not implemented, (??) unknown. \[ 8.298\] (II) Initializing extension MIT-SCREEN-SAVER @@