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
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