Author Topic: [MOVED] Hacking NVidia Cards into their Professional Counterparts  (Read 1652200 times)

0 Members and 2 Guests are viewing this topic.

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1500 on: December 12, 2020, 09:13:31 pm »
This is totaly new. No thx :)
My goal is now buy a new gpu (2080ti)
Install ubuntu 20/10
Install kvm
Configure a VM with gpu pathtrough
Spoof it as RTX6000 or 8000 <--- this point is very importand for me.
I find a cool video there everything explained how to install it on ubuntu.

 https://youtu.be/ID3dlVHDl0c

Only thing is can't find videos for spoofing gpus.

You can use the VFIO PCI spoof arguments that I posted earlier. It works flawlessly.

Perfect thxxxx

Last questen is there any "error 43" problems with amd radeon cards?

PS Status : Sold my 2 GTX1070 now looking for 2080ti on Ebay 🤪

There will only be a code 43 if you set it up incorrectly. You need to set CPU model to "host" if you want to tell windows it is a real machine and not VM. Because you are spoofing as a QUADRO RTX card, it does not matter because the drivers for those are allowed on VMs. On AMD, you will not get a code 43 because they are a bit nicer, but they will disable some features if you are not using Radeon FirePro because it has detected VM. Otherwise, I think you will be fine.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1501 on: December 15, 2020, 11:57:44 am »
"but they will disable some features if you are not using Radeon FirePro"

what are these?

PS: My 2080ti (MSI Trio) is on the way to me   8)
« Last Edit: December 15, 2020, 12:00:11 pm by bayx »
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1502 on: December 15, 2020, 08:41:52 pm »
"but they will disable some features if you are not using Radeon FirePro"

what are these?

PS: My 2080ti (MSI Trio) is on the way to me   8)

What I am saying is that Nvidia disables GeForce driver on VM, but AMD does not. Instead, AMD disables a couple features according to the forums, but the GPU should still work. That only happens if you are using AMD gaming GPU without setting your KVM model to "host." If you are spoofing the GPU, you should be fine either way.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1503 on: December 16, 2020, 11:24:57 pm »
"but they will disable some features if you are not using Radeon FirePro"

what are these?

PS: My 2080ti (MSI Trio) is on the way to me   8)

What I am saying is that Nvidia disables GeForce driver on VM, but AMD does not. Instead, AMD disables a couple features according to the forums, but the GPU should still work. That only happens if you are using AMD gaming GPU without setting your KVM model to "host." If you are spoofing the GPU, you should be fine either way.

Understand,  same way spoof it as "FirePro" with vbios.... and some vfio configs
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1504 on: December 18, 2020, 12:30:15 am »
"but they will disable some features if you are not using Radeon FirePro"

what are these?

PS: My 2080ti (MSI Trio) is on the way to me   8)

What I am saying is that Nvidia disables GeForce driver on VM, but AMD does not. Instead, AMD disables a couple features according to the forums, but the GPU should still work. That only happens if you are using AMD gaming GPU without setting your KVM model to "host." If you are spoofing the GPU, you should be fine either way.

Understand,  same way spoof it as "FirePro" with vbios.... and some vfio configs

Actually, if all you want to do is spoof PCI ID, you dont need to flash vBIOS. Solidworks only checks for PCI ID, and no program or driver really cares about the vbios. All I had to do was spoof PCI ID and windows automatically loaded quadro driver and i got advanced functionality in solidworks.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1505 on: December 18, 2020, 12:52:40 am »
"but they will disable some features if you are not using Radeon FirePro"

what are these?

PS: My 2080ti (MSI Trio) is on the way to me   8)

What I am saying is that Nvidia disables GeForce driver on VM, but AMD does not. Instead, AMD disables a couple features according to the forums, but the GPU should still work. That only happens if you are using AMD gaming GPU without setting your KVM model to "host." If you are spoofing the GPU, you should be fine either way.

Understand,  same way spoof it as "FirePro" with vbios.... and some vfio configs

Actually, if all you want to do is spoof PCI ID, you dont need to flash vBIOS. Solidworks only checks for PCI ID, and no program or driver really cares about the vbios. All I had to do was spoof PCI ID and windows automatically loaded quadro driver and i got advanced functionality in solidworks.

This is a fantastic info... i have no time at moment, i am on fire, January i have many time for some experiments.
 
« Last Edit: December 18, 2020, 01:01:51 am by bayx »
 

Offline gotofbi

  • Contributor
  • Posts: 44
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1506 on: January 15, 2021, 09:42:12 am »
I am interested in the solution of kvm and vgpu. Can anyone guide us which file should be patched?
I am working on nvidia-vgpu. It uses flexlm embedded and binary file (****64) format....so it should be doable

Your PM box is full so I cant send you PM.
Have you worked on flexlm before?
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1507 on: January 21, 2021, 12:58:17 pm »
Hi Krutav,

Now i am ready for KVM. i bought new hardware. But i have now 16 cores (Ryzen 3950x)
but only 1 GPU :/ and no money to buy a second GPU.
Is it possible to run fedora like yours with single GPU and run a vm with GPU passthrough Simultaneously?

EDIT: I find a solution for my single gpu problem... Everything is running. Ubuntu as OS and share its own GPU (yes passthrough) with his vm on Qemu. Look here https://youtu.be/eTX10QlFJ6c :popcorn: and next step. GPU SPOOFING




« Last Edit: January 23, 2021, 01:42:24 pm by bayx »
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1508 on: January 23, 2021, 06:47:27 am »
" args: -device 'vfio-pci,host=02:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on,romfile=NVP4000,x-pci-vendor-id=0x10de,x-pci-device-id=0x1BB1,x-pci-sub-vendor-id=0x10de,x-pci-sub-device-id=0x11A3' "

This is in a different format how can i konvert it to XML like?
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1509 on: January 27, 2021, 07:22:51 pm »
" args: -device 'vfio-pci,host=02:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,multifunction=on,romfile=NVP4000,x-pci-vendor-id=0x10de,x-pci-device-id=0x1BB1,x-pci-sub-vendor-id=0x10de,x-pci-sub-device-id=0x11A3' "

This is in a different format how can i konvert it to XML like?

Sorry for the late reply. You would follow the same directions to normally passthrough GPU on XML, and then you would add in the "x-pci" tags like I did into your XML. I personally do not use XML based virtual machines, so I recommend trying it out on proxmox before.

Hi Krutav,

Now i am ready for KVM. i bought new hardware. But i have now 16 cores (Ryzen 3950x)
but only 1 GPU :/ and no money to buy a second GPU.
Is it possible to run fedora like yours with single GPU and run a vm with GPU passthrough Simultaneously?

EDIT: I find a solution for my single gpu problem... Everything is running. Ubuntu as OS and share its own GPU (yes passthrough) with his vm on Qemu. Look here https://youtu.be/eTX10QlFJ6c :popcorn: and next step. GPU SPOOFING

You could use VirtIO GPU to share graphics between host and guest Linux operating systems.
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1510 on: January 27, 2021, 07:25:53 pm »
I am interested in the solution of kvm and vgpu. Can anyone guide us which file should be patched?
I am working on nvidia-vgpu. It uses flexlm embedded and binary file (****64) format....so it should be doable

Your PM box is full so I cant send you PM.
Have you worked on flexlm before?

I actually have all the vGPU drivers for standard Linux, ESXI, Xen, and Red Hat. (460 driver 1/19/2021) I am willing to share it with anyone here who is willing to find a solution to vGPU on consumer GPU. Note that spoofing PCI ID is not enough. You need to modify the way that nvidia driver determines if the GPU is capable of vGPU or not by tooling around with Linux. I recommend using RHEL which is free now.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1511 on: January 28, 2021, 01:17:08 am »
Welcome back Krutav,

today arrives my 2nd GPU and i can fire up :).
I hope at evening i don with:
- Install proxmox
- create a vm with Windows 10 64bit
- working GPU passthrough (Nvidia@RTX2080ti)
- Spoof it as Quadro 4000 with RTX4000.rom (patched.vbios)

When everything goes well i write a point for point
every step tutorials for newbies. If not i hope you are tonight (gmt+1)
 here and login@my-system ;-)

Best regards

Edit
11:15am GPU arrived
6:40pm: proxmox installed with externally usb@lan adapter my lan adapter (Realtek-r8125) didnt
              work with px 6.3.1 failure from proxmox "network not found"  i have no idea how i
              install driver on proxmox no 'make' executable istalled thatswhy no ./autorun possible.
8:39pm: Ubuntu vm working passthrough.
9:40pm: Windows10 vm (24core24GBram2080ti) with full working passthrough  :box: (see picture)
00:55AM: GPU SPOOF as RTX4000 done (check picture)

BUT Solidworks dont open Antialiasing menu.
I am testing something i installed it bevor install quadro drivers on it maybe this is the fold. I am reinstalling it


« Last Edit: January 29, 2021, 12:09:11 am by bayx »
 
The following users thanked this post: krutav

Offline DualCoder

  • Newbie
  • Posts: 3
  • Country: se
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1512 on: January 28, 2021, 10:22:50 pm »
I actually have all the vGPU drivers for standard Linux, ESXI, Xen, and Red Hat. (460 driver 1/19/2021) I am willing to share it with anyone here who is willing to find a solution to vGPU on consumer GPU. Note that spoofing PCI ID is not enough. You need to modify the way that nvidia driver determines if the GPU is capable of vGPU or not by tooling around with Linux. I recommend using RHEL which is free now.

I gave that a shot a short while ago, the plan was to intercept all ioctl calls and "fix" the returned data to indicate vGPU support, but I didn't get far. The nvidia-vgpud service seem to only care abut the PCI device ID and changing that was pretty straight forward after some reverse engineering. The nvidia-vgpu-mgr service on the other hand gave me trouble. It seems that simply altering the values returned by the kernel module is not enough to get it working. I am assuming that the nvidia-vgpu-mgr expects some other side effect to take place in the kernel or GPU, but the kernel bails early due to the GPU being unsupported. In order to keep digging into this I will have to setup a kernel debugger which requires hardware that I do not have at the moment.

I have published the code here: https://github.com/DualCoder/vgpu_unlock if anyone wants to have a look.

Currently it crashes with a failed assertion:
Code: [Select]
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: notice: vmiop_env_log: (0x0): Received start call from nvidia-vgpu-vfio module: mdev uuid 38512783-4893-47f7-9179-b0594167e86b GPU PCI id 00:01:00.0 config params vgpu_type_id=50
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: notice: vmiop_env_log: (0x0): pluginconfig: vgpu_type_id=50
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: notice: vmiop_env_log: Successfully updated env symbols!
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: NVOS status 0x56
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: Assertion Failed at 0x42af43bf:293
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: 11 frames returned by backtrace
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: /lib/x86_64-linux-gnu/libnvidia-vgpu.so(_nv005021vgpu+0x18) [0x7f0c42b393c8]
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: /lib/x86_64-linux-gnu/libnvidia-vgpu.so(+0xa3e3b) [0x7f0c42aefe3b]
...

I should be able to continue my efforts in about a week or so. The fact that a couple of other users seemed to be able to do this fairly easily with userspace patches makes me think that I am taking the most complicated approach possible, but I don't really know any other way to approach a problem like this.
 
The following users thanked this post: krutav, kevinshane

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1513 on: January 29, 2021, 02:06:30 am »
I dont come to goal :( it identifys as /PCIe/SSE2 instead as "Nvidia RTX 4000" check picture
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1514 on: January 29, 2021, 05:38:46 pm »
I actually have all the vGPU drivers for standard Linux, ESXI, Xen, and Red Hat. (460 driver 1/19/2021) I am willing to share it with anyone here who is willing to find a solution to vGPU on consumer GPU. Note that spoofing PCI ID is not enough. You need to modify the way that nvidia driver determines if the GPU is capable of vGPU or not by tooling around with Linux. I recommend using RHEL which is free now.

I gave that a shot a short while ago, the plan was to intercept all ioctl calls and "fix" the returned data to indicate vGPU support, but I didn't get far. The nvidia-vgpud service seem to only care abut the PCI device ID and changing that was pretty straight forward after some reverse engineering. The nvidia-vgpu-mgr service on the other hand gave me trouble. It seems that simply altering the values returned by the kernel module is not enough to get it working. I am assuming that the nvidia-vgpu-mgr expects some other side effect to take place in the kernel or GPU, but the kernel bails early due to the GPU being unsupported. In order to keep digging into this I will have to setup a kernel debugger which requires hardware that I do not have at the moment.

I have published the code here: https://github.com/DualCoder/vgpu_unlock if anyone wants to have a look.

Currently it crashes with a failed assertion:
Code: [Select]
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: notice: vmiop_env_log: (0x0): Received start call from nvidia-vgpu-vfio module: mdev uuid 38512783-4893-47f7-9179-b0594167e86b GPU PCI id 00:01:00.0 config params vgpu_type_id=50
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: notice: vmiop_env_log: (0x0): pluginconfig: vgpu_type_id=50
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: notice: vmiop_env_log: Successfully updated env symbols!
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: NVOS status 0x56
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: Assertion Failed at 0x42af43bf:293
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: 11 frames returned by backtrace
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: /lib/x86_64-linux-gnu/libnvidia-vgpu.so(_nv005021vgpu+0x18) [0x7f0c42b393c8]
Jan 20 19:21:51 Debian-dom0 nvidia-vgpu-mgr[1429]: error: vmiop_log: /lib/x86_64-linux-gnu/libnvidia-vgpu.so(+0xa3e3b) [0x7f0c42aefe3b]
...

I should be able to continue my efforts in about a week or so. The fact that a couple of other users seemed to be able to do this fairly easily with userspace patches makes me think that I am taking the most complicated approach possible, but I don't really know any other way to approach a problem like this.

Hello DualCoder, I can't thank you enough for giving this a shot, you are helping the whole community! So I actually did something pretty similar, but I am not well into linux that I know how to edit IOCTL, could you please show us? Anyway, I spoofed the PCI address and almost got it working but the issue lies with the GPU vBIOS which is not configured for vGPU and ECC VRAM. And as we know, flashing a tesla vBIOS won't work because of the GPU checks. So the conclusion i came to is that you cannot spoof the PCI, but you tell the Nvidia driver that Geforce GTX XXXX is a supported card and specify profiles, only then it will work. I am all in for continuing this effort!

However, I see a lot more potential in an AMD GPU which we could probably start a new thread on. So far, I believe the RX 480 can be flashed into a Radeon Instinct MI6 to unlock SR-IOV MxGPU.
« Last Edit: January 29, 2021, 05:50:34 pm by krutav »
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1515 on: January 29, 2021, 05:48:49 pm »
Welcome back Krutav,

today arrives my 2nd GPU and i can fire up :).
I hope at evening i don with:
- Install proxmox
- create a vm with Windows 10 64bit
- working GPU passthrough (Nvidia@RTX2080ti)
- Spoof it as Quadro 4000 with RTX4000.rom (patched.vbios)

When everything goes well i write a point for point
every step tutorials for newbies. If not i hope you are tonight (gmt+1)
 here and login@my-system ;-)

Best regards

Edit
11:15am GPU arrived
6:40pm: proxmox installed with externally usb@lan adapter my lan adapter (Realtek-r8125) didnt
              work with px 6.3.1 failure from proxmox "network not found"  i have no idea how i
              install driver on proxmox no 'make' executable istalled thatswhy no ./autorun possible.
8:39pm: Ubuntu vm working passthrough.
9:40pm: Windows10 vm (24core24GBram2080ti) with full working passthrough  :box: (see picture)
00:55AM: GPU SPOOF as RTX4000 done (check picture)

BUT Solidworks dont open Antialiasing menu.
I am testing something i installed it bevor install quadro drivers on it maybe this is the fold. I am reinstalling it

That's interesting. The thing with the quadro driver in your picture is that nvidia control panel is not detecting full function. This happens when a display is not plugged in or the graphics driver is not properly installed. You'll need to get the quadro latest branch driver and try that. Also, I need to ask, did you spoof PCI ID in the proxmox configuration like I showed? What I learned is that you cannot use a different VBIOS ROM because the Romfile option only works if the ROM matches what's on the GPU. Now this is not an issue with AMD, but on Nvidia you'll need to actually flash the vBIOS on the card which isn't very easy unless you have a chip programmer. So I actually did do the PCI spoof to turn my 660Ti into a K5000, and it appeared as if the quadro driver was actually working. So what I recommend doing then is trying to find the correct registry values that determine if SOLIDWORKS can use AntiAliasing or not. If you cannot find it, I will continue the search for the solution!

EDIT: You can actually change the PCI ID of devices in windows. This allows you to do all kinds of bizarre things like installing Quadro drivers on a regular GeForce card. It won't be of much use here. I think what we need to do now is getting the VBIOS hacked for the system to really think it is real or otherwise we will need to look at alternative solutions.
« Last Edit: January 29, 2021, 05:57:53 pm by krutav »
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1516 on: January 29, 2021, 06:04:34 pm »
I dont come to goal :( it identifys as /PCIe/SSE2 instead as "Nvidia RTX 4000" check picture

So PCIE SSE2 is part of the SSE instruction set which these graphics cards rely on. If you have played Minecraft before, you will notice that it will say PCIE SSE2 next to the graphics card name because that is the instructions that the system needs to have in order to run the graphics card. This means that you can use the graphics card with CPUs made newer than 2001 that have the feature. So I don't quite see this as much of an issue, but it may be worth looking into.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1517 on: January 29, 2021, 08:01:17 pm »
[ Attachment Invalid Or Does Not Exist ]
I dont come to goal :( it identifys as /PCIe/SSE2 instead as "Nvidia RTX 4000" check picture

So PCIE SSE2 is part of the SSE instruction set which these graphics cards rely on. If you have played Minecraft before, you will notice that it will say PCIE SSE2 next to the graphics card name because that is the instructions that the system needs to have in order to run the graphics card. This means that you can use the graphics card with CPUs made newer than 2001 that have the feature. So I don't quite see this as much of an issue, but it may be worth looking into.

okey understand... i think solidworks take the info from registry... but i cant change the id windows.
tonight i run the nvidia quadro software i dont now how :D but i know now how i can gpu passthrough on my system.
have so much problems with iommu and vfio driver like this https://superuser.com/questions/1510581/vga-and-audio-assigned-to-vfio-but-not-usb-and-serial-controller-of-rtx-2080

"So what I recommend doing then is trying to find the correct registry values that determine if SOLIDWORKS can use AntiAliasing or not. If you cannot find it, I will continue the search for the solution!"

thats it. Hack the registry...
« Last Edit: January 29, 2021, 08:54:50 pm by bayx »
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1518 on: January 30, 2021, 05:17:59 am »
(Attachment Link)
I dont come to goal :( it identifys as /PCIe/SSE2 instead as "Nvidia RTX 4000" check picture

So PCIE SSE2 is part of the SSE instruction set which these graphics cards rely on. If you have played Minecraft before, you will notice that it will say PCIE SSE2 next to the graphics card name because that is the instructions that the system needs to have in order to run the graphics card. This means that you can use the graphics card with CPUs made newer than 2001 that have the feature. So I don't quite see this as much of an issue, but it may be worth looking into.

okey understand... i think solidworks take the info from registry... but i cant change the id windows.
tonight i run the nvidia quadro software i dont now how :D but i know now how i can gpu passthrough on my system.
have so much problems with iommu and vfio driver like this https://superuser.com/questions/1510581/vga-and-audio-assigned-to-vfio-but-not-usb-and-serial-controller-of-rtx-2080

"So what I recommend doing then is trying to find the correct registry values that determine if SOLIDWORKS can use AntiAliasing or not. If you cannot find it, I will continue the search for the solution!"

thats it. Hack the registry...

It never quite crossed me that so many people have issues with IOMMU PCIE passthrough. Since I use workstation/business grade used systems from few years ago, i haven't had a single issue with anything. All the graphics cards and everything passes through without a problem. As far as hacking the registry goes, I'm not quite sure how as I will have to install SOLIDWORKS again and I don't have the space to do so, nor do I need the program for now. The next experiment I want to take on is flashing the VBIOS of quadro because the driver can tell when you're just doing a PCI spoof. Some of the features like Quadro View Desktop Management is something that can only be used if the GPU is sure that it is a quadro. ECC as well, which is something missing on consumer cards but can cause applications like vGPU to not start if not configured, so that's another thing that needs to be worked on. I am thinking about using dynamic EEPROM that can change the vBIOS on command but that would likely crash the system so that one is off the list.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1519 on: January 30, 2021, 06:24:52 pm »
Quote
It never quite crossed me that so many people have issues with IOMMU PCIE passthrough. Since I use workstation/business grade used systems from few years ago, i haven't had a single issue with anything. All the graphics cards and everything passes through without a problem.
I also had no problems until I switched the USB port to the vm. The kernel-modul (xhci_hcd) catched the usb controller from rtx2080ti
Code: [Select]
02d:00.2 USB controller [0c03]: NVIDIA Corporation Device [10de:1ad7] (rev a1)
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:3721]
    Kernel driver in use: xhci_hcd

Now i use this script to unbind the driver and bind vfio-driver:
Code: [Select]
#!/bin/sh
PCI_HID="0000:2d:00.2"
echo -n "$PCI_HID" > /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "$PCI_HID" > /sys/bus/pci/drivers/vfio-pci/bind
PCI_HID="0000:2d:00.3"
echo -n "$PCI_HID" > /sys/bus/pci/drivers/nvidia-gpu/unbind
echo -n "$PCI_HID" > /sys/bus/pci/drivers/vfio-pci/bind
In which folder do I have to put it so that it starts automatically with the system?

Quote
Some of the features like Quadro View Desktop Management is something that can only be used if the GPU is sure that it is a quadro
Yes it does but i find a method to start it and activate the window manager ;) (you take it soon as pn that is maybe our unique change to hack it).
When you activate the window manager everthing looks different in the nvidia system manager.

Quote
ECC as well, which is something missing on consumer cards but can cause applications like vGPU to not start if not configured, so that's another thing that needs to be worked on. I am thinking about using dynamic EEPROM that can change the vBIOS on command but that would likely crash the system so that one is off the list.
No idea what you talking about :D

I make some photos... 

« Last Edit: January 30, 2021, 09:19:54 pm by bayx »
 

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1520 on: January 30, 2021, 09:29:20 pm »
Quote
I also had no problems until I switched the USB port to the vm. The kernel-modul (xhci_hcd) catched the usb controller from rtx2080ti
I totally forgot the newer cards have USB! Make sure you pass the whole controller to the VM as a PCIE device and add it to your PCIE Stub in GRUB. This way the host doesn't try to initialize USB and screw everything over.
Also make sure to prevent linux from loading Nvidia driver, and that the GPU gets assigned to the Stub driver. This driver makes it so the card does not get initialized until the guest VM is booted.

Quote
In which folder do I have to put it so that it starts automatically with the system?
Do this in GRUB. When you bind the Nvidia USB controller to the PCI-Stub at boot, xhci-module will never load and the host wouldn't know it is there. I'll try to post a sample GRUB configuration later to show you how this can be done. But you likely will not need any script since this kind of thing mostly works out of the box.

Quote
Yes it does but i find a method to start it and activate the window manager ;) (you take it soon as pn that is maybe our unique change to hack it).
When you activate the window manager everthing looks different in the nvidia system manager.
How were you able to get this working? I haven't found any instructions for this yet on the internet so it would be really cool seeing how you pulled it off!

Quote
No idea what you talking about :D
ECC memory is error correcting code memory which is a feature that professional graphics cards have. However for most functions, it has to be set to DISABLED. To do that, you need the correct Quadro VBIOS or Nvidia driver will say it is a GeForce and the ECC options will be gone. And for vGPU, this feature needs to be disabled and set as that or otherwise you will get no results. I'll post more as new details roll in.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1521 on: January 30, 2021, 09:59:50 pm »
Quote
Do this in GRUB. When you bind the Nvidia USB controller to the PCI-Stub at boot, xhci-module will never load and the host wouldn't know it is there. I'll try to post a sample GRUB configuration later to show you how this can be done. But you likely will not need any script since this kind of thing mostly works out of the box.

Code: [Select]
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Proxmox Virtual Environment"
GRUB_CMDLINE_LINUX_DEFAULT="quiet, amd_iommu=on, vfio-pci.ids=10de:1e07,10de:10f7,10de:1ad6,10de:1ad7"
GRUB_CMDLINE_LINUX=""

nope is not working. this is a bug in the kernel, in newer kernels is not a problem but this case (proxmox >>5.4 kernel<<) yes. Many people hava this problem. I have no idea how can i update the kernel.
Quote
Do this in GRUB. When you bind the Nvidia USB controller to the PCI-Stub at boot, xhci-module will never load and the host wouldn't know it is there. I'll try to post a sample GRUB configuration later to show you how this can be done. But you likely will not need any script since this kind of thing mostly works out of the box.
PLease a short howto where i can place it and it runs at system startup.
Quote
How were you able to get this working? I haven't found any instructions for this yet on the internet so it would be really cool seeing how you pulled it off!
You have pn.

One more thing... very intresing is when you use an older quadro driver Solidworks rendere say i have an "unknown board/PCIe/SSE2"
bevor it says (with newer quadro driver) "/PCIe/SSE2"
« Last Edit: January 30, 2021, 10:37:31 pm by bayx »
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1522 on: January 30, 2021, 10:23:29 pm »
You can activate the Quadro Destop Manager with a Remote Deskop connection right click on desktop and open RTX Desktop Manager --> activate 
in older quadro driver its called nView...
« Last Edit: January 30, 2021, 10:38:58 pm by bayx »
 
The following users thanked this post: krutav

Offline krutav

  • Contributor
  • Posts: 49
  • Country: us
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1523 on: January 31, 2021, 12:45:47 am »
You can activate the Quadro Destop Manager with a Remote Deskop connection right click on desktop and open RTX Desktop Manager --> activate 
in older quadro driver its called nView...
Time to pull out the old 660 Ti and get an nView desktop working! This will be very useful for a headless workstation maybe.

Quote
nope is not working. this is a bug in the kernel, in newer kernels is not a problem but this case (proxmox >>5.4 kernel<<) yes. Many people hava this problem. I have no idea how can i update the kernel.
If it is fine in newer kernel, then we can update. Here is a Github link to a program that makes it easy to install the newest kernel. https://github.com/fabianishere/pve-edge-kernel You can install kernel 5.10 with it.

Quote
One more thing... very intresing is when you use an older quadro driver Solidworks rendere say i have an "unknown board/PCIe/SSE2"
bevor it says (with newer quadro driver) "/PCIe/SSE2"
I have no idea why it says this, but at the same time, I don't necessarily see it as a problem. I would make sure that you first get all the GPU components passed through first, which includes usb, audio, gpu, I2C, etc. That way we can rule this out. With my 1080, I turn it into a P4000 quadro without seeing any of this SSE2 stuff. Also, get GPU-Z and take a screenshot of what it is saying, because it can give us some more information.
 

Offline bayx

  • Contributor
  • Posts: 41
  • Country: de
Re: [MOVED] Hacking NVidia Cards into their Professional Counterparts
« Reply #1524 on: January 31, 2021, 12:59:56 am »
Quote
I have no idea why it says this, but at the same time, I don't necessarily see it as a problem. I would make sure that you first get all the GPU components passed through first, which includes usb, audio, gpu, I2C, etc. That way we can rule this out
done. Now boots very well and fully working passthrough. i put the script into the /home folder and write a crontab job with

Code: [Select]
nano crontab -e
Code: [Select]
@reboot /home/unbind.sh
Code: [Select]
STRG+O for save the file
Code: [Select]
STRG+X quit the document

unbind.sh this is the code that unbind.sh the xhci_hcd and nvidia-gpu driver from usb controller and serial controller. Than bind it to vfio-pci driver.
Code: [Select]
nano /home/unbind.sh
Code: [Select]
#!/bin/sh
PCI_HID="0000:2d:00.2"
echo -n "$PCI_HID" > /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "$PCI_HID" > /sys/bus/pci/drivers/vfio-pci/bind
PCI_HID="0000:2d:00.3"
echo -n "$PCI_HID" > /sys/bus/pci/drivers/nvidia-gpu/unbind
echo -n "$PCI_HID" > /sys/bus/pci/drivers/vfio-pci/bind

[TIP: change the PCI_HID="0000:2d:00.2" to your id PCI_HID="0000:XX:XX:X ]

Code: [Select]
chmod -x /home/unbind.sh
Code: [Select]
rebootyou can check it with
Code: [Select]
lspci -v scroll up and find the devices that may to unbind the driver....

Quote
I turn it into a P4000 quadro without seeing any of this SSE2 stuff.
you see it in the registry or in Realview Hack tool

Code: [Select]
Computer\HKEY_CURRENT_USER\SOFTWARE\SolidWorks\SOLIDWORKS 2020\Performance\Graphics\Hardware\Current
« Last Edit: January 31, 2021, 01:54:39 am by bayx »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf