ubuntu20.04安装cuda11.7和显卡驱动

1、禁用nouveau

复制代码
sudo vi /etc/modprobe.d/nouveau.conf

在最下面加入blacklist nouveau

复制代码
sudo update-initramfs -u

sudo reboot

输入命令,如果没有任何输出,证明禁用成功

复制代码
lsmod | grep nouveau

2、安装cuda11.7

CUDA Toolkit Archive | NVIDIA Developer

CUDA Toolkit 11.7 Downloads | NVIDIA Developer

复制代码
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin

sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb

sudo dpkg -i cuda-repo-ubuntu2004-11-7-local_11.7.0-515.43.04-1_amd64.deb

sudo cp /var/cuda-repo-ubuntu2004-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/

sudo apt-get update

sudo apt-get -y install cuda
复制代码
export PATH=$PATH:/usr/local/cuda/bin  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

source ~/.bashrc

sudo apt-get install libopencv-dev

1、QT

sudo apt install libxcb-xinerama0

注:安装系统时没有选择边安装边更新,此处会缺依赖库

sudo apt-get install build-essential

sudo apt-get install libgl1-mesa-dev

sudo apt-get install libglu1-mesa-dev

sudo apt-get install freeglut3-dev

sudo apt install gcc

sudo apt install g++

sudo apt install make

sudo apt install cmake cmake-gui

sudo apt install openssh-server

./qt-unified-linux-x64-online.run

sudo apt-get install libxcb-cursor0

export QTDIR=/home/visionnav/Qt/6.2.4/gcc_64

export PATH=QTDIR/bin:PATH

export LD_LIBRARY_PATH=QTDIR/lib:LD_LIBRARY_PATH

首先安装VTK的依赖:X11,OpenGL;cmake和cmake-gui在安装pcl依赖的时候安装过了的话可以跳过

X11

sudo apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev

OpenGL

sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev

cmake && cmake-gui

sudo apt-get install cmake cmake-gui

下载vtk9.1.0

Files · v9.1.0 · VTK / VTK · GitLab

配置cmake-gui config generate

make -j14

sudo make install

export VTK_DIR=/usr/local/include/vtk-9.1

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

cpp 复制代码
#include <vtkCubeSource.h>
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>

#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2) // 初始化OpenGL渲染模块
VTK_MODULE_INIT(vtkInteractionStyle) // 初始化交互式模块

int main()
{
    vtkSmartPointer<vtkCubeSource> cubeSource = vtkSmartPointer<vtkCubeSource>::New();

    vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
    mapper->SetInputConnection(cubeSource->GetOutputPort());

    vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New();
    actor->SetMapper(mapper);

    vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
    renderer->AddActor(actor);

    vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
    renderWindow->AddRenderer(renderer);

    vtkSmartPointer<vtkRenderWindowInteractor> interactor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
    interactor->SetRenderWindow(renderWindow);

    renderWindow->Render();
    interactor->Start();

    return 0;
}

makefile

cpp 复制代码
CC = g++
CFLAGS = -I/usr/local/include/vtk-9.1/
LDFLAGS = -L/usr/local/lib
LIBS = -lvtkRenderingCore-9.1 -lvtkRenderingOpenGL2-9.1 -lvtkInteractionStyle-9.1 \
        -lvtkFiltersSources-9.1 -lvtkCommonExecutionModel-9.1 -lvtkCommonCore-9.1 \
        -lvtksys-9.1

SRC = vtk_test.cpp
OBJ = $(SRC:.cpp=.o)
EXECUTABLE = vtk_test

all: $(EXECUTABLE)

$(EXECUTABLE): $(OBJ)
        $(CC) $(LDFLAGS) $^ -o $@ $(LIBS)

.cpp.o:
        $(CC) $(CFLAGS) -c $< -o $@

clean:
        rm -f $(OBJ) $(EXECUTABLE)

PCL

sudo apt-get install libboost-all-dev

sudo apt-get install libeigen3-dev

sudo apt-get install libflann-dev

sudo apt-get install libqhull-dev

sudo apt-get install libusb-1.0-0-dev

sudo apt-get install libopenni-dev

Releases · PointCloudLibrary/pcl · GitHub

https://www.coin-or.org/download/source/metslib/metslib-0.5.3.tgz

sudo sh ./configure

sudo make

sudo make install

相关推荐
小王努力学编程6 分钟前
【Linux网络编程】UDP Echo Server的实现
linux·运维·服务器·网络·c++·学习·udp
想睡hhh6 分钟前
Leetcode12 13——罗马数字与整数之间的转换
linux·运维·服务器
二狗哈9 分钟前
go游戏后端开发31:麻将游戏的碰牌与胡牌逻辑
服务器·游戏·golang
阿里云云原生10 分钟前
如何使用通义灵码玩转Linux - AI编程助手提升效率
linux
Peter_chq12 分钟前
selenium快速入门
linux·开发语言·chrome·python·selenium
·云扬·12 分钟前
【BUG】远程连接阿里云服务器上的redis报错
服务器·阿里云·bug
Dklau-c40 分钟前
『Linux_网络』 第一章 网络基础概念
linux·服务器·网络
Pseudo…40 分钟前
linux shell编程规范与变量(一)
linux·运维·服务器
Gold Steps.43 分钟前
真实企业级K8S故障案例:ETCD集群断电恢复与数据保障实践
服务器·k8s·高可用·故障恢复
Gold Steps.43 分钟前
基于Kubeadm实现K8S集群扩缩容指南
运维·容器·k8s