Hey everyone, and welcome to the channel. Today I'm showcasing and explaining
the newest version of my wildly popular script, CryoUtilities. Stay tuned for easier tweaks, more
performance boosts, and even some ways to save a lot of storage on your Deck. Alright, let's get right down to it! Today, the newest update to CryoUtilities
is live, rounding out to a version 2.0. I've completely gutted the old version
and rebuilt it from the ground up in Go, using the Fyne GUI framework. The code is in the same repo as
before, link the description below. I'm sorry in advance to any Go
developers for what I've done to your poor, poor language. I come from old school languages
and I'm still getting a hang of it. Plus I kept adding new features,
so the code can definitely be consolidated and optimized. I'm more than open to any feedback
or PRs on the repo, so please do so if you have the experience. Last thing before we get started,
this video took me well over 100 hours of testing, development,
benchmarking and writing, and will likely be another 10 to 15 hours before
it's recorded and edited in full. If you appreciate the work that goes
into these massive videos, please consider hitting the subscribe button. Every one of my videos has this
attention to detail and tons of technical analysis, and I'd appreciate
it much more than you'd know. Alright, let's start with what performance
you can expect by using these fixes. Red Dead Redemption 2 gained 5% and 8%
average FPS on low and high respectively. It also became much smoother. Rise of the Tomb Raider had
similar averages, but became much smoother, resulting in even high
playing completely above 30 FPS. Grand Theft Auto V gained a
massive 43% on low and 18% on high, as well as smoothing out. And Horizon Zero dawn has had the
unfixable stutter it gets at all times almost completely mitigated. Now that you know what you can
expect, let's get into how to install or update to the latest version. First, if you haven't set a sudo password
yet, it's really easy, open a terminal and use the command passwd, on screen now. It'll ask you to enter a password. Type in the password that you want,
it won't show anything, but don't worry, it is typing in the background. After entering it, press the enter
or return key, type the same password again as a confirmation, and then
press enter or return one last time. And that's it, you have a sudo password. Installation is very simple. First, go to the repo
github.com/CryoByte33/steam-deck-utilities, the link is on screen and
in the description below. Next, scroll down to the install
section, right click the link, then press "Save Link As". Navigate to the desktop
folder and save it there. If, for some reason, you don't get
a popup after pressing save link, go to game mode and then back to desktop
mode, then try to download it again. Now, on the desktop, double
click the file and press continue to mark the file as trusted. It'll automatically start the install. If you have a previous version or
even the old steam-deck-swap-resizer script, this will remove that
and install the new version. When the install is done, you'll
get a notification that it completed and you can delete the
installer file off of your desktop. If you're on a previous version of
the script, just run the "Update CryoUtilities" icon on the desktop. No matter which version you have, it
should update to the newest version. Same as the install, you'll get
a notification when it's done. After the script is installed,
you'll have three new icons on your desktop and three new entries
in the KDE menu, under utilities. The actual launcher script, the program,
and supporting files can be found in /home/deck/.cryo_utilities, on screen now. Before getting to the graphical
version, I do wanna mention that you can run the script and access almost
all functionality with the CLI. Simply run "sudo
.cryo_utilities/cryo_utilities help", shown on screen and in the description
below, to see what you can do. I feel like most people who prefer
terminal mode will know how to handle it from here, but keep in mind
that you NEED to run it with sudo. To run in the standard graphical mode,
just use the desktop or menu icon labeled CryoUtilities, it'll start right away. After booting, you'll immediately
be met with a disclaimer. This is the part where I tell you that I'm
not responsible for anything that might happen to your device while running this. That said, nothing CryoUtilities
does should cause any harm to come to your device, but it must be said. If you agree to the terms, then press yes. Next, you'll be presented
with a text entry to enter your deck, or sudo, password. Enter the password and press submit. If the password is correct, then
you'll be brought to the homepage. If not, retry. The homepage is pretty simple with
a greeting and two large buttons. If you don't care about what any of
the tweaks do, or if you watch the video and want to apply them all, the
"Recommended" button will set everything to the values that I recommend. Please keep in mind that if you
haven't run a TRIM in a while this can take a bit, up to 30 minutes. Just leave it and it should
complete within that time, or follow my instructions to run
a TRIM later in the video. If you ever want to revert everything
back to the stock values that ship with the Steam Deck, then
just press the "Stock" button. Everything will be reverted to just
like it was new from the factory. That's it for the homepage,
let's move on to the swap tab. The first thing you'll notice
here is the bar at the top, the values are color coded. Red means that the setting is something
that's not optimal, green means optimal, and gray means that for some reason
the value could not be determined. Everything on this tab is the same as
the previous version of CryoUtilities, but I think that I can explain
things better, and with much higher quality, than I did previously. If you watched my last video on
CryoUtilities, you should be able to skip this section, but I recommend
watching it anyway if you wanna follow the later sections, since
I extend the analogy used here. Let's start out with
an explanation of swap. To understand what swap is, first you have
to understand a little bit about memory. In a computer, there is
short and long-term memory. The long-term memory is stored
on either hard drives or a drive utilizing flash storage like SSDs. In the 64 gigabyte Deck, we have an
eMMC, or embedded multimedia card, think of it like a really big MicroSD. The 256 gigabyte and 512 gigabyte
versions of the Deck come with an SSD, or solid state drive. Regardless of type, these are
used to store lots of data in the long term, but are slow
comparatively to short term memory. The types of data stored on
this are basically endless. Anything that needs to be stored
on a computer for any length of time will be saved to the
long-term memory at some point. The short term memory of a computer
is stored in various stages of random access memory, or RAM. RAM is super fast, but has low
capacity and loses its contents when it doesn't get power, which
is why we need long-term memory. The use case for RAM is to have
some data on hand, so the CPU can access it very quickly. Without RAM, everything would need to be
fetched from long-term storage every time, and the computer would be abysmally slow. Normally, if RAM filled up and you
needed more space to store what you're working on, the computer
would need to evict something from RAM and then load the new data in. This is fine here and there, but in some
situations this process can cause issues. Things that rely on incredibly fast
redistribution of memory, like gaming. Because we need to have a certain level of
maintained performance over a long period of time, any hiccups in memory management
can cause bad frame timing, lower frame rates, or even crashes in the worst cases. So now that we understand what
RAM is, let's go over what a swap file is, and why I can help. A swap file, or page file as it's
called on Windows, is basically an expansion of your short-term memory,
but stored in long-term memory. This means that it's a lot slower
than the RAM, but it provides a buffer for seldom-used data
that still needs to be at hand. Let's give an example to visualize
the memory handling on a computer. In this example, let's assume
that you're an accountant. Your job is to keep track of
numbers, including historical data. You are in your office when a
coworker comes in and asks you about some historical financial data. Using this example, we'll
have several stages of memory. The first would be the numbers that
you already hold in your brain. It's very fast to remember something,
but you can only remember a few things before losing track. Unfortunately, you can't remember
all the information you need to tell the other person, so you decide
that you need to hold a piece of paper with some numbers on it. The numbers on the paper are easily
accessible, but you have to look down and read the paper to fetch them. The paper can store more info than
your brain can, but the space on that one paper is very limited, so you
decide that you need a filing cabinet. The filing cabinet can store a ton of
data, and it's all sorted really well, but every time you need to find a certain
number, you have to look up where it is, go to the filing cabinet, deposit your
old paper, pull out the correct paper, go back to your desk, and then read it. You decide that it's way too slow to
grab the new page you need from the filing cabinet, so you dedicate a drawer
in your desk to holding some papers. Getting into the drawer still takes
a moment, but it saves you the time to go to the filing cabinet
and find what you need, since you know exactly what's in the drawer. It can also hold a decent amount of
papers before needing to move any back to the filing cabinet, so it's a lot
faster to get the data that you need. So After all of this,
we have the following: Your brain is the CPU's cache, it's
super fast and always available but has a very limited capacity. The paper in your hand is the RAM. It's fast and always available,
it has a better capacity than your brain, but it's still very limited. The filing cabinet is the HDD or SSD, it's
super slow, but can store tons of data. The drawer is swap, it's close at hand,
but slower than holding a paper already. It has decent storage, but not
nearly as much as a filing cabinet. Hopefully the example helps visualize
each stage of a computer's memory and will give you some background
to what I'm gonna say next. Swap can take a few different forms,
in Windows, it's called a page file. In Linux, you can use either
a partition or a file. Swap, unlike RAM can be resized easily. Once RAM is installed, that's
the total amount that you have. With a swap file, you can choose how
much of a drive to provide as swap at any time, which is great news for us. By default, the Steam Deck
has a 1 gigabyte swap file, stored on the internal drive. In our previous example, this would
be like having a tiny drawer that was only big enough for index cards. We can resize the swap, or drawer in
the example, to be whatever size we need, and that's exactly what the swap
resize function of CryoUtilities does. First, let me give you some
disclaimers about this process. This process only works in Linux, so
Windows on the Deck cannot use this. Overutilizing swap technically
does wear your SSD out quicker since it has a limited lifespan. That said, this is not concerning
for a reason I'll mention when going over the next tweak. The process, and all processes
in this video, are completely reversible at any time. The swap file NEEDS to
be on the internal SSD. It cannot be installed to a
MicroSD, nor would you want it to be, since it would limit both
performance and MicroSD longevity. Okay, with all of that outta the
way, let's get into the tutorial. Changing the swap file size is incredibly
easy, you simply need to press resize and select the size that you want. As for which size I recommend, here's
a chart for performance differences. Keep in mind that the swap resize
isn't at its full potential on its own, but we'll get to that in a bit. Anything above 16 gigabytes doesn't
benefit performance in any game I've tested, but it could help with
the Suspend game plugin on Decky. 16 gigabytes has the best size
to performance ratio, and my recommendation if you have the space. 4 gigabytes is the bare minimum that
I'd recommend, and only if you don't have space for the other higher values. CryoUtilities will only show you
swap sizes that you have enough space for, plus an additional gigabyte. The extra gigabyte is to prevent you
from running out of space during the resize as to avoid the SteamOS bug that
causes boot loops with full drives. This is also how the "Recommended"
setting is calculated, with it picking the largest setting that you
have space for, up to 16 gigabytes. After you've selected the size press okay,
and it'll start the resizing process. The entire process can
take up to 30 minutes. Just as a note, if for some reason
this step fails, chances are that your drive needs to be TRIMmed. To TRIM your drive, go to game mode,
then to settings, system, scroll all the way to the bottom, and then press
Run Storage Device Maintenance Tasks. Wait for it to complete, if you
haven't done it in a while, or at all, it might take a bit. Afterwards, go back and try to resize the
swap file again, and it'll be much faster. Now that we're done with the swap
file, let's move on to the other setting on this page, swappiness. Swappiness can be explained by
extending the previous analogy. Let's say that your office is
as we left it the last time. You're happily giving out numbers
as people ask for them, but you find that sometimes you end up putting a
paper back in the drawer just to need to take it out again a second later. You decide that to prevent this,
you'll start holding onto papers for a little bit longer before
putting them back in the drawer. The act of holding onto papers for a
little longer before putting them away is very similar to the swappiness setting. Basically, swappiness is a numerical
value from 1 to 200 that determines whether the kernel prefers to put
data into swap or hold it in memory. The lower the swappiness, the more
the kernel prefers memory and the higher the swappiness, the more
the kernel puts items into swap. As a quick note, my previous video
mentioned that swappiness was on a scale of 1 to 100, which used to be the case. It has since been updated to a
scale of 1 to 200, but my previous recommendations are still valid. The Steam Deck's default is a value of
100, which means that a large amount of all memory will be stashed into swap, even
if there's a lot of space left in the RAM. The Deck's default is very high,
even by standard Linux settings, with most distributions using
a value between 40 and 60. By lowering the swappiness value,
we can really easily keep more data in memory, which reduces the amount
of time needed for most memory operations, and can translate to fewer
latency spikes when playing games. As an added benefit, it will save a lot of
life on your SSD or eMMC, since it avoids writing data to the drive unnecessarily. This is what I was referring
to in the swap section when I said that you shouldn't worry
about the additional writes. The next button in the CryoUtilities UI
will let you choose which value to use. I recommend a value of 1 is that's
where I've personally noticed the greatest performance benefit,
and it saves the most SSD life. Any value of 25 or lower should
be relatively similar if you don't want to use such an extreme value. With swappiness done. Let's move on to the next tab, memory. The top of the memory tab is similar to
the swap tab with color coded statuses. There are five new tweaks on this
page, four of which have never been mentioned on this channel. They work best together, so let's
see a graph of what they can do for performance compared to CryoUtilities 1.0. Now that you see how much they can help,
let's start at the top with huge pages, also known as transparent huge pages. Huge pages work really well with
our previous analogy as well. Let's say that you're in the same
office and sometimes you have to copy data from your papers to new papers
that you give to your coworker. Every time you start a new page,
you need to fill out the header and footer, including your name,
the date, and the page number. That's not a lot for one page, but you
have to do it for every single one. You have the idea to start putting
all the papers in a folder, which you can label with your name and the date. Now, you only need to write
the page number on each paper and it saves a lot of time. This is exactly how huge pages works. Instead of being limited to only
four kilobytes of space per page, which is what a group of areas in
memory is called, the kernel can use up to an entire gigabyte per page. This reduces the overhead of assigning
new memory to a program, which allows data to load in from the drive much
faster, and usually results in fewer frame rate drops when loading in new
assets or reading back from the swap file. The button in CryoUtilities
is super simple, you just press it once to toggle it on. It persists until you disable it again, so
no need to have the system toolbox plugin installed or set it each time you reboot. Next up, we have shared memory
in transparent huge pages. Shared memory in transparent huge
pages doesn't really need an analogy the same as the previous tweaks,
as it's very simple to explain. In the Linux kernel, there are a
bunch of things that end up in memory that are shared between processes,
which normally don't end up in huge pages, even if it's more efficient. The "Enable Shared Memory in THP"
button tells the kernel to allow huge pages for shared memory if it's
more efficient to do so, and can speed up some memory operations. Next, let's move on to
compaction proactiveness. If you're a bit older, or rapidly
aging like me, then you'll probably remember the days when
we had to defragment hard drives. It was done to move data into a sequential
order to make it faster to access. Well, compaction is exactly the
same process, but for memory and CryoUtilities can disable it. You might be asking, why would we disable
it if it's meant to speed up access? That's because rearranging memory in the
middle of a memory intensive process, like a game, can cause big latency spikes. Some of the times you get frame
rate hitching or a big lag spike, can be attributed to this process,
especially in CPU bound games. As the previous tweaks, just
press the button to disable it. Let's look into the next, very related,
setting; huge page defragmentation. Just like compaction does
for normal memory, huge page Defragmentation does for huge pages. Essentially, disabling this will
prevent lag spikes that happen when defragmenting huge pages, simple as that. This is another one of those "just press
the button and it'll be toggled" settings. Okay, let's move on to the last tweak in
the memory section Page Lock Unfairness. To explain page lock unfairness, let's
go back to the analogy one last time. This will likely be a little long-winded,
but it'll make sense at the end. Let's say that you have a very
important paper filled with this quarter's financial results. You need to make sure that everyone
important sees it, but don't wanna make copies because it's sensitive information. You decide that you'll keep the
paper on your desk and then email everyone who needs to see it,
telling them that they can come down and borrow the paper to review. When they're done, they have to bring the
paper back down and leave it in the same spot on your desk, at which point you'll
email everyone else that needs to see it. So let's assume that you email five
people that the paper is available. Your coworker John borrows
the page and then returns it. Now you email the remaining four
people on the list, and Liz comes down, borrows the paper, and then returns it. John contacts you and tells you
that he needs to see it again. So you add him back to the email
list, then you email everyone telling them to come get the paper. John shows up first and takes it
again, which frustrates Susan who shows up just a few minutes later. Then, John returns the paper. Now you email the remaining three
people on the list, Robert comes and picks up the paper, and then
returns it a few minutes later. Then, John emails you and says
that his intern messed up and he needs to see the paper again. You add him back to the list
and email everyone on it. Of course, John shows up
first and takes the paper. Susan is furious at this point as she
hasn't been able to see it at all, and John has gotten to see it three times. This is basically how Page
Lock Unfairness works. In SteamOS, the kernel will let a
single process claim a page of memory up to five times before forcing
it to go to a different process. The button in Cryoutilities will
set this value much lower, to one. That means that the kernel won't stall out
while trying to figure out where a page goes next, but it'll also allow handing
the page back to the prior process once. In effect, this reduces a lot of stutter
that can happen while processes wake up and sleep during the normal course of a
game, and it smooths the frame rate out. Hopefully, all of you are still with
me because I think the storage tab is something that's going to help a lot of
people, especially 64 gigabyte Deck users. The first option "sync game data" will
move the shadercaches and compatdata, or prefixes, of each game to the
same drive that it's installed on. Then it'll create a symbolic link
back to the SSD, so Steam thinks that it's in the same location. Essentially, it'll keep all the
storage for any given game on the drive where it's installed, rather
than filling up your internal drive. It's super simple to use,
just press the button. Select the two drives you want
to sync, and then press submit. Next, the Deck will reach out to
Steam's API to get a list of game names and their correlated game IDs. After it's done, a window will pop up
confirming that you want to sync the data. If the Steam API wasn't able to
be reached, then you'll see a lot of question marks, but if not,
then you'll see the game names. Either agree or disagree
with the movement, and then press submit if you agree. Three notes on this. First, this function will show the amount
of space that'll be moved and won't let you move the data if the destination
drive is too full to accept the data. Second, if for some reason the
correct games don't show up, try entering and exiting game mode. Sometimes the Steam cache
stagnates, and this fixes it. Third, the data gets stored in the
root of any non-internal drive in the folder cryoutilities_steam_data. If for any reason something goes
wrong, this is where you can find the data that was synced to that drive. After all the data is moved, you'll get
a confirmation and you are good to go. Last but not least, in
CryoUtilities, let's move on to the "cleanup game data" function. It's very simple to explain. First, press the button. CryoUtilities will look through all
possible directories for shaders and prefixes, then gives you a
list asking for which to delete. Reminder that if the API can't be
reached, or if the API doesn't have a record of a game for some reason,
then it'll just show the game IDs. Select the data that you want to
delete, and then press submit. You might be asking "why would
you want to delete them?". Well, firstly, Steam leaves some
remnants after you uninstall games, they can vary in size, but they never get
removed, at least as far as I can tell. The first time I ran this function,
I had 150 stale folders taking up more than 900 megabytes of space. Secondly, sometimes there are
issues with prefixes caused by game updates, you might break a config
file for a game, or for some reason the shader cache could be broken. By using this tool, you can force the
Deck to redownload and recreate them the next time you launch the game. Before running this, please keep in
mind that you NEED to back up game saves for games that don't support
cloud saves before deleting them here. If you don't, you might
lose your save game forever. Alright, and that's the tutorial
on CryoUtilities 2.0 as well as what each function does. Next, let's go over
changing the minimum VRAM. Before actually changing the minimum
VRAM, I want to briefly explain what VRAM is and how it works
with the APU in the Steam deck. An APU is a CPU, or processor,
and a GPU, or graphics processor, built into the same chip. That's what many consoles, the
Steam Deck, and most phones use. VRAM, or video random access
memory is memory specifically dedicated to a graphics card. Unfortunately, because the VRAM takes
physical space and because the APU has to remain so small, it has to share memory
between the CPU and GPU, meaning that it has no dedicated VRAM, so to speak. This is very bad for performance
when both the CPU and GPU need as much memory as they can get. In the Steam Deck, there's 16
gigabytes of total RAM, and the GPU can use up to 8 gigabytes of it. The caveat to this is that if the CPU
needs any more than 8 gigabytes for any reason, it gets priority and can evict
memory from the GPU, even if the CPU only needs that memory for a single cycle. This results in what's called "flapping". The CPU evicts memory from the
GPU, lets it go shortly after, and then the GPU takes it back. This happens very quickly and repeatedly
as memory is needed on both sides, and can cause lots of stutters,
and lower frame rates, in game. To get around this, we have
something called the UMA frame buffer size, which is set to 1 gigabyte
by default on the Steam Deck. The UMA frame buffer size is the
minimum amount of RAM that will be dedicated to the GPU to use as VRAM. In practice this means that, by default,
the CPU can use up to 15 gigabytes of RAM while the GPU gets starved at 1 gigabyte. Fortunately, Valve lets us set
the UMA frame buffer size in BIOS. It can be changed down to 256 megabytes
or all the way up to 4 gigabytes, quadrupling the default value. Before we actually enable it, I do wanna
mention exactly one situation where the 4 gigabyte setting is worse for performance. Red Dead Redemption 2 has an
engine bug when around water where the frame rate drops, and I've
confirmed it to still be an issue. Having a 4 gigabyte UMA frame buffer
size will cause an even more severe drop. This is the only game that I know
to be affected, but I wanted to mention it in case you primarily
play Red Dead on the Deck. Alright, back to the regularly
scheduled programming. First we have to completely
shut the Deck down. That can be done through the
power menu, the same way you go to desktop mode, then wait until
the screen goes completely black. Next, hold both the power button and
volume up button until you hear a sound come from the Deck, then let it go. Wait a few seconds and you should see a
weird looking screen with large buttons. We need to go to the lower
right button, setup utility. On this screen we need to go down one
entry to advanced and then change the UMA frame buffer size from 1G to 4G. Then, press the Steam Deck's select
button, and press yes to save and exit. The Steam Deck will reboot and you
should be all done, you can confirm by going to settings, system and
scrolling down to the VRAM size. As part of this section, I want to
quickly address some misinformation I've seen floating around
since my last video went live. I've seen a lot of people claim that
doing this actually hurts performance, and that is not the whole story. Setting the UMA frame buffer size to a
value larger than 1 gigabyte can hurt performance in CPU bound applications by
default- BUT - only at stock settings. By using my swap size and swappiness
tweaks, the possibility of negative performance is nullified in all
situations that I've tested. The reason why there are no
negative performance impacts when using the tweaks is simple. By setting the UMA frame buffer size
higher without adding swap space or tuning swappiness, you are just
stealing memory from the CPU without giving it anywhere else to use. By doing both fixes, the CPU
now has a place to put the extra memory, and the tuning to counteract
the additional memory pressure. This is the reason that I recommend
a minimum of a 4 gigabyte swap file, it completely counteracts the CPU
performance hit of the UMA tweak. With that out of the way, let's go
over some frequently asked questions. Who are you? Hey, I'm CryoByte33 or Kyle. I'm an American living in Sweden, I have
18 years of Linux experience and work as a DevOps engineer for my day job. I maintain large fleets of Linux
servers at work and a lab at home, and I like to help people play the
games they love on their Decks. As a fun fact about me, the
very first game I played was Tekken 3 on the PlayStation One. Will this harm my Steam Deck? I haven't heard of an instance of
this happening, but if something unexpected happens, please open an
issue on GitHub, message me on Discord, or bring it up in the comments. Does this work on Windows? Unfortunately no. Windows doesn't allow tuning things
this close to the kernel, with the exception of page file size, which is
configurable through a GUI in Windows. Do these fixes affect battery life or
increase heat generated by the Deck? No, this doesn't affect the heat,
the fan speed or battery life, but it could lift a bottleneck and allow
the CPU and GPU to work harder. This could raise heat or fan speed or
lower battery life by technicality, but it's not a direct result of
anything my script does, rather just the hardware actually doing its job. If this happens, just lock the frame
rate to your preferred setting and everything will perform is expected. Are there any downsides to these fixes? Not that I'm aware of. At worst, performance should break even. Will updates revert
these fixes or settings? A firmware update will revert
the UMA frame buffer change, which will require you going back
into the BIOS to set it again. Aside from that, none of the tweaks
should be reset, even by updates, but reformatting the Deck or
reinstalling SteamOS will revert them. I tested with several updates and
all tweaks were left in place. In the event that an update somehow
does revert some settings, I will do my best to update the community about
it and give you steps if necessary. Make sure to follow me over on Mastodon
or join the Discord to be alerted to anything I find as it happens, both
have links in the description below. If you have any more questions, feel free
to ask them in the comments below, or check out the full FAQ over on GitHub. Alright everyone, with my longest
script ever and weeks of development out of the way, don't forget to: Show the like button how much you like
it by going on a date, having a scenic wedding, having beautiful like button
children and then growing old together. Open the way to Sen's Fortress of Passion
(tm) by ringing the bell of awakening. Go to Subway, get your favorite sandwich,
and then carve my name in the bread to become a sub scribe while simultaneously
subscribing to this channel! And comment the words no comment to tell
me that you would prefer not to comment. Thank you to my patrons who are helping me
save up for a new Steam Deck so I can test Overclocking, Undervolting, and Modding. verg4469 Mitch Azyrophael Frankie Odgers Lemen Brian D Yi Luo Piekay MadamSlug SpiffMan Bradley C The Duck Jan Kříž Jimmy Champane Christopher Komer Keenan Brodey Mario Diaz Chase Melancon DevOps_DAdams Larry Nathan Wilke RaphaniacZX Aidan MontanaCB7 Shayne Duncan Cam Leavenworth kezabfz Samuel McConen Joseph Pizza Ivan P. Vic quarantinedgambler gamedev50 Nick Breckons Myosos Spolt Anon9001 Justin Rooney Oscar The Family Barlev Stefan R Philipp H. Loep Optimized Gamer - Great on Deck Zcc09 Koipao Pixelguin Daniel M Antonio Binetti Luka Taggert Spring Rebo93 EvoLunatic Cipri Brandon Greathouse Anthony Flores Juan Antonio Fernández and Chase Glynn. Thank you to my YouTube members for
telling YouTube that I'm really worth it. Eugene Brednev V.V. Prasiddh Shah TheWildcat and Papa Juicy. And lastly, major shout out to Cryptus
Primero, Dieter-4 and Head Bang Tiger for the super thanks, you guys are awesome. Thank you all for watching
and have a great day.