MacBook Pro 2015 上 XUbuntu 24.04 启用 eGPU (GeForce GTX 1080 Ti) 和核显黑屏问题解决

启用吃灰的老机 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

@@

相关推荐
薛定谔的悦2 小时前
储能 EMS 的功率策略:从一块电表到一次逆流的 200 毫秒
大数据·linux·能源·储能·bms
新时代牛马6 小时前
Linux 内核入门地图:架构、源码目录与五大子系统
linux·运维·架构
Julien20046 小时前
控制 SELinux 文件上下文
linux·运维·服务器
sulikey6 小时前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump
MayZork9 小时前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
冰雪青松9 小时前
Ubuntu 运维命令大全:从入门到精通的实战参考手册
运维·服务器·ubuntu
zbyyd9 小时前
Linux 进程间通信学习笔记
linux·笔记·学习
思盛iOS签名上架12 小时前
App苹果签名有什么作用?
macos·ios·cocoa
w2005122413 小时前
Pod管理
linux·服务器·云原生·容器·k8s·podman
chen<>14 小时前
C++ 六种 memory_order:从原子性到线程间可见性.md
java·linux·开发语言·c++