3、Ubuntu环境搭建:Ubuntu 22.04系统安装与基础配置、NVIDIA驱动与CUDA Toolkit安装
说实话,很多做机器人仿真的朋友,第一步就卡在环境上。Windows下点几下鼠标还行,一到Ubuntu就懵了。我当年第一次装双系统,折腾了整整一个周末,最后还把硬盘分区搞坏了……嗯,后来我总结了一套稳如老狗的流程,今天全部分享给你。
这一章,我们只干三件事:装系统、装驱动、装CUDA。每一步我都会告诉你「为什么这么做」以及「踩过的坑在哪」。
3.1 为什么选Ubuntu 22.04 LTS?
你可能要问:Ubuntu版本那么多,为什么偏偏选22.04?
原因很简单——Isaac Sim 2023.1及以上版本,官方明确推荐Ubuntu 22.04。而且22.04是LTS(长期支持版),到2027年才停止维护。你想想看,一个仿真项目从开发到部署,少说半年一年,中间系统突然不支持了,那得多闹心。
| 对比项 | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS |
|---|---|---|---|
| Isaac Sim官方推荐 | 部分旧版本支持 | ✅ 主流推荐 | ⚠️ 兼容性待验证 |
| CUDA 12.x支持 | 需手动添加源 | ✅ 原生支持 | ✅ 原生支持 |
| NVIDIA驱动兼容性 | 部分新驱动需PPA | ✅ 官方源稳定 | ✅ 官方源稳定 |
| 维护周期 | 2025年4月到期 | 2027年4月到期 | 2029年4月到期 |
我个人习惯:生产环境永远用LTS,而且不追最新。24.04虽然新,但Isaac Sim的兼容性还没完全铺开,没必要当小白鼠。
3.2 系统安装:双系统还是虚拟机?
这个问题我经常被问到。我的建议很直接:
- 如果你有独立显卡(NVIDIA):必须装双系统或纯Ubuntu。虚拟机无法直通GPU性能,Isaac Sim的渲染和物理仿真会卡成PPT。
- 如果你只有集显或笔记本:可以先在虚拟机上练手,但最终还是要上双系统。
下面我以双系统为例,讲几个关键步骤。
3.2.1 制作启动盘
去Ubuntu官网下载22.04 LTS桌面版ISO。然后用Rufus(Windows)或balenaEtcher(跨平台)写进U盘。注意:写入模式选「DD镜像」模式,别问我为什么,我曾经用ISO模式装完系统死活进不去桌面……
3.2.2 磁盘分区
安装时选「其他选项」手动分区。我的推荐方案:
| 挂载点 | 大小 | 文件系统 | 说明 |
|---|---|---|---|
| /boot/efi | 512 MB | FAT32 | UEFI引导分区,必须 |
| / | 50-80 GB | ext4 | 系统根目录,够用 |
| /home | 剩余空间 | ext4 | 你的数据和项目文件 |
| swap | 16 GB(内存大小) | swap | 休眠用,内存大可不设 |
3.3 基础配置:装完系统第一件事
系统装好后,别急着装驱动。先把系统更新到最新,再装一些必备工具。
# 更新软件源和系统
sudo apt update && sudo apt upgrade -y
# 安装基础开发工具
sudo apt install -y build-essential dkms git curl wget vim
# 安装显卡驱动依赖
sudo apt install -y linux-headers-$(uname -r)
这里有个坑:linux-headers一定要装,否则后面装NVIDIA驱动会报错。我遇到过好几次,驱动装到一半说找不到内核头文件,那叫一个尴尬。
3.4 NVIDIA驱动安装:两种方法,一种推荐
驱动安装有两种主流方式:
- Ubuntu官方源自动安装(推荐)
- NVIDIA官网.run文件手动安装(不推荐新手)
3.4.1 方法一:官方源安装(推荐)
先查看你的显卡型号和推荐驱动:
# 查看显卡型号
lspci | grep -i nvidia
# 查看推荐驱动版本
ubuntu-drivers devices
输出会显示类似这样的信息:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B06sv00001043sd0000861Dbc03sc00i00
vendor : NVIDIA Corporation
model : GP102 [GeForce GTX 1080 Ti]
driver : nvidia-driver-535 - distro non-free recommended
driver : nvidia-drriver-525 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
看到recommended那个版本了吗?直接装它:
sudo apt install -y nvidia-driver-535
装完重启:
sudo reboot
重启后验证:
nvidia-smi
如果看到类似下面的输出,说明驱动装好了:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.05 Driver Version: 535.86.05 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. |
|===============================+======================+======================|
| 0 GeForce GTX 1080 Ti Off | 00000000:01:00.0 On | N/A |
| 30% 45C P0 65W / 250W | 1234MiB / 11264MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
3.4.2 方法二:官网.run文件安装(不推荐)
这个方法我只有在官方源没有对应驱动版本时才用。流程如下:
- 去NVIDIA官网下载对应显卡的.run驱动文件
- 先禁用nouveau开源驱动
- 进入纯命令行模式(Ctrl+Alt+F2)
- 停止图形界面服务
- 运行.run文件安装
步骤繁琐,而且容易翻车。我个人建议:能用官方源就别折腾。
3.5 CUDA Toolkit安装:版本匹配是关键
驱动装好了,接下来装CUDA。注意:CUDA版本必须和驱动版本匹配。你可以在nvidia-smi输出里看到「CUDA Version: 12.2」,这表示当前驱动最高支持CUDA 12.2。
Isaac Sim 2023.1要求CUDA 11.8或12.x。我推荐装CUDA 12.2,兼容性最好。
3.5.1 安装CUDA 12.2
去NVIDIA CUDA Toolkit Archive下载对应版本。我习惯用runfile方式安装,因为可以自定义路径:
# 下载CUDA 12.2 runfile
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run
# 运行安装
sudo sh cuda_12.2.0_535.54.03_linux.run
安装时注意:
- 取消勾选「Driver」选项(因为我们已经装好了驱动)
- 只保留「CUDA Toolkit」和「CUDA Samples」
- 安装路径默认即可(/usr/local/cuda-12.2)
3.5.2 配置环境变量
安装完成后,把CUDA加入环境变量:
# 编辑 ~/.bashrc
echo 'export PATH=/usr/local/cuda-12.2/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
验证安装:
nvcc --version
输出应该类似:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.140
Build cuda_12.2.r12.2/compiler.33567101_0
update-alternatives管理版本切换。我一般把常用版本设为默认,需要时手动切换。
3.6 本章知识体系总览
下面这张图,帮你把整个环境搭建的脉络理清楚:
3.7 常见问题与排错
最后,我把这些年遇到的高频问题列出来,你遇到了直接对照着查:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| nvidia-smi报错「NVIDIA-SMI has failed」 | 驱动未正确加载 | 检查Secure Boot是否关闭;重新安装驱动 |
| nvcc命令找不到 | 环境变量未配置 | 检查~/.bashrc中PATH和LD_LIBRARY_PATH |
| 安装驱动时报错「Unable to find the kernel source tree」 | 未安装linux-headers | 执行sudo apt install linux-headers-$(uname -r) |
| 笔记本外接显示器不亮 | PRIME模式设置错误 | 在NVIDIA X Server Settings中切换PRIME Profiles |
| CUDA编译报错「unsupported GNU version」 | gcc版本过高 | 安装gcc-11并设为默认:sudo apt install gcc-11 g++-11 |
quiet splash后面加nomodeset,然后按Ctrl+X启动。进入系统后卸载冲突驱动,重新安装。