1
00:00:00,199 --> 00:00:06,399
most of you will know that you can build your own PC but have you ever thought

2
00:00:03,919 --> 00:00:11,840
about building your own graphics card at home sounds absolutely crazy but one guy

3
00:00:09,639 --> 00:00:17,119
actually did this recently software engineer Dylan Barry has put together a

4
00:00:14,160 --> 00:00:22,359
fully assembled prototype he calls Fury GPU and we sat down with him to find out

5
00:00:19,880 --> 00:00:29,240
exactly how he pulled this off the heart of the fury GPU design is a custom zinc

6
00:00:25,279 --> 00:00:31,400
ultrascale plus fpga from zyink which is

7
00:00:29,240 --> 00:00:36,719
now an AM dbrand and if you're not sure what an fpga is it stands for field

8
00:00:34,239 --> 00:00:40,160
programmable gate array essentially it's a device that you can configure to be

9
00:00:38,559 --> 00:00:44,320
more specialized for certain applications as opposed to a more

10
00:00:41,920 --> 00:00:48,559
typical desktop CPU that's designed in a more General way so it can run many

11
00:00:46,199 --> 00:00:53,399
different types of applications the fpga does include a small ARM processor that

12
00:00:51,280 --> 00:00:58,359
can run Linux but the rest of it can be programmed to render graphics with a

13
00:00:55,480 --> 00:01:03,519
hardware description language or HDL which tells the fbga how to actually

14
00:01:00,640 --> 00:01:07,320
organize its internal circuitry small cells that can accept many different

15
00:01:05,239 --> 00:01:11,479
types of logic functions using his knowledge of Graphics engineering Barry

16
00:01:09,600 --> 00:01:16,560
was able to build an architecture optimized for graphics rendering a

17
00:01:13,799 --> 00:01:20,720
process that took over 3 years starting from Simply getting an image on a screen

18
00:01:18,799 --> 00:01:25,840
then building in support for drawing polygons applying textures and blending

19
00:01:23,280 --> 00:01:30,920
textures together because commercial GPU designs are Trade Secrets Barry had to

20
00:01:28,720 --> 00:01:35,799
completely start from scratch instead of using a current GPU as a starting point

21
00:01:33,520 --> 00:01:40,720
explaining why it took so long but once the fpga is completed you of course need

22
00:01:38,280 --> 00:01:45,520
an actual board to install it on so it can act as a functional graphics card

23
00:01:43,399 --> 00:01:49,920
since you know you can't just insert a bare fpga into a regular motherboard I

24
00:01:48,479 --> 00:01:54,920
mean you can it just you're not going to have a good time therefore Barry also

25
00:01:52,000 --> 00:01:59,280
designed Fury gpus board a process he said took around 1 month and involved

26
00:01:57,439 --> 00:02:04,320
thinking carefully about how to lay components out on the board details like

27
00:02:01,759 --> 00:02:08,280
Trace length were very important as the various traces that feed the PCIe

28
00:02:06,320 --> 00:02:12,560
connector need to be very similar in length to help with signal Integrity

29
00:02:10,479 --> 00:02:16,560
placement of these traces was also important to avoid cross talk you don't

30
00:02:14,640 --> 00:02:20,840
want them too close together and he also had to consider what kind of power

31
00:02:18,239 --> 00:02:25,640
supplies to put on the card as the fpga itself needs a different voltage

32
00:02:22,959 --> 00:02:31,000
compared to the display outs after Barry got his board design right he then sent

33
00:02:27,840 --> 00:02:34,800
the files off to a PCB Fab in China and

34
00:02:31,000 --> 00:02:37,040
got back well some pcbs but keep in mind

35
00:02:34,800 --> 00:02:41,959
these were only boards meaning that to get a working graphics card he had to

36
00:02:39,159 --> 00:02:47,360
install over 400 individual components such as capacitors and resistors himself

37
00:02:45,159 --> 00:02:51,280
which of course involved lots of tedious soldering assembling and testing the

38
00:02:49,239 --> 00:02:55,800
hardware itself took Barry around another 2 months but at the end he had a

39
00:02:54,000 --> 00:03:01,879
card that wasn't too different looking from some graphics cards from the 1990s

40
00:02:58,640 --> 00:03:04,360
but with modern display outs and PCI

41
00:03:01,879 --> 00:03:10,159
Express X4 support and although current commercial graphics cards typically use

42
00:03:06,440 --> 00:03:12,280
x16 Fury GPU gets away with X4 as it

43
00:03:10,159 --> 00:03:17,120
moves far less data than the GPU you probably have in your desktop rig we're

44
00:03:14,480 --> 00:03:22,159
talking less than one megabyte per frame as it was designed with mid99s games in

45
00:03:19,640 --> 00:03:26,480
mind but even a perfectly executed piece of Hardware is useless without the right

46
00:03:24,840 --> 00:03:30,159
software so we'll tell you about the final piece of the puzzle right after we

47
00:03:28,200 --> 00:03:34,159
thank paperlike for sponsoring today's video protect your new iPad with a

48
00:03:32,159 --> 00:03:38,519
screen protector from paperlike paperlike 2.1 is manufactured in

49
00:03:36,599 --> 00:03:42,760
Switzerland and is designed to help you write and draw on your iPad just like

50
00:03:40,799 --> 00:03:48,040
you would on paper it uses their exclusive microe technology called Nano

51
00:03:45,599 --> 00:03:52,599
dos to emulate the stroke resistance of paper without sacrificing screen Clarity

52
00:03:50,680 --> 00:03:56,840
and paper like is so confident in their screen protector they offer a 100 day

53
00:03:54,640 --> 00:04:00,159
satisfaction guarantee this means that if you're not happy with your screen

54
00:03:58,040 --> 00:04:04,640
protector they'll offer a free replace M or refund within 100 days so make sure

55
00:04:02,480 --> 00:04:09,879
to check out paperlike at the link below like any graphics card Fury GPU needs

56
00:04:07,120 --> 00:04:13,640
some kind of driver in order to run Barry said it took him about 4 months to

57
00:04:11,799 --> 00:04:18,840
get the drivers to work Windows typically requires drivers to use an

58
00:04:15,439 --> 00:04:21,079
architecture called wddm and that

59
00:04:18,840 --> 00:04:25,040
requires support for Hardware features you'd only find in mass-produced gpus

60
00:04:23,040 --> 00:04:31,080
such as support for modern versions of direct 3D to get around this the fury

61
00:04:28,080 --> 00:04:34,039
GPU driver is designed such that Windows

62
00:04:31,080 --> 00:04:38,560
instead sees it as a kernel mode display only driver which basically means that

63
00:04:36,240 --> 00:04:42,639
it will consider Fury GPU as being a simpler device that just displays an

64
00:04:40,800 --> 00:04:48,320
image instead of doing any actual rendering however the driver itself can

65
00:04:45,919 --> 00:04:52,880
switch modes and allow the GPU to actually render frames so it kind of

66
00:04:50,759 --> 00:04:58,039
tricks Windows into thinking it's just showing the desktop when it's actually

67
00:04:55,039 --> 00:05:00,919
showing the game you're playing game

68
00:04:58,039 --> 00:05:05,919
cheats enabled the fin product uses a custom API that's similar to Vulcan and

69
00:05:03,759 --> 00:05:11,400
Barry was able to modify the renderer for the original Quake from 1996 getting

70
00:05:08,600 --> 00:05:16,000
it to run at 720p at around 60 frames per second unfortunately it doesn't yet

71
00:05:13,720 --> 00:05:19,160
support modern shaders which would allow for more lighting effects and other

72
00:05:17,560 --> 00:05:24,680
kinds of eye candy we're all used to today Barry told us that Shader support

73
00:05:21,759 --> 00:05:29,919
may be coming in the future but fpga have their limits compared to mainstream

74
00:05:26,800 --> 00:05:32,400
gpus as they sacrifice performance for

75
00:05:29,919 --> 00:05:37,479
customizability we may also see other games from the mid90s get ported over to

76
00:05:34,800 --> 00:05:41,880
the fury GPU but can you actually get your hands on a fury GPU and play games

77
00:05:39,840 --> 00:05:45,800
on it I'm sure you're asking Barry made it clear that this is mostly a passion

78
00:05:44,240 --> 00:05:50,520
project and that he doesn't have plans to produce the fury GPU for sale

79
00:05:48,360 --> 00:05:54,680
especially as it's a continual work in progress that's currently being operated

80
00:05:52,400 --> 00:05:58,759
in a full development environment so it's not like you can just slot it into

81
00:05:56,560 --> 00:06:02,720
your Windows PC install the drivers and have everything work flawlessly still

82
00:06:00,880 --> 00:06:07,400
it's a super cool Testament to what you can accomplish with enough time effort

83
00:06:05,440 --> 00:06:10,639
and patience with a soldering iron thanks for watching if you like the

84
00:06:08,840 --> 00:06:14,280
video check out our other video on how CPUs and gpus are different comment

85
00:06:12,680 --> 00:06:18,160
below with video suggestions and don't forget to subscribe and follow techwiki

86
00:06:16,520 --> 00:06:22,560
you've watched a couple of other videos and you didn't do that so I'm just don't

87
00:06:19,919 --> 00:06:22,560
forget
