many serious game streamers use a second PC actually so they got one for gaming
and then another one dedicated to encoding and interacting with their
audience so we were brainstorming and talking about some cool projects that
we've done in the past with unread and virtualization technology and well let's
just say the old light bulb went off what if we could build using an Intel
high core count core I nine processor a two-in-one solution splitting a single
Tower with a single motherboard effectively in half to perform both of
those duties virtually of course would we end up with
a viable day-to-day streaming solution well thanks to Intel sponsorship of this
investigation we are about to find out
okay so let's start with this why would anyone want to run a virtualized
two-in-one setup as opposed to just having two separate machines I mean bare
metals more efficient right let's take a
look at a few reasons why it might actually be a cool idea first and most
importantly for many is cost unless you
already have a second computer to dedicate to encoding you would still
have to buy GPU RAM and storage for two
but you could save the considerable expense of many other components in
addition your total power consumption and heat output will be a touch lower
than running separate PCs meaning your energy bill will be lower - the second
reason to go virtual is space while it's
not a concern for some if you're streaming from a college dorm or a small
apartment this means one less tower taking up space in your gaming area not
every virtualized - and one has to be this big reason number three versatility
since the gaming and streaming setups are virtualized not only are any
potential software issues confined to each VM but they can also be much more
quickly and easily backed up or cloned
once you're set up so in the future you can easily hit the reset button in case
anything should go wrong also thanks to the magic of on raid your gaming /
streaming machine can act as a file and media server for the rest of your
household so the plan then is to use a portion of our CPU to encode our video
stream using x264 with high quality settings that way we can avoid the
potential for scheduler conflicts without manually assigning CPU
affinities and task manager like we would if we were doing both tasks on one
OS well okay Linus this all sounds great
but there's got to be disadvantages right well there is the fact that when
using virtualization some devices can't be easily allocated to a VM our onboard
audio for example shares an eye a new group with the chipset and essentially
cannot be used same story with USB ports
each grouping of ports has to be on a dedicated controller in order to pass it
through so that you can hot plug your devices something that we pretty much
take for granted these days and finally while it's possible to run on
raid without its own video card it's a
royal pain so we grabbed a dedicated sound card for our gaming VM and extra
USB controller we're using one of the onboard ones for the other VM and an el
cheapo third graphics card for under 8
so we are ready to you oh wait so during
our testing we found that gaming performance was actually best when we
assigned four cores and eight threads to our gaming VM and in some configurations
we actually found tests that performed better in a virtualized environment
compared to an equivalent configuration running on bare metal Y so this is the
kind of thing that we encounter sometimes when we're running on the
bleeding edge we spoke with on raids developers about the issue and they're
putting together some information to share with the Red Hat and KVM
hypervisor folks so that hopefully we'll see a resolution by the time game's
demand more cores for optimal performance but for the time being our
classic four core eight thread setup manages a negligible performance hit
compared to bare metal and our streaming
VM can suck up those extra cores anyway so that it could be used for heavier
video editing and faster encoding for those edited videos that can later be
uploaded to YouTube or other video on-demand sites alright then so let's
show off the rest of the setup we're using the utterly unique level one text
DisplayPort 1.2 KVM from Wendell and his team this gives us support for high
refresh rate monitors like a Seuss's 240 hertz rog swift PG 2 v 8 q and easy
switching between our VMs saving us from using two keyboards and mice though it
should be noted that having an extra one on hand is pretty useful in some cases
we're using Corsairs massive obsidian
900 D tower thanks to its ample cooling capacity and we're powering all three of
our GPUs the 1080 Ti for gaming the 1050
Ti for streaming and that basic one for
unrated off of an ax 1200 eye power supply and we've thrown in a monstrous
on raid array of 712 terabyte Seagate
iron wolf pro drives for 60 terabytes of
protected storage that's visible to both VMs not to mention as I said before
anyone else on the network who needs it allowing us to record our streams
basically indefinitely so we can make them epic frag vids after we're done
streaming finally for our capture Carlo and other
surprise no capture card so we actually
originally had planned to use one that 4k one from El Gato but this ended up
being way cooler so our gaming VM is actually transmitting its video and
audio feed to the encoder VM using the
low impact OBS NDI plugin which runs
with very little quality loss over our
virtualized 10 gigabit network connection between our VMs then from
there we've set the streaming machines output settings to Twitch's ultimate
1080p 60fps quality setting and would
you look at that after a few command-line tweaks we could not only
encode on the fly but do so at x264
s-slow preset which is 6 notches up from
the default potato quality ultra-fast and
to validate our original hypothesis is
there some benefit from separating them
in VMs we pushed our 11 hyper threaded
cores to their limit in the streaming vm to the point where we forced our encoded
video to start dropping frames then we went back to the gaming vm to see if
those resources were effectively being isolated and it was still running games
like nobody's business so what have we learned then on this
journey well for one a virtualized dual
head system with all of its shortcomings has some advantages operating our two
virtual machines was about as transparent as running two completely
independent systems whether via KVM switch or with two full sets of
peripherals this is a use case for many course systems that we've been excited
about for years now and one that has many applications beyond game streaming
that is just gonna get better in time and second is that with superior codecs
such as x265 on the horizon that are
better optimized not only for image quality but for better thread and memory
utilization that happens to mesh great with core I nines new cache design
you'll be able to push the quality even higher with a setup like this all we
need to do then is wait for twitch and mainstream broadcasting software to
support it in the meantime though we've still built one of the coolest x264
streaming setups out there so thanks to everyone for their help with this and
especially Intel for sponsoring this sick experiment and also you guys for
watching it so if you guys dislike this video you can hit that button but if you
liked it hit like yet subscribe maybe consider checking out where to buy the
stuff we featured at the link in the video description maybe a shiny new core
I 9 also link down there is our merch storage has cool shirts like this one
and our community forum which you should totally join