Fortnite on Unreal Engine 5: can Steam Deck handle Epic's next-gen tech?
Ray-traced Lumen and Nanite geometry on a 15W processor?
Valve's Steam Deck has revolutionised PC gaming, its 15W custom AMD processor exceeding expectations and doing a great job in delivering handheld triple-A experience - but Unreal Engine 5 may well be its toughest challenge yet, owing to its Nanite micro-geometry and RT-based Lumen lighting. This is next-gen - or rather current-gen - stuff, so whether the Deck can handle it is key to its longer term prospects. To put that to the test, we decided to see if we could run the latest version of Fortnite with all of these features in play - and the results are surprising.
I went into this one with little optimisation. The Valley of the Ancient demo was a slideshow on the Deck, while the Matrix Awakens City Sample demo with big cutbacks still operates mostly in in sub-20fps territory. But remarkably, Fortnite is playable, even handicapped by a number of issues that hold the machine back.
Actually getting the game running is challenging enough. The biggest problem of all is that owing to lack of compatibility with Fortnite's anti-cheat technology, the game won't run at all under SteamOS, meaning that you need to install Windows to get it running. The second problem is a warning from Epic on booting the game, telling us our GPU driver is out of date and performing sub-optimally - which isn't going to help our cause.
Settings-wise, I opted generally for high settings across the board - a basic attempt to broadly mimic Xbox Series S. To be clear, these settings choices aren't about producing optimised settings for Fortnite on Steam Deck. Using ray-traced lighting and Nanite is not a good idea. If it worked under Steam OS, you'd be using the more streamlined modes and looking to target 60fps. Our experiments today are something quite different: it's about testing the viability of UE5 cutting-edge features on the Deck.
Initial results were too good in that performance was actually rather impressive - and stacking up Steam Deck against Xbox Series S in a linked multiplayer game, the reasons became clear. Despite selecting the software version of Lumen (in line with the consoles), this didn't seem to work at all. The only way to get broadly equivalent global illumination was to use the hardware RT Lumen setting. On the one hand, using hardware RT when the consoles skip it is quite the feat, but on the other hand, there are reasons Epic chose to opt for the software solution - it's faster - and that option for faster performance wasn't available for me in my testing.
So, there's good news and bad news in terms of our overall results running Fortnite on the Deck. We can get close to 30 frames per second on Deck - even using hardware RT - but the bad news is that we need use temporal super resolution in performance mode to do it, meaning that - astonishingly perhaps - we're actually upscaling from 360p. TSR really is very impressive on the one hand, but on the other hand, I can't help but wonder whether we could get better image quality and more stable performance if we had the ability to use software RT, in line with the console builds.
Using Fortnite's replay system, we can compare fully matched gameplay footage using whatever settings combinations we like - so I started by comparing the various temporal super resolution options, from 720p in TSR performance mode, up to native 720p with TAA. The TSR variants are perhaps closer than you might expect, while native 720p using TAA is obviously a lot slower - but on the flipside, it's rendering RT at pixel counts broadly in line with Series S. That being the case, 19 to 24fps is quite impressive for a handheld with a 15W APU servicing both CPU and GPU. Also impressive is how well TSR holds up, bearing in mind that in the performance mode, it's upscaling from just 360p. It may simply be down to the way that Fortnite presents but even this looks fine on a handheld screen. Even so, a consistent reading of 30fps or higher is still elusive even on the lowest resolution option we have here.
I ran those frame-rate tests with v-sync off, allowing for valid benchmarking of the various permutations. TSR performance across the clip weighs in at 30.04fps - but remember that frame-rate is both above and below that average. Moving up to TSR balanced sees performance drop by eight percent for a 27.6fps average, while much cleaner TSR quality mode can only muster 87 percent of the performance mode's numbers with a 26.2fps average. Native resolution 720p delivers 22fps - or 73 percent of TSR performance's throughput.
Going into this experiment, I was looking to replicate the results I saw on the Deck running Metro Exodus Enhanced Edition under Windows (there's no RT support in SteamOS yet), stacked up against Xbox Series S, with resolution compromises and frame-rate cut from 60fps to 30fps. It looks like the settings I chose have a small detail deficit and I was interested to see that the hardware RT option presents a clearly RT-based lighting solution that still looks quite different to Series S. Even so, we're close to getting a decent 30fps experience on Steam Deck that in motion looks pretty close to the Series S experience - and I think there are clear routes forward in improving performance (software Lumen not working correctly being the big disappointment in my tests).
Something else to consider is that while it's great to use all of the UE5 high-end features together, it's not a must - certainly not based on Fortnite, at least. Lumen lighting can be disabled for a simpler, flatter alternative. Alternatively, Nanite geometry or virtual shadows can be disabled too. There are options for increasing performance, but I guess the question is the extent to which future UE5 titles concentrating on the consoles will target 60fps in the first place and whether the fallbacks will work well enough if, say, RT lighting needs to be disabled. There's also the question of resolution: TSR works great with Fortnite in upscaling from absurdly low resolutions, but how would more detailed visuals fare?
And of course, every game - even those running on the same engine - can have very different hardware requirements. Right now, there's only Fortnite to test but at least with our first working example of an actual UE5 game, Steam Deck's mere 1.6 teraflops of peak GPU compute paired with its cutback CPU cluster (in relation to the Sony and Microsoft consoles) does seem to at least be able to run in a playable state.
This has been an interesting experiment then - and I can't wait to see what the next UE5 title is that'll use Lumen and Nanite, and the extent to which it'll run on Steam Deck. Running future UE5 titles under SteamOS will be an interesting challenge too, bearing in mind that in using Windows on the Deck, we're effectively operating in UE5's 'home territory'. This should mean good things or bad things for the Deck. Regardless, I really can't wait to see just how scalable UE5 is and the extent to which Steam Deck can handle this new wave of demanding titles. In the meantime though: UE5, Lumen and Nanite running on a handheld with a mere 15W power envelope? It can be done!