Code 43? No More! NVIDIA Finally Blesses VFIO!? (ft. Threadripper Pro)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
oh lord please bless this thy machine so that i may run more than one virtual machine per graphics card please please this nvidia news has captured everybody's attention virtual machines supported by nvidia uh yes and no i don't really know where to start i've been doing a whole let's run a windows virtual machine under linux for all of our windows computing needs for like a decade i mean some of my videos on that are five six years old plus i'm one of the first people to have gotten started on the whole vfio thing to show how effective it can be and how easy it is and i like to think that you know i helped sort of jump start the whole vfio revolution but you know in the intervening time um not really a lot has changed since then [Music] the idea with vfio and pass-through is that you have a video card that you pass through to a virtual machine so you can run linux as a host operating system and you could run windows or even mac os or freebsd or any other operating system as a guest os and actually you can kind of do that with pretty much any host os like if you have a mac you can run your mac operating system on the host i like the freedom respectiveness of linux and the features of linux i also really like freebsd and so the whole idea with vfio is you run a virtual machine you don't have to bother doing emulation i mean look at how much money and time has been sunk into technologies like wine and proton that let you run you know cross-platform applications unless you run windows applications on linux for example and uh we're still not quite there and i mean it's better than ever but it's still a relatively you know maybe not as high fidelity now i've gotten pretty good about hiding the fact that my windows machines are virtualized so i have better luck than most with anti-cheat software but there is a lot of anti-cheat software out there that's doing really clever things because they think people are cheating through virtual machines maybe they are i think that's a little overblown personally i think that's just game companies freaking out but this move by nvidia sort of fits in that landscape of you know all this vfio stuff and all this stuff that's happening in an ideal world you can take one gpu and share it with multiple operating systems have 3d acceleration with only one graphics card this driver this driver change doesn't do that you're still going to need multiple gpus unless you've got a quadro the expensive grid subscription or something like that if you want to be able to you know run a guest with video acceleration and a host with video acceleration so you're going to need you know it could be two of the same gpus it could be two different gpus i've done lots of guides and how to's on setting up all that that's sort of the first misconception but wouldn't it be nice if you could run a virtual machine and have it use some of the resources on the host's graphics card i mean i really think we're behind the curve here on this technology because cpus and other hardware supporting that kind of virtualization showed up pretty much immediately after we had multi-core cpus because it makes sense and it makes sense with peripherals as well and it has shown up really quickly but it's in the server space it's locked behind you know abhorrent licensing and ridiculous fees for being able to do that there do exist gpus that will support multiple concurrent users at the same time for 3d accelerated workloads you see that in server space for with technologies like vdi virtual desktop infrastructure and i've got two tesla v100 graphics cards and you know i can run eight copies of skyrim at 30 fps at 1080p on those gpus without any trouble so why then with the 3090 is it so much of a pain to be able to run you know something on the host and something on the guest the 30 90 is definitely powerful enough to do that right well it turns out that it mostly comes down to software there's just enough software that's locked behind proprietariness that we really can't do much the other misconception is does this enable sr iov because you know sr iov support in silicon for the 3000 series gpus that was one of the launch things and i said no that's wrong i'm sure that you know somebody has told somebody else that but that's not actually true and sure enough it's like oh let's stuff that genie back in the bottle sr iov is not supported and this driver does not enable sriv so really what this driver does is it takes away code 43 which is awesome when you try to install a you know driver in a virtual machine and the fact that it is a virtual machine is not hidden you're using some hardware acceleration you know hardware you know the cpu labeling is such that it shows up as a virtualized cpu the installer doesn't exit out there's also some edge cases around where it would work but you get a black screen anyway those kinds of things are fixed this driver doesn't care if you're in a virtual machine or not which is awesome it's you know props to nvidia you know thank you lord jensen for you know this is your benevolent kindness it is very appreciated nvidia has also been contributing in a positive way things like xylend and doing other stuff in the open source land you know there are open source people that will say well what about the binary blob and the driver and the installer and the rough edges around that hey i never expected nvidia to be doing this much they're doing a lot and they're doing a lot with open source and this driver change is awesome more so for signaling maybe an attitude change from nvidia more so than re-enabling functionality because it was possible to work around code 43 before you just you know you weren't necessarily on on even footing in terms of uh you know is that okay from a license standpoint but here's what nvidia needs to do to go one step farther have you got a 3090 we know it supports sriv just give us one just one v gpu right out of the box with the 30 90. like just enable that that's all you got to do we know it works because if you know where to look on github and that's only really half of what you need you can actually enable vgpu functionality on non-tesla gpus you know you follow this channel it's like we jump on those projects a lot to say hey look at this i really hope that nvidia doesn't try to you know dmca or stuff the genie back in the bottle because i don't think this is anything that a company is going to use to circumvent these kinds of things for commercial purposes but for game development and things like that being able to run an entire simulation under that would be really good i mean heck even microsoft hasn't really like the xbox one x it's like we need to run developer workloads for testing games and stuff they haven't figured that out for game testing being able to automate a virtual machine boot up the vm run the game run the game with gpu acceleration that's a big deal that's a really big deal and you can do that with this kind of a setup on something like threadripper pro all right we've given our sacrifice to jensen and now we get code 43 done away with but what does it mean in the larger grand scheme of things well this system behind me is threadripper pro it's an asus wrx80 motherboard the 32 core threadripper machine and a monstrous 512 gigabytes of memory it has seven expansion slots seven the best you could do on regular threadripper is like four yeah so this system is a monster system for vfio running virtualized workloads and simulation and for game development and things like that it's incredible because you can basically save a bunch of you know virtual machines in varying states and run through a bunch of testing and run through a bunch of testing with fully accelerated you know 3d graphics we've contributed to projects like looking glass looking glass is a really awesome you know frame buffer forwarder basically where you can you know get full 3d acceleration on that guest virtual machine and it basically copies the video frame buffer from the guest virtual machine to the host it's actually shared memory so there's only there's really only one memory copy going on and eventually because of the nature of pci we may not even have to rely on the cpu to do that copy we may be able to do a direct gpu to gpu copy because pci express technically permits that in the specification mythological future need to i need some documentation on doing that and you know once again it's locked behind proprietariness and lack of open documentation it's like we're willing we've got the skills we got the attitude there's no documentation there's also no commercial support because there's money to be made with these features when reality is that these features have basically become pedestrian everybody runs virtual machines everybody doesn't run virtual machines with accelerated graphics this is kind of a crime against humanity but i am hoping that the code 43 change signals that maybe in our not too distant future that will be able to run 3d accelerated workloads natively without having to jump through a lot of hoops this change is not going to let us do that but it is a welcome change because now you can run multiple nvidia gpus just like i'm doing on my threadripper pro workstation if you do decide you want to go off script and implement your own hacked up grid solution and sort of take matters into your own hands well there's some links below for for those utilities let me know how you go in the forum maybe we'll do a follow-up video with a step-by-step guide i've got another video coming up right after this one where i'm going to try to show you how to run uh windows applications seamlessly on linux this is something vmware workstations supported like five years ago and then they just turned off arbitrarily and it's never really been turned back on if you use parallels on a mac or vmware workstation on a mac where you can seamlessly run windows applications on a mac without having you know the start menu or any of that it's like that but on linux because on linux we've been second-class citizens for the better part of five years and even though vmware workstation which is a paid product had that feature they took it out and they've never put it back which has been really annoying and sad but it turns out you can kind of diy that now finally it was also in virtualbox but it's been broken in virtualbox forever it was also in cubes and then it was broken in cubes when you moved off of windows 7. basic basic features again because oh there's money to be made let's make sure these features are as awful and unusable as possible because anybody that wants to do 3d acceleration in their virtual machine or have seamless applications or run cross-platform those are those are second-class citizens anyway i'm wondering this is level one this has been a quick explainer on the whole uh code 43 linux driver thing if you're just getting into the whole vfio pass-through thing i've got lots of resources many of those resources are very very old and in need of updating which i'm working on now so if you have any really exciting success stories with vfio you want to share come to the level 1 forums because i'd love to see it post pictures let me know who you are i'm wendell up signing out and i'll see you there
Info
Channel: Level1Linux
Views: 34,707
Rating: undefined out of 5
Keywords: technology, science, design, ux, computers, linux, software, programming, level1, l1, level one, l1Linux, Level1Linux
Id: kCNPdih6gbg
Channel Id: undefined
Length: 11min 14sec (674 seconds)
Published: Sun Apr 11 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.