WEBVTT

00:00:00.160 --> 00:00:08.000
this is a gaming PC and I'm not talking about the slow trickle of afterthought

00:00:05.520 --> 00:00:13.120
releases that make PC ports look good by comparison thanks to Apple's new game

00:00:10.519 --> 00:00:18.400
porting toolkit not only will the process of porting games to Mac be much

00:00:15.519 --> 00:00:25.720
simpler for developers but Gamers can play PC games today right now on Apple

00:00:22.760 --> 00:00:30.960
silicon Max who' have thought it after all these years of giving zero cares

00:00:28.439 --> 00:00:35.320
whatsoever about gamers is Apple finally bringing the fight to Microsoft and

00:00:32.719 --> 00:00:40.840
gaming is it any good am I about to make the switch to talking about our sponsor

00:00:38.120 --> 00:00:45.200
build Redux is building a PC not in your wheelhouse no problem let the experts at

00:00:43.239 --> 00:00:49.079
build Redux help you out just pick the parts and they'll do all the hard work

00:00:47.239 --> 00:00:52.480
check them out at the link down below our setup which Emily is just putting

00:00:50.640 --> 00:00:57.760
the finishing touches on right now is an M1 Ultra Max studio with 128 gigs of

00:00:55.719 --> 00:01:01.879
unified memory we're running macOS Sonoma which works best with the game

00:00:59.960 --> 00:01:07.280
supporting toolkit right now and we actually need to use two versions of

00:01:04.159 --> 00:01:10.240
steam the Mac native one and the Windows

00:01:07.280 --> 00:01:15.040
one the Mac version is easy that's it theoretically this is working now but

00:01:12.759 --> 00:01:18.000
the Windows version of steam must be run from the command line for reasons that

00:01:16.560 --> 00:01:22.560
we're going to get into in a bit more detail later of course there's no window

00:01:20.759 --> 00:01:27.400
snapping on Mac because why would there be you can just pay for that if you want

00:01:24.439 --> 00:01:32.439
it you can it's a nice app you know what it doesn't matter the point is we're

00:01:29.400 --> 00:01:37.759
going to try TR some games sear puny

00:01:32.439 --> 00:01:40.079
sear puny yeah cyber Punk hey hey who

00:01:37.759 --> 00:01:45.320
okay I know you did most of the work before I came here and obviously it's

00:01:42.320 --> 00:01:47.719
not that easy but like it's working it

00:01:45.320 --> 00:01:52.719
would have been more easy if the uh the guey method worked but uh it should be B

00:01:50.399 --> 00:01:58.039
much easier in the future instructions say adjust graphic settings and

00:01:55.280 --> 00:02:02.240
resolution and see what happens to frame rate I see looks like right now we're at

00:02:00.640 --> 00:02:05.600
about 20 let's go to something more reasonable medium is this likely to

00:02:04.479 --> 00:02:09.560
actually complete or are you just trolling me well I mean there's only one

00:02:07.640 --> 00:02:13.280
way to find out I mean if you hit the space bar it might proceed one way to

00:02:11.800 --> 00:02:22.239
find out is to ask you if you're just trolling me oh it's running uh 11 FPS uh

00:02:19.800 --> 00:02:26.959
it does not look great well I mean it looks okay as long as you only look at

00:02:24.160 --> 00:02:31.319
like still frames uhhuh yeah the still frames don't look great well we're at

00:02:28.800 --> 00:02:38.959
720p you could boost the resolution I uh I mean I

00:02:35.160 --> 00:02:41.159
could wait it's not running any worse

00:02:38.959 --> 00:02:45.879
the truth is I'm kind of speechless right now it's not perfect the

00:02:42.760 --> 00:02:48.440
performance obviously sucks and at times

00:02:45.879 --> 00:02:52.760
steam Andor the game might crash or become unresponsive but this is still

00:02:50.599 --> 00:02:57.720
amazing and there are workarounds if you do experience a crash just open the

00:02:54.959 --> 00:03:02.680
activity monitor search for wine select all processes then click the arrows in

00:03:00.319 --> 00:03:08.200
the top right and click force quit wait a second wine how does a piece of Linux

00:03:05.760 --> 00:03:13.000
software that is not an emulator figure into all of this here's the thing game

00:03:11.159 --> 00:03:17.840
porting toolkit is essentially a distribution of code Weaver's crossover

00:03:15.239 --> 00:03:22.680
flavor of wine with what appears to be the dxvk translation layer for DirectX 9

00:03:20.519 --> 00:03:28.360
through 111 and then Apple's own Homespun d3d metal translation wrapper

00:03:25.519 --> 00:03:33.480
for directx12 which isn't without controversy thing is apple has a history

00:03:31.239 --> 00:03:39.200
of using open-source tools to enrich their own proprietary Solutions like

00:03:36.400 --> 00:03:43.840
cups for printing and the khtml browser engine that became Safari's web kit and

00:03:41.439 --> 00:03:49.159
ultimately Chrome and like these other situations game porting toolkit is

00:03:46.280 --> 00:03:53.239
perfectly legal but is understandably rubbing some members of the open source

00:03:50.879 --> 00:03:57.560
Community the wrong way given both Apple's restrictive licensing agreement

00:03:55.040 --> 00:04:03.680
for the toolkit and their historically narrow contributions back to open source

00:04:00.400 --> 00:04:06.360
software now my notes Here only say move

00:04:03.680 --> 00:04:11.959
on at your discretion of the nine games installed five of them work correct okay

00:04:09.480 --> 00:04:17.680
I want to play Civ a fine how about Hollow

00:04:14.319 --> 00:04:19.280
name let's go Hollow night what are the

00:04:17.680 --> 00:04:25.160
controls for this game on a keyboard and mouse I truthfully have no idea holy

00:04:22.680 --> 00:04:30.360
crap this is running at 60 FPS and actually

00:04:27.360 --> 00:04:33.720
feels I mean I suck but but other than

00:04:30.360 --> 00:04:35.160
that it feels fine input lag hard to say

00:04:33.720 --> 00:04:39.039
even though this is a bit of a Twitchy game I find it kind of forgiving in

00:04:37.560 --> 00:04:43.199
terms of input leg I didn't have trouble playing it on the Logitech g-cloud for

00:04:40.639 --> 00:04:47.600
example it seems pretty good I would say it seems pretty darn good uh I mean it

00:04:45.120 --> 00:04:52.199
seems like from the sound to what I'm seeing on screen it seems pretty decent

00:04:49.800 --> 00:04:57.160
like maybe there's a little bit but it's definitely usable compatibility is a

00:04:54.840 --> 00:05:01.840
mixed bag then which makes sense given the similarity to valve's proton

00:04:58.919 --> 00:05:05.880
compatibility for Linux and also makes sense considering the extra step that's

00:05:04.160 --> 00:05:11.440
going on here of running through the Rosetta translation layer which handles

00:05:07.919 --> 00:05:13.919
running x86 code on Apple silicon and

00:05:11.440 --> 00:05:17.440
unlike proton very few support packages are installed by default which can make

00:05:15.600 --> 00:05:22.080
things problematic if you're trying to use it like proton it's also worth

00:05:19.759 --> 00:05:26.759
noting that while d3d metal is closed Source crossover is gaining support for

00:05:24.199 --> 00:05:32.080
direct X12 this year too so game porting toolkit might not be the only option for

00:05:29.240 --> 00:05:37.960
gamers on Mac though of course it's not really intended to be let's go F1 let's

00:05:36.400 --> 00:05:42.759
go a your version of Windows is older than

00:05:40.759 --> 00:05:48.240
the minimum version required yes I wish to continue oh we're sorry but you can't

00:05:45.960 --> 00:05:51.400
there is no fraking way that Halo infinite runs I mean you're not

00:05:50.039 --> 00:05:55.000
currently running Halo infinite you're running I'm not running Halo infinite

00:05:53.160 --> 00:06:00.000
cuz I don't think that's going to run I'm trying to find ones that will run

00:05:57.080 --> 00:06:07.240
hey I think I found one the last total war game I played was Rome Total War the

00:06:04.199 --> 00:06:10.639
remake or the original the original hey

00:06:07.240 --> 00:06:15.080
this is running uh oh my God oh my God

00:06:10.639 --> 00:06:17.319
okay let's go Gamers oh crap well I suck

00:06:15.080 --> 00:06:21.759
this overlay in the corner here shows us how much performance we're leaving on

00:06:18.840 --> 00:06:28.039
the table due to translation layers and not emulation it's a lot we're using

00:06:25.240 --> 00:06:32.599
about 20% of our GPU right now and apple knows that but that's okay because the

00:06:30.520 --> 00:06:37.240
general idea behind this tool and apple was very clear about it is that a

00:06:34.759 --> 00:06:42.479
developer using a common framework like Unity or Unreal Engine can simply

00:06:39.759 --> 00:06:46.960
compile a Mac version of their software without having to rewrite the graphics

00:06:44.880 --> 00:06:52.360
audio or input routines that they've already written for Windows they're not

00:06:49.280 --> 00:06:56.800
supposed to just use it like this and

00:06:52.360 --> 00:06:58.879
all of that sounds great but as we know

00:06:56.800 --> 00:07:03.000
it's not always that simple in the real world before we talk about that though

00:07:01.120 --> 00:07:07.919
let's discuss the advantages of this approach with the biggest one being the

00:07:05.520 --> 00:07:13.960
it just works Simplicity but unfortunately that's about it I mean in

00:07:11.039 --> 00:07:18.440
theory it does make it easier to create a native version of your game as well

00:07:16.520 --> 00:07:22.960
but if the way things are going on Linux is anything to go by the translation

00:07:20.680 --> 00:07:27.400
layer forever approach is the more likely outcome so then let's talk about

00:07:25.280 --> 00:07:32.360
the drawbacks of that the first is that performance should in theory be pretty

00:07:29.720 --> 00:07:37.360
close to proton on Linux so usually worse than Windows though sometimes

00:07:34.520 --> 00:07:41.520
equal or even better and the second is that if developers are not motivated to

00:07:39.360 --> 00:07:48.199
create true native ports this compatibility and performance is always

00:07:44.440 --> 00:07:50.800
going to be behind and by more than non-

00:07:48.199 --> 00:07:57.000
gamer Apple Executives probably realize the thing is even a compatible game

00:07:54.159 --> 00:08:01.560
might have dependencies that are not created by the developer like say for

00:07:59.240 --> 00:08:07.240
examp example anti-che the developers of which have very little incentive to Port

00:08:03.840 --> 00:08:09.360
their software to these Rando not

00:08:07.240 --> 00:08:14.759
properly supported platforms let's see if we can find one like that like say

00:08:12.120 --> 00:08:18.360
Halo infinite yeah okay that didn't take long see you later buddy I mean I don't

00:08:17.240 --> 00:08:21.879
actually know that that's because of anti-che but it almost certainly isn't

00:08:20.319 --> 00:08:26.120
helping but you told me there was an anti-che one that you did manage to get

00:08:23.840 --> 00:08:30.800
working and I assume it's this because this is all that's left yes Elden ring

00:08:28.639 --> 00:08:36.000
is the only one that I got to work with antiche so the idea behind it though is

00:08:33.479 --> 00:08:40.159
that instead of doing anything special what you do is you rename the anti chees

00:08:37.760 --> 00:08:43.560
executable because it starts up and then scans things and then it launches the

00:08:42.159 --> 00:08:50.720
game you rename that executable then you rename the game's executable to that executable name so then steam just

00:08:47.839 --> 00:08:54.839
launches the game the problem is that from there you don't have any online

00:08:53.040 --> 00:08:59.640
support whatsoever does that matter in Elden ring I mean depends on how you

00:08:57.160 --> 00:09:02.120
play the game ring you need online you do there's actually quite a bit of

00:09:00.600 --> 00:09:06.920
multiplayer in ring or you could just not do that wow oh wait oh okay no no

00:09:04.880 --> 00:09:11.200
that worked I swear the first time I whacked one of those pots there was a

00:09:08.760 --> 00:09:14.320
delayed reaction for it to crumble it might have been Shader compilation that

00:09:13.120 --> 00:09:20.519
makes sense okay that wasn't on me I had that

00:09:18.200 --> 00:09:26.640
lined up I swear it do you see that I can't really see

00:09:23.160 --> 00:09:28.640
much just no don't lie you saw that from

00:09:26.640 --> 00:09:36.279
this angle all I see is just a bunch of gray blob no I editor help me out

00:09:33.279 --> 00:09:38.079
here I was lined up with the big one I

00:09:36.279 --> 00:09:44.480
have no idea what you're talking about oh hey did you notice the FPS row no it

00:09:41.600 --> 00:09:51.760
was at like 15 now it's like 37 what shut up that can't be running at 37 FPS

00:09:48.399 --> 00:09:53.880
ooh no way Elden Ring's actually running

00:09:51.760 --> 00:10:00.079
kind of okay I guess it needed to warm up the shaders

00:09:56.279 --> 00:10:03.519
interesting 30 FPS Elden ring

00:10:00.079 --> 00:10:06.640
I mean at what resolution though 1080p

00:10:03.519 --> 00:10:09.440
maximum qual and we got those results

00:10:06.640 --> 00:10:14.240
with the GPU at 20% and before even hydrating with this water bottle from

00:10:11.040 --> 00:10:16.320
LTT Store.com it's empty whatever

00:10:14.240 --> 00:10:21.920
doesn't matter the point is it's a very mixed bag and not everyone wants to just

00:10:19.000 --> 00:10:27.120
buy and try random games and there's no proton DB for Mac yet but what there is

00:10:24.760 --> 00:10:31.320
is a community curated Google sheet that is full of lots of interesting nuggets

00:10:29.519 --> 00:10:36.000
here are some interesting ones Halo infinite crashed on the crossover wine

00:10:33.760 --> 00:10:41.079
that is used in GPT and I don't mean chat GPT I mean game porting tool kit

00:10:38.160 --> 00:10:45.440
but it works with proton and given its anti-che and Microsoft account

00:10:43.079 --> 00:10:49.519
dependencies I suspect that that's only the case because valve had to do some

00:10:47.440 --> 00:10:53.720
special sauce to get that working and I have to say I wonder if Apple will be

00:10:51.480 --> 00:10:57.880
willing to put in the work probably not given that their stated purpose is for

00:10:55.760 --> 00:11:04.000
developers to be the one to do the work how optimistic more on that later also

00:11:01.200 --> 00:11:08.560
any game that requires AVX or avx2 instructions will fail Apple silicon

00:11:06.760 --> 00:11:12.760
doesn't support it and neither does their Rosetta translation layer vsync

00:11:11.079 --> 00:11:16.839
also appears to be enforced by the compositor regardless of the in-game

00:11:14.600 --> 00:11:21.079
settings so you will only ever get your displays refresh rate in FPS also

00:11:19.399 --> 00:11:26.079
getting it to work is a pain involving terminal commands and the x86 version of

00:11:23.399 --> 00:11:29.959
Homebrew Isaac maritz the person who posted the infamous video of running

00:11:27.639 --> 00:11:33.680
cyberpunk on a Mac modified his whiskey app to support the game porting toolkit

00:11:31.959 --> 00:11:36.959
but the most recent version as of us recording this doesn't work though I

00:11:35.560 --> 00:11:40.760
suspect by the time we released this video it will be patched so keep an eye

00:11:39.200 --> 00:11:44.760
on that back to that developer conversation though Apple's going to

00:11:42.440 --> 00:11:49.760
have to support and promote this tool heavily to overcome their reputation

00:11:46.720 --> 00:11:51.560
among game developers they have a long

00:11:49.760 --> 00:11:55.959
history of ignoring the gaming industry dating back to Steve Jobs according to

00:11:53.480 --> 00:11:59.480
programming Legend John carac Gabe new of valve claimed that Apple kept coming

00:11:58.079 --> 00:12:04.320
to them talking about supporting in games but just nothing would ever come

00:12:01.720 --> 00:12:08.519
of it and so far no major developers that I could find have publicly

00:12:05.920 --> 00:12:13.079
expressed support besides hideio kajima who Apple had present during their WWDC

00:12:10.920 --> 00:12:17.720
2023 keynote where the game porting toolkit was announced some high-profile

00:12:15.720 --> 00:12:22.680
releases have been coming to Mac recently like Resident Evil Village and

00:12:20.079 --> 00:12:26.519
no man's sky and there are some mac native games in fact we've got a couple

00:12:24.680 --> 00:12:30.760
of them installed so I guess the question that this raises now is if all

00:12:28.680 --> 00:12:35.040
went according to plan what kind of performance improvements might we see we

00:12:32.920 --> 00:12:39.040
don't get an FPS counter but I'm expecting the performance to be markedly

00:12:37.760 --> 00:12:44.160
better than when we were running with the translation layer and it looks like

00:12:41.760 --> 00:12:50.000
weird camera bug aside it looks like it's a lot smoother the performance is

00:12:47.360 --> 00:12:54.600
way better like even if it's just 60 versus 60 the frame pacing is a lot

00:12:51.720 --> 00:12:59.839
better right here you can tell much better and the latency is markedly

00:12:57.639 --> 00:13:03.519
better as well um okay I'm going to win this fight this time though oh come on

00:13:01.680 --> 00:13:06.720
we have more stuff to shoot today uh that's true okay I don't have time to

00:13:05.079 --> 00:13:12.160
win this fight but I do have time to talk about the different kinds of native

00:13:09.040 --> 00:13:14.920
games that run on macOS Total War is

00:13:12.160 --> 00:13:19.959
running on ARM but uses Rosetta for some of the multiplayer whereas shadow of the

00:13:16.680 --> 00:13:22.560
Tomb Raider actually uses Rosetta for

00:13:19.959 --> 00:13:27.199
the port so from a CPU standpoint it's actually using the same tools that is

00:13:25.120 --> 00:13:32.279
Rosetta as the game porting toolkit the difference then would be

00:13:29.600 --> 00:13:37.320
basically this is running bare metal ha haha using the metal API whereas the

00:13:35.800 --> 00:13:41.440
game porting toolkit version would be using d3d metal the translation layer so

00:13:39.800 --> 00:13:45.639
that gives us some idea of how much we're losing to the translation layer

00:13:44.199 --> 00:13:49.839
yeah it's a lot worse than running on metal API but that shouldn't matter

00:13:48.279 --> 00:13:53.920
because if Apple can stop paying lip service to gaming and actually throw

00:13:52.040 --> 00:13:58.720
their hat into the ring the game porting toolkit could be a game changer in the

00:13:57.040 --> 00:14:04.560
way that they're presenting it as it is right now now though it's a curiosity at

00:14:01.600 --> 00:14:09.320
best for end users and time will tell if this is actually a useful tool that will

00:14:07.320 --> 00:14:14.360
motivate developers to Port their games natively which is yeah going to be

00:14:12.240 --> 00:14:18.800
necessary for a good experience just like this good experience telling you

00:14:16.320 --> 00:14:23.360
about our sponsor Micro Center this summer Micro Center is opening their

00:14:20.519 --> 00:14:27.880
first store in8 years in Indianapolis with two more stores set to open by 2025

00:14:26.279 --> 00:14:32.680
they're so excited about the opening that you can receive a free 128 gig

00:14:30.240 --> 00:14:36.360
flash drive just for stopping by and if you sign up for an account as a new

00:14:34.040 --> 00:14:41.440
customer you can receive $25 off your next inore purchase of any products

00:14:38.759 --> 00:14:46.199
totaling $100 or more Christmas is starting way earlier this year not going

00:14:43.880 --> 00:14:50.880
to make it to Indianapolis June is all about Microcenter laptop savings event

00:14:48.560 --> 00:14:54.680
with absolutely crazy deals all month long on all kinds of laptops whether

00:14:52.759 --> 00:14:58.279
it's your next gaming laptop or just something you need for traveling you

00:14:56.120 --> 00:15:02.079
know you just you can even use their online pc Builder tool to ensure

00:15:00.320 --> 00:15:05.920
compatibility and get your parts in store in just 18 minutes and if you're

00:15:04.519 --> 00:15:11.079
proud of your build submit it to their build showcase to receive a coupon for

00:15:08.440 --> 00:15:15.399
your next in store purchase with over 25 stores across the US Microcenter offers

00:15:13.120 --> 00:15:19.360
the best selection and prices on laptops computer components monitors TVs

00:15:17.360 --> 00:15:23.199
networking equipment and more and if you need service and repairs they have a

00:15:20.920 --> 00:15:26.920
dedicated department for that so visit Micro Center today or click the link

00:15:24.800 --> 00:15:30.800
below to learn more if you guys enjoyed this video why not check out our gaming

00:15:28.600 --> 00:15:36.839
on l next challenge series maybe someday I'll be revisiting it with a mat I

00:15:33.360 --> 00:15:36.839
wouldn't hold my breath though
