背景 这里使用的是国产统信UOS操作系统的实体机,显卡是Nvidia Quadro P620
,默认源里是没有VirtualGL和TurboVNC两个软件的,所以需要编译安装。还测试了EXSI8.0情况下使用Nvidia Tesla V100
直通安装的银河麒麟SP10虚拟机,这里需要注意一下,开机启动方式必须是EFI或者UEFI,并且勾选安全启动,要不直接使用BIdOS的方式启动你的驱动时怎么也安装不上的。
安装显卡驱动 更新系统及查看相关信息 sudo apt update && sudo apt upgrade -y
sudo apt install dkms build -essential linux-headers-generic
sudo lsmod | grep nouveau
sudo lspci | grep VGA
sudo lspci | grep NVIDIA
sudo lshw –c video | grep configuration
sudo systemctl stop lightdm
复制禁用nouveau驱动 打开或创建黑名单配置文件: 通常,这个文件位于 /etc/modprobe.d/ 目录下。你可以创建一个新的配置文件专门用来禁用 nouveau,例如:
sudo touch /etc/modprobe.d/blacklist-nvidia-nouveau.conf
cat >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf << EOF
blacklist nouveau
options nouveau modeset=0
EOF
复制以上作用是将 nouveau 驱动添加到黑名单,并设置 nouveau 不使用任何模式设置。
如果时EXSI直通显卡的话需要启用对不支持的GPU的支持。
sudo touch /etc/modprobe.d/nvidia.conf
cat >> /etc/modprobe.d/nvidia.conf << EOF
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
EOF
复制禁用驱动后,需要重新生成initramfs,以确保在下一次启动时不加载 nouveau 驱动。
sudo dracut
sudo update -initramfs -u
sudo apt
sudo reboot
复制官网解决此问题的大神回复1 官网解决此问题的大神回复2
安装Nvidia驱动 Nvidia官网 查好版本下载指定驱动:NVIDIA-Linux-x86_64-535.183.06.run
wget https://us.download.nvidia.com/tesla/535.183.06/NVIDIA-Linux-x86_64-535.183.06.run
chmod +x NVIDIA-Linux-x86_64-535 .183 .06 .run
sudo ./NVIDIA-Linux-x86_64-535 .183 .06 .run
复制查看最终驱动安装结果:
VirtualGL 编译环境安装
yum install gcc gcc-c++ git cmake libstdc++-static
sudo apt install gcc g++
复制依赖环境安装
yum install opencl-headers ocl-icd ocl-icd-devel libX11-devel libXext-devel libXrender-dev libXtst-devel libXt-devel xcb-util-keysyms-devel
sudo apt install opencl-headers ocl-icd-opencl-dev libx11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libxcb-keysyms-dev
复制下载源码编译安装 git clone https://github.com/VirtualGL/virtualgl.git
cmake .
make -j9 && make install
复制配置 sudo nvidia-xconfig
sudo nvidia-xconfig -a
sudo service lightdm stop
sudo /opt/VirtualGL/bin /vglserver_config
usermod -a -G vglusers <用户名>
sudo service lightdm start
sudo reboot
复制TurboVNC 依赖环境安装
yum install libjpeg-turbo libjpeg-turbo-devel pam-devel java java -devel
sudo apt install libturbojpeg0-dev libpam0g-dev java -dev
复制防止配置时出现Could no find PAM headers
报错 主要是依赖安装完了,对应的头文件也有,说啥检查不到文件,应该是有些环境没配置才导致的这个错误。
注释掉unix/Xvnc/programs/Xserver/hw/vnc/CMakelists.txt
的14行#message(FATAL_ERROR "Could no find PAM headers")
下载源码编译安装 git clone https:
cmake .
make -j9 && make install
复制配置 在/opt/TurboVNC/etc/turbovncserver.conf
配置文件修改配置如下:
复制运行vncserver /opt/TurboVNC/bin/vncserver -geometry 1920 x1080 :1
复制结合VirtualGL运行相关程序 /opt/VirtualGL/bin/vglrun glxinfo | grep OpenGL
复制
最终连接效果