vmware虚拟机玩GPU显卡直通
安装好exsi以后,找到管理----硬件-----PCI设备,勾选想要直通的显卡,然后点击“切换直通”

切换以后可以看到列表中的直通列显示为活动就对了。
然后编辑虚拟机设置,CPU关闭硬件虚拟化(向客户机操作系统公开硬件辅助的虚拟化)

内存勾选锁定(预留所有客户机内存,全部锁定)

,虚拟机选项----引导选项-----关闭UEFU安全引导(这个必须要关,很重要)



添加其他设备-------PCI设备,在配置界面的最底部会多出来一个“新PCI设备”,选择想要直通的设备,


依次添加想要直通的显卡

看其他文章建议,将声卡也一块加进去,那就把声卡也加进去避免出现未知问题。下图是我正常工作以后的截图:

我这里安装的是ubuntu 22.04,内核是5.19.0-32,安装过程中不要勾选(安装第三方显卡或WIFI 驱动那个复选框),安装完系统以后在安装英伟达驱动前务必先apt update更新包,再apt upgrade升级所有包,特别是和核心有关的包都升级到最新版以后再开始安装英伟达驱动。
参考文章:https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-manjaro-linux
Nvidia-smi "No devices were found" - VMWare ESXI Ubuntu Server 20.04.03 with RTX3070 - #38 by frostywite - Linux - NVIDIA Developer Forums
到Official Drivers | NVIDIA 这里下载对应的设备驱动.run文件,之前英伟达官方网站的deb安装方式不行,没法加参数-m =kernel-open去安装驱动,不是虚拟机下面的没问题,虚拟化下面的目前看只能通过.run文件加参数-m=kernel-open安装。
按照下面的方法进行安装:
sudo apt install libglvnd-core-dev libglvnd-dev build-essential
先执行一遍.run文件,目的是按照提示让驱动程序去创建/etc/modprobe.d/blacklist-nvidia-nouveau.conf这些文件,上传下载得到的.run文件到ubuntu 22,chmod +x 赋予可执行权限,然后
./NVIDIA-Linux-x86_64-550.107.02.run -m=kernel-open



如果安装的是ubuntu server系统,按照提示直接安装完reboot就可以用了,如下:

如果是ubuntu desktop,需要按照下面的方法安装
nano /etc/modprobe.d/blacklist-nvidia-nouveau.conf
blacklist nouveau
options nouveau modeset=0
nano /etc/modprobe.d/nvidia.conf
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
sudo update-initramfs -u
Reboot
上传下载得到的.run文件到ubuntu 22,chmod +x 赋予可执行权限,然后
./NVIDIA-Linux-x86_64-550.107.02.run -m=kernel-open
所有能选择yes的都选择yes,安装完成以后reboot,执行nvidia-smi,可以看到下面的画面:


-----------------------------------------------------------------------------------------------------------------------------
下面的资料是来回折腾尝试配置的时候的资料,不用看了,按照上面的方法安装就可以用了。
1. Go to: /etc/modprobe.d/
2. Make a file: blacklist-nvidia-nouveau.conf
3. Put this in the file:
blacklist nouveau
options nouveau modeset=0
4. Make a other “nvidia.conf” file and put this in the file: options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
5. Updat kernel init ram fs: sudo update-initramfs -u
6. Reboot
7. Go to the Nvidia site to the page to download the driver that you want.
8. Copy the URL of the download butten and past it behind wget to download it to the current folder
9. Sudo chmod 700 the file
10. Run the install file: sudo .\filename.run
a. For open source: sudo .\filename.run -m=kernel-open
b. Watch out! See that the nvidia.conf file exist in the modprobe folder and you have rebooted (and run the update-initramfs commando). Then only the GTX/RTX/QUADRO cards wil work!
11. After the instalation reboot the server
12. Test with nvidia-smi
13. Great succes!
pciPassthru.use64bitMMIO配置为TRUE
VMkernel.Boot.disableACSCheck配置为TRUE
pciPassthru.64bitMMIOSizeGB配置为64 #我这里测试没有配置这个也能工作
nano /etc/modprobe.d/blacklist.conf 在文件的最后添加以下内容后重启
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
blacklist nv
如果你前面的步骤没有禁用uefi安全启动,安装驱动的时候会有下面的提示:会要求你输入两遍密码,记住输入的密码,过一会重启以后要用。

重启以后会出现下面这样的界面,选择第二个Enroll MOK,选择continue,一直到要你输入密码后reboot

都安装好以后如果提示找不到设备,可以敲以下命令进行排查
nvidia-smi 这个现在我执行是提示没有设备
root@vgpu1:~# lspci | grep NVIDIA
03:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
03:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
03:01.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
03:01.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
root@vgpu1:~# lsmod | grep nvidia
nvidia_uvm 4677632 0
nvidia_drm 98304 0
nvidia_modeset 1343488 1 nvidia_drm
nvidia 54030336 2 nvidia_uvm,nvidia_modeset
drm_kms_helper 200704 2 vmwgfx,nvidia_drm
drm 581632 8 vmwgfx,drm_kms_helper,nvidia,drm_ttm_helper,nvidia_drm,ttm
root@vgpu1:~# dmesg | grep nvidia
[ 6.244921] audit: type=1400 audit(1723624822.923:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=785 comm="apparmor_parser"
[ 6.244926] audit: type=1400 audit(1723624822.923:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=785 comm="apparmor_parser"
[ 6.898620] nvidia: loading out-of-tree module taints kernel.
[ 6.898632] nvidia: module license 'NVIDIA' taints kernel.
[ 7.046885] nvidia-nvlink: Nvlink Core is being initialized, major device number 236
[ 7.048732] nvidia 0000:03:00.0: enabling device (0000 -> 0003)
[ 7.049766] nvidia 0000:03:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[ 7.099483] nvidia 0000:03:01.0: enabling device (0000 -> 0003)
[ 7.100327] nvidia 0000:03:01.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[ 7.220493] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 550.54.15 Tue Mar 5 21:59:57 UTC 2024
[ 7.257032] [drm] [nvidia-drm] [GPU ID 0x00000300] Loading driver
[ 8.143173] [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000300] Failed to allocate NvKmsKapiDevice
[ 8.143332] [drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000300] Failed to register device
[ 8.143448] [drm] [nvidia-drm] [GPU ID 0x00000301] Loading driver
[ 9.024981] [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000301] Failed to allocate NvKmsKapiDevice
[ 9.025120] [drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000301] Failed to register device
[ 9.111670] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.
[ 9.141323] nvidia-uvm: Loaded the UVM driver, major device number 234.
root@vgpu1:~# lshw -c video*-displaydescription: VGA compatible controllerproduct: SVGA II Adaptervendor: VMwarephysical id: fbus info: pci@0000:00:0f.0logical name: /dev/fb0version: 00width: 32 bitsclock: 33MHzcapabilities: vga_controller bus_master cap_list rom fbconfiguration: depth=32 driver=vmwgfx latency=64 resolution=1176,885resources: irq:16 ioport:840(size=16) memory:f0000000-f7ffffff memory:ff000000-ff7fffff memory:c0000-dffff*-display:0description: VGA compatible controllerproduct: GA102 [GeForce RTX 3090]vendor: NVIDIA Corporationphysical id: 0bus info: pci@0000:03:00.0version: a1width: 64 bitsclock: 33MHzcapabilities: pm msi pciexpress vga_controller bus_master cap_listconfiguration: driver=nvidia latency=248resources: irq:17 memory:fc000000-fcffffff memory:c0000000-cfffffff memory:d2000000-d3ffffff ioport:d80(size=128)*-display:1description: VGA compatible controllerproduct: GA102 [GeForce RTX 3090]vendor: NVIDIA Corporationphysical id: 26bus info: pci@0000:03:01.0version: a1width: 64 bitsclock: 33MHzcapabilities: pm msi pciexpress vga_controller bus_master cap_listconfiguration: driver=nvidia latency=248resources: irq:18 memory:fb000000-fbffffff memory:b0000000-bfffffff memory:d0000000-d1ffffff ioport:d00(size=128)
root@vgpu1:~# lspci | grep NVIDIA
03:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
03:00.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
03:01.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
03:01.1 Audio device: NVIDIA Corporation GA102 High Definition Audio Controller (rev a1)
sudo journalctl -b
如果需要卸载旧的驱动或者删除有问题的驱动,可以尝试将下面的内容存为shell 脚本去执行
sudo nvidia-uninstall
sudo apt purge -y '^nvidia-*' '^libnvidia-*'
sudo rm -r /var/lib/dkms/nvidia
sudo apt -y autoremove
sudo update-initramfs -c -k `uname -r`
sudo update-grub2
read -p "Press any key to reboot... " -n1 -s
sudo reboot
相关文章:
vmware虚拟机玩GPU显卡直通
安装好exsi以后,找到管理----硬件-----PCI设备,勾选想要直通的显卡,然后点击“切换直通” 切换以后可以看到列表中的直通列显示为活动就对了。 然后编辑虚拟机设置,CPU关闭硬件虚拟化(向客户机操作系统公开硬件辅助的…...
Linux下Oracle 11g升级19c实录
1.组件信息 source /home/oracle/.bash_profile11g && sqlplus "/ as sysdba"<<EOF set line 200 col COMP_NAME for a40 select comp_name,VERSION,STATUS from dba_registry; exit; EOF COMP_NAME VERSION …...
haproxy实验-2
haproxy中的算法 静态算法:按照事先定义好的规则轮询公平调度,不关心后端服务器的当前负载、连接数和响应速度 等,且无法实时修改权重(只能为0和1,不支持其它值),只能靠重启HAProxy生效。 static-rr:基于权重的轮询…...
動態PPTP代理IP是什麼?
PPTP即Point-to-Point Tunneling Protocol,點對點隧道協議,是一種常用的VPN協議,主要用於創建虛擬專用網路。通過將用戶的網路流量加密並通過一個中間伺服器傳輸,實現了對用戶IP地址的隱藏和數據的保護。而動態PPTP代理IP則是在傳…...
《全面解析 Nginx:从下载安装到高级应用与问题解决》
Nginx 一、Nginx 简介 什么是 Nginx 以及其功能 Nginx 是一款高性能的 HTTP 和反向代理的 Web 服务器,在处理高并发方面表现卓越,具备强大的能力来承受高负载,有相关报告指出其能够支持高达 50,000 个并发连接数。其显著特点为占用内存少、…...
python获取视频时长
今天有个需求,需要获取视频时长: 方法一:使用moviepy库打开视频文件并获取视频剪辑对象,然后通过剪辑对象获得视频时长。方法二:使用cv2库通过打开视频文件并获取帧率和总帧数两个属性,计算视频时长。 请…...
php-xlswriter实现数据导出excel单元格合并,内容从指定行开始写
最终效果图: 代码: public function export_data() {$list $this->get_list_organ();$content [];$content[] []; // 第2行不设置内容,设置为空foreach ($list as $key > $value) {$content[] [$value[organ_name], $value[clas…...
注意力模型QKV矩阵与位置向量计算
注意力模型QKV矩阵计算 在注意力机制中,Query (Q)、Key (K) 和 Value (V) 矩阵是通过对输入向量进行线性变换得到的,而这些矩阵的初始化与更新与神经网络的权重类似。 1. Q, K, V矩阵的初始化 线性变换:在注意力机制中,输入序列…...
glm4-9B-chat,使用提示工程激活模型最大潜力
文章目录 安全与免责申明简介GLM4-9B直接问答提示工程 激活能力 安全与免责申明 本文旨在研究大模型的安全,交流大模型目前安全方面的一些不足。 所有的实验与讨论的目的均是在进行科学研究的实验的需要。 简介 本文使用Ollama和LangChain,通过提示词…...
[Linux]在Ubuntu中如何正确安装python
一、在Ubuntu中python常见的安装方式 在Ubuntu中我们常用的python安装方式有使用包管理工具安装或者使用源码安装,下面我们来讲解一下这两种安装方式的优缺点。首先是使用包管理工具安装,我们可以直接使用“apt install python3.9”来安装一个我们想要的…...
[Vue3 + TS + Vite]文件选择器-组件
文件选择器组件代码 <script setup lang"ts"> import { ref, onMounted, defineProps, defineEmits, computed, toRaw } from vue;// 定义props interface Props {buttonTextUnactive?: string;buttonTextActive?: string;onFatherClick?: boolean; }// 定…...
Chrome书签搜索插件
效果展示 这是一个chroma插件,可以按住 ctrl/command B 进行搜索您的书签,并且点击打开您的书签。支持上下切换回车打开新页面。 扩展下载地址 bookmark-search 欢迎有任何问题给我提 issues...
MATLAB算法实战应用案例精讲-【人工智能】联邦学习(二)(附python代码实现)
目录 前言 几个高频面试题目 面向隐私保护的机器学习(PPML)和安全机器学习(Secure ML)的区别: 联邦学习、安全计算是什么关系? 联邦学习有哪些类型?如何区分横向联邦学习和纵向联邦学习? 什么是IID?什么是Non-iid? 联邦学习训练后的模型是一个公共的模型,而…...
在 C++ 中实现一个简单的图形用户界面(GUI)应用
在 C 中实现一个简单的图形用户界面(GUI)应用 图形用户界面(GUI)应用程序是现代软件开发中不可或缺的一部分。它们为用户提供了直观的交互方式,使得操作更加简单和高效。本文将介绍如何在 C 中实现一个简单的 GUI 应用…...
如何编写一个CMakeLists.txt文件(由简到难,较详细)
在Linux系统下,经常使用CMakeLists.txt文件来链接、编译C工程,大部分人clone的代码里都是有CMakeLists.txt文件的,只需要cmake .. 和make就完事了,但在工作中,你必须要有从无到有编写CMakeLists.txt文件的能力。 一、…...
数据结构----链表
一丶概念 链表又称单链表、链式存储结构,用于存储逻辑关系为“一对一”的数据。 和顺序表不同同,使用链表存储数据,不强制要求数据在内存中集中存储,各个元素可以分散存储在内存中。 二丶特点 特点:内存不连续…...
【Qt】内置对话框
一.Qt内置对话框 Qt 提供了多种可复⽤的对话框类型,即 Qt 标准对话框。Qt标准对话框全部继承于QDialog类。常⽤标准对话框如下: 二.内置对话框分类 1.消息对话框 QMessageBox 1.1 概念 消息对话框是应⽤程序中最常⽤的界⾯元素。消息对话框主要⽤于为…...
excel常规操作
一、去重 IF(COUNTIF($D$1:D2,D2)>1,"",C2) —— D是去重的列 二、不同列匹配 VLOOKUP(A1,E:F,2,0) vlookup(查找值, 查找区域, 返回查找区域的第几列数据, 精确查找输入参数"0"or"false" 或 模糊查找输入参数"1"or"true…...
uniapp webview子页面向父页面发送数据和触发事件,重点在第3条!!!
1、众所周知H5中iframe可以用过postmessage进行,从H5子页面向H5父页面进行通信。方法如下: // 子页面 window.parent.postMessage({ data: 你的消息 }, *);// 父页面 <iframe src"xxxxxxxxxxx"></iframe> window.addEventListene…...
【STM32实物】基于STM32+ESP32+手机APP设计的智能宠物喂食系统实物源码原理图PCB设计文档演示视频——(文末工程资料下载)
基于STM32+ESP32+手机APP设计的智能宠物喂食系统 演示视频 基于STM32+ESP32+手机APP设计的智能宠物喂食系统 摘 要 近年来,宠物在人们生活中越来越不可或缺,给人们带来的陪伴和快乐。然而,由于种种原因,主人不能时刻照顾宠物的饮食,所以宠物喂食装置变得尤为重要。传…...
【ROS2小白入门】从 ROS 1 到 ROS 2 的跨越:实战重构机器人底盘 Manager 节点
文章目录一、 构建系统的蜕变:CMakeLists.txt 的优雅转身1. 告别 target_link_libraries🚨 避坑指南 1:找不到 serial 串口库?二、 C 源码大换血:彻底消灭 NodeHandle三、 通信机制迁移:发布、订阅与异步服…...
PrankWeb 蛋白质配体结合位点预测,超简单使用教程
一、PrankWeb 是什么? PrankWeb 是一个免费的在线蛋白质配体结合位点预测工具,基于机器学习算法 P2Rank。 它能帮你: 预测蛋白质上可能的药物结合口袋(pockets) 可视化蛋白质的三维结构和结合位点 …...
【Java并发进阶】多线程案例核心解析(单例模式、阻塞队列、定时器、线程池...)
在实际开发中,多线程不仅仅是“会创建线程”那么简单。如何安全地共享数据、如何协调多个线程之间的协作、如何提升系统性能,才是工程中的重点。本文结合经典案例,深入理解:单例模式、生产者-消费者模型、阻塞队列、定时器、线程池…...
用OpenMV和STM32F765VI做个追球小车:从硬件接线到PID调参的保姆级避坑指南
从零打造智能追球小车:OpenMV与STM32F765VI实战全解析 1. 项目构思与硬件选型 第一次尝试用视觉识别做智能小车时,我对着满桌子的开发板和传感器发愁——到底哪些组合才能既省钱又高效?经过三个版本的迭代,这套基于STM32F765VI和O…...
深入解析Infineon BTS54040-LBF高边芯片的SPI控制与汽车电子应用
1. BTS54040-LBF高边芯片的核心特性解析 第一次接触英飞凌的BTS54040-LBF时,我正负责一个汽车氛围灯控制项目。这块指甲盖大小的芯片让我印象深刻——它把四路高边开关、SPI控制和完善的保护机制集成在单个封装里。先说说最关键的几个特性: 四通道智能开…...
罗技鼠标宏压枪系统:从技术原理到实战应用
罗技鼠标宏压枪系统:从技术原理到实战应用 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 引言:射击游戏中的后坐力挑战 …...
Blender3mfFormat插件:3MF文件处理全攻略
Blender3mfFormat插件:3MF文件处理全攻略 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 一、项目核心价值解析 Blender3mfFormat作为Blender的专业级3MF文件…...
从医院呼叫器到智能家居:用Multisim 14.2复刻经典八路呼叫器(附完整仿真文件)
从医院呼叫器到智能家居:用Multisim 14.2复刻经典八路呼叫器(附完整仿真文件) 在电子技术发展的历史长河中,经典电路设计往往蕴含着跨越时代的智慧。八路呼叫器作为数字电子技术的经典教学案例,其核心模块——编码、锁…...
[特殊字符] Kimi 智能助手完全使用指南:从入门到精通
Kimi 是由月之暗面(Moonshot AI)开发的国产 AI 智能助手,自发布以来凭借超长上下文窗口、强大的 Agent 能力和多模态交互,成为国内 AI 工具的重要选择。本指南将系统介绍 Kimi 的核心功能、使用技巧及进阶玩法,帮助你充…...
如何用ImageGlass替代Windows默认图片查看器:90+格式支持的完整指南
如何用ImageGlass替代Windows默认图片查看器:90格式支持的完整指南 【免费下载链接】ImageGlass 🏞 A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 在Windows系统中寻找一款能够完美替代默认图…...
