You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

T2 Linux双系统MacBook Pro 2019连接Akitio Node eGPU(GTX1080Ti)后无法安装NVIDIA驱动以支持CUDA/PyTorch

T2 Linux双系统MacBook Pro 2019连接Akitio Node eGPU(GTX1080Ti)后无法安装NVIDIA驱动以支持CUDA/PyTorch

我完全理解你在T2芯片MacBook Pro上折腾eGPU+CUDA的痛苦——这类组合本身就有不少适配坑,再加上T2的Linux特殊适配要求,很容易踩雷。结合你描述的问题,我整理了一套针对性的步骤,帮你搞定驱动安装和CUDA配置,重点满足仅用eGPU做计算、不接管显示输出的需求:


第一步:彻底清理NVIDIA残留,避免版本冲突

你之前装过多个版本的驱动,残留文件肯定会干扰新安装。先做彻底清理:

  1. 进入安全模式(或单用户终端),执行以下命令卸载所有NVIDIA相关包:
    sudo apt purge nvidia-* nvidia-settings nvidia-libopencl1-*
    sudo apt autoremove --purge
    sudo apt autoclean
    
  2. 编辑GRUB配置文件,移除之前添加的可能冲突的参数:
    sudo nano /etc/default/grub
    
    GRUB_CMDLINE_LINUX_DEFAULT恢复为默认值:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    
    保存后更新GRUB:
    sudo update-grub
    
  3. 重启系统,确保用nouveau驱动正常启动,并且保持eGPU处于连接状态(让系统识别到硬件)。

第二步:安装适配的NVIDIA驱动+CUDA Toolkit

GTX1080Ti属于老架构(Pascal),新驱动对它的兼容性反而不如稳定的旧版本,推荐用470.x系列驱动,搭配对应CUDA 11.4版本:

  1. 添加NVIDIA官方软件源:
    curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
    curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
    sudo apt update
    
  2. 安装470系列驱动:
    sudo apt install nvidia-driver-470 nvidia-utils-470
    
  3. 安装匹配的CUDA 11.4:
    sudo apt install cuda-11-4
    
  4. 配置环境变量,编辑~/.bashrc(如果用zsh就编辑~/.zshrc):
    nano ~/.bashrc
    
    在末尾添加:
    export PATH=/usr/local/cuda-11.4/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH
    
    执行source ~/.bashrc让配置生效。

第三步:配置eGPU仅用于计算,不接管显示

这是满足你需求的核心步骤,强制系统用内置AMD显卡驱动显示器,NVIDIA GPU只做计算:

  1. 创建并编辑Xorg配置文件:
    sudo nano /etc/X11/xorg.conf
    
    添加以下内容(注意替换BusID为你系统里的实际硬件路径):
    Section "ServerLayout"
        Identifier "layout"
        Screen 0 "amd"
        Inactive "nvidia"
    EndSection
    
    Section "Device"
        Identifier "amd"
        Driver "amdgpu"
        BusID "PCI:3:0:0" # 对应你lshw里的AMD显卡路径pci@0000:03:00.0
    EndSection
    
    Section "Screen"
        Identifier "amd"
        Device "amd"
    EndSection
    
    Section "Device"
        Identifier "nvidia"
        Driver "nvidia"
        BusID "PCI:130:0:0" # 对应你lshw里的NVIDIA显卡路径pci@0000:82:00.0(82转十进制为130)
        Option "NoLogo" "true"
        Option "UseDisplayDevice" "none"
    EndSection
    
  2. 保存后重启系统。

第四步:验证配置是否成功

重启后执行以下命令确认:

  1. 检查NVIDIA驱动状态:
    nvidia-smi
    
    如果能显示GTX1080Ti的硬件信息,说明驱动加载成功。
  2. 检查CUDA版本:
    nvcc --version
    
    应该显示CUDA 11.4的版本信息。
  3. 测试PyTorch GPU支持:
    先安装对应版本的PyTorch:
    pip3 install torch==1.12.1+cu114 torchvision==0.13.1+cu114 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu114
    
    然后运行Python代码验证:
    import torch
    print(torch.cuda.is_available())
    print(torch.cuda.get_device_name(0))
    
    如果输出True和你的GTX1080Ti名称,就说明配置完全成功了。

额外注意事项

  • 不要使用egpu-switcher:它主要用于切换显示输出,会干扰我们的纯计算配置。
  • 检查Thunderbolt授权:用boltctl list查看Akitio Node的状态,如果是unauthorized,执行sudo boltctl authorize <设备UUID>授权。
  • 如果仍有驱动加载失败问题,可以尝试在GRUB里添加参数pci=noaer,解决部分PCIe设备的错误报告问题。

备注:内容来源于stack exchange,提问作者Rahul

火山引擎 最新活动