Hacking Nvidia's Drivers! - Rescuing crypto GPUs from becoming e-waste

Linus Tech Tips ·Linus Tech Tips ·2019-05-06 · 3,010 words · ~15 min read
Floatplane YouTube

Transcript

JSON SRT VTT 228
0:00 okay come here come here okay so this is our mining GPU that we're using
0:05 for gaming in spite of its complete lack
0:08 of any video outputs but you've seen this before
0:13 and the last time we left you guys we weren't recommending these things even
0:18 though they're like 75 bucks for the equivalent of a gtx
0:22 1060 because the only drivers we had for
0:26 them were modified by some chinese
0:29 driver modification team and we had no way of knowing exactly what was inside
0:33 them but today all of that changes first
0:37 and foremost we are going to manually
0:40 modify NVIDIA's drivers ourselves making
0:43 this completely safe to use second while we're at it we're going to
0:48 kill NVIDIA's telemetry that they build into their drivers and third
0:53 we are going to run this in sli
0:56 with one of these which is like what
1:00 what running a real gaming GPU with a mining one in sli they're not even the
1:05 same part number oh and while we're at it the 1060 doesn't even support sli
1:11 but we're gonna do it you know what else we're gonna do tell
1:14 you about our sponsor glasswire with glasswire you can
1:18 instantly see your current and past network activity you can detect malware
1:22 and block badly behaving apps on your pc or Android device and you can get it for
1:26 25 off at the link in the video description with offer code Linus
1:38 okay so here's the situation right now we're not quite starting from scratch
1:42 but pretty close so we've already disabled driver signing and you can see
1:46 how to do that in our previous video here where we use the the modified
1:50 chinese driver but other than that we're looking at a pretty bone stock
1:54 configuration here so our p106 mining GPU is installed in our system but the
2:00 drivers for it are not loaded in any way we're in a in a completely blank state
2:04 and we're running entirely off of the onboard graphics that are built into our
2:09 CPU here so Anthony's back hi
2:18 uh before we go any further i want to lay out what our ideal scenario would be
2:22 here because in our last video we weren't just relying on a driver of
2:27 unknown origins it was also a little bit on the older side so in a perfect world
2:32 we would want our p106 mining card here to behave exactly like a gtx 1060
2:37 because hardware wise they're the same thing so that means gaming support
2:41 compute support and even end bank video encoding support and all of that while
2:46 being able to run the very latest drivers however we've run into some
2:51 challenges and we are going to have to make a few compromises here so
2:55 what do we got well first of all we won't be able to run on
2:59 the latest driver at least not right now the way it works right now it we're just
3:02 getting a code 43 error every time so
3:05 either NVIDIA has changed something or they've hatched it or whatever either
3:09 way we're stuck with 416.34 aside from that as far as i know it's not possible
3:14 to get mvx to work so so you're stuck with quick sync which
3:18 fortunately you're gonna have to have because you're running your onboard graphics anyway in order to even get a
3:23 display output from this thing or x264
3:26 so with that out of the way Anthony is going to start by downloading our own
3:31 fresh version of that 416 series driver and then taking the chinese one and the
3:37 NVIDIA one and comparing what the difference is between them so that we
3:41 can replicate the modifications that the chinese team has made that allows the
3:46 driver to be installed without copying over anything that could be
3:50 nefariously hidden inside it so i'm using notepad plus plus and the reason
3:55 for that is it's free it's pretty great actually it's got a huge number of
3:58 features including this compare feature which we can access via this plugins
4:02 section here we just type in compare and i've already installed it so it's in
4:06 here but yeah once you have that just go to you load up your first file go to
4:10 plugins compare set as first to compare i've already done that now i will load
4:14 up the other one which is this chinese driver
4:17 plugins compare compare so here we have a full listing of
4:22 everything that is different between these two drivers so as we can see these
4:26 lines here have been modified so where it used to say section 110 it now says
4:30 section 108 which is actually the same if you look at these device ids 1c06 is
4:36 actually the gtx 1060 one c07 is our p106 they have different sections in the
4:41 vanilla driver but in the chinese driver they do not that is the primary thing
4:46 we're going to be changing here okay now the final one of these sections here
4:50 you'll notice that it actually says that it's 109 instead of 110. it's dropped
4:54 down a number the same is true over here so we'll just follow here so it'll be
4:58 107 for each basically what we're doing is we're copying the same config from
5:02 our 1c06 which is our gtx 1060. so we
5:05 want section 107 for all of these things now what we're doing here is basically
5:11 just tricking the driver into thinking it's compatible we're not actually
5:14 changing any of the functional files of the driver installation is that
5:19 correct that's right and if we go down through the rest of the comparison here
5:22 there is nothing different really so then it's possible that our chinese
5:27 driver was totally clean yeah possible but i mean we don't know about the exes
5:32 the inf is perfectly fine we can make some additional changes while we're here
5:35 though telemetry isn't it convenient that they just listed under nv telemetry
5:39 yeah for those not familiar telemetry is
5:42 a feature of a software or driver that reports back on your usage to the
5:48 manufacturer and a lot of the time this is stuff that
5:52 you can opt out of but a lot of the time it's just baked right in so there you go
5:57 we passed our compatibility check yep let's go ahead and install it of course
6:01 we do not want GeForce experience also don't care about 3d vision because we
6:04 don't actually have anything that we can connect it to and hopefully we will get
6:08 the same exact thing we got the other day but we did it for ourselves on a
6:13 fresh driver hey there we go all right
6:16 so that's it if nothing else we now can
6:20 say confidently that if you pick up one of these mining cards and use this
6:24 method on this particular driver you will be
6:28 able to play games
6:32 yeah that monitor doesn't really have a shield on its
6:36 yeah the biggest criticism we had last time is that we didn't actually show the
6:41 Intel integrated and how poorly that performed oh really
6:45 yeah oh uh it would be worse than this
6:48 a lot worse yeah this is deus ex mankind divided running at 1080p
6:53 at greater than eight frames per second so
6:59 it's working now the thing is even though we're
7:02 having trouble moving on to the latest drivers which would give us support for
7:06 things like oh i mean i guess freesync doesn't matter because you'd be you
7:10 could actually have freesync running off of Intel's onboard graphics yeah oh you
7:14 could never mind depending on whether or not your onboard graphics supports freesync okay but still there are good
7:19 reasons to be running the latest drivers now we're not saying it's impossible
7:23 we're just saying that when we applied this same method to
7:27 the latest drivers even checking line by line
7:31 we weren't successful so it might just be down to people who are a little bit
7:36 better versed in their driver modification wizardry to figure out what
7:40 the additional things that NVIDIA has changed whether just
7:44 through the course of changing things to make them better or to specifically
7:47 block this in order to make that work
7:50 either way at the very least using a slightly older
7:54 driver we have a working gaming system
7:58 on the cheap but that's not where we stopped today for
8:03 our next trick we're gonna run this thing in sli now
8:07 we're still gonna have to deal with that same driver compatibility limitation
8:11 because one of the cards in our system is one of these p106 mining cards but
8:17 what it at least demonstrates is that
8:20 from a proof of concept standpoint this can work so you might think that this
8:25 process is as simple as throwing a real gtx 1060 into the system and then again
8:30 forcing our driver to install remember it's an unsigned driver now so you gotta
8:34 do that process manually but as we're about to discover
8:39 it did not it did not
8:43 oh hi mark whatever the point is there's no sli option in here whatsoever so
8:48 now what some kind of weird thing off the tech powerup form yeah what are we
8:52 doing so it's a program called different
8:55 sli auto it's currently in the downloads folder but you guys will have to
8:59 download and extract that for yourselves and we don't actually want to run the
9:02 program okay that would be too easy yes
9:05 it used to work but it doesn't anymore so
9:09 so you'll want to go to see Windows system 32 driver store and now we want
9:13 to sort it by date we want to copy the uh
9:17 nvldmkm it's the driver itself i might not see this here
9:23 yeah i couldn't find it earlier either okay so just in a sea of envy paste it
9:27 into the different sli auto folder now you want to open up a hex editor i
9:30 downloaded hxd it's free should be there on the desktop okay oh you got it you
9:35 want to search for this for the string of uh values seven five zero five zero f
9:41 b a oh i already had it there okay cool there it is so we want to change that so
9:46 you'll want to go to the beginning of that and type in yeah c74324000
9:56 the hard part's over okay so we want to go back to the folder you
10:01 got that driver from we want to take the folder name itself copy that and this is
10:05 probably also already auto populated but if you go back to the different sli auto
10:09 folder yep right click install.cmd go to edit see where it says the nb disk inf
10:14 that kind of stuff there you want to replace that in every
10:17 every every instance so you can use the replace function in notepad for that
10:21 yeah all right so then we want to restart into safe mode
10:25 oh lordy okay so networking yeah sure
10:29 all right next you're going to want to go into that folder again different sli
10:34 auto and run install.cmd as administrator i guess it's the same
10:37 thing in safe mode anyway you know what let's just do it okay boom reboot now
10:42 for changes to take effect yep so what have we done here sign the driver really
10:48 supposedly it doesn't actually work oh okay um that's something that we can do
10:52 though um something that requires a lot more busting around that
10:57 we don't really want to do right now it does that copies the modified driver that we
11:03 change the bits around in to the proper locations in Windows yep
11:08 and well that's really about it and then just to clarify for the viewers
11:12 out there changing those hex values have we done anything unsafe to our system
11:17 have we potentially compromised it not compromised no but who told us to change
11:21 those values well it's actually a guy on the tech powerup
11:25 forums okay by the name of um
11:29 pretentious yeah there we go that's the name yeah he's got a little script that
11:33 he runs that takes about an hour or two to find where exactly the string that we
11:36 found yeah is in each driver release and he just updates it on the forum it's
11:41 pretty great basically what it does yeah is it disables the check for sli as far
11:46 as motherboard compatibility and you know enter GPU compatibility so to be
11:50 clear you guys aren't going to be running an rtx 2080 ti and
11:55 a gtx 1030 and sli at least not
11:58 to any positive effect but over here in a case where we have two
12:04 gpus that we know are identical other than NVIDIA
12:08 deciding they're not our expectation is that we would
12:11 actually be able to achieve an improvement in performance
12:15 so here it is the sli option is there in the driver we're going to go ahead and
12:19 enable it and bippidy
12:27 oh keyboard light just went off as it turns out that sli mod will not work
12:32 with the p106 unfortunately whatever
12:36 maybe it's the fact that it doesn't have outputs maybe it's the fact that they have two different v BIOS's that are you
12:41 know for whatever reason right now it does not work if we could force the card
12:45 to take a different b bias that might work but i haven't been able to get that to work either i mean we can still run
12:50 gtx 1060 is an sli i guess that's still fun
12:54 all right so what we've done here is we've manually installed our driver again
12:57 moved our HDMI cable over to this GPU and we're going to go ahead and enable
13:03 our other device which got automatically disabled somewhere along the way it's
13:06 kind of like a precautionary measure hey
13:10 sli enabled on the gtx 1060.
13:14 where's my deus ex at now beaches i'm
13:17 actually not sure what the scaling would be like here
13:21 now the thing here is that there's nothing particularly amazing about
13:25 running graphics cards in a multi-GPU configuration without a bridge running
13:29 between them in fact AMD has been doing it this way for several generations now
13:33 NVIDIA though has stuck to their guns saying that the available bandwidth over
13:38 the pci express slots is not enough to handle the intercard communication and
13:42 has even gone as far as to upgrade the original sli link to the new envy link
13:48 standard that you'll see on their rtx cards with that said even though we won't be
13:53 able to speak to necessarily
13:56 you know micro stuttering and how this solution affects something like that we
14:01 can see if we could at least get an FPS improvement with this configuration and
14:05 we'll know pretty shortly here yeah the benchmark only takes 90 seconds
14:09 hey wow that's a pretty nice little improvement
14:15 there isn't it yeah so
14:18 once again our experimenting with NVIDIA
14:21 graphics cards video does come with some
14:24 caveats this isn't necessarily a configuration we'd recommend sli is in
14:30 most cases not as good an option as simply getting
14:34 a single higher powered graphics card so i don't even necessarily disagree with
14:39 NVIDIA disabling sli by default on their lower end cards it's just something that
14:44 was kind of fun to do and interesting to show you guys
14:48 just how simple it is for manufacturers
14:51 to lock down and or enable functionality
14:54 at least from a sort of hex editor perspective now the qc that would
14:58 actually go into ensuring that this would be an adequate solution for their
15:02 users that's a completely separate story and
15:06 maybe part of the reason that manufacturers won't allow functionality
15:10 that they otherwise could but uh
15:14 i'll let you guys be the judge of exactly why it is that this is locked
15:18 out you guys can leave a comment down below you know what else you can do down
15:22 below check out our sponsor freshbooks is the super simple to use
15:26 small business accounting solution for freelancers and the self-employed it's a
15:31 simple way to be more productive more organized and to get paid faster you can
15:35 create and send professional looking invoices in less than 30 seconds you can
15:39 set up online payments with just a couple of clicks to get paid up to four
15:42 days faster you can see when your client has seen your invoice to put an end to
15:46 the guests and games and if you have any trouble you can reach out to freshbooks's award-winning customer
15:51 support where you won't get any phone trees or escalations nothing like that
15:55 just answers so visit freshbooks.com
15:59 tech tips and enter Linus tech tips in the how did you hear about us section to
16:02 get your 30-day free trial so thanks for watching guys if you disliked this video
16:07 you can hit that button but if you liked it hit like get subscribed or maybe
16:10 consider checking out where to buy the stuff we featured at the link in the video description also down there is our
16:15 merch store which has cool shirts like this one and not yours and our community forum
16:20 which you should totally join