With my RTX 5090 graphics card stuck somewhere in RMA limbo for the past few months, I've been spending a lot more time working through new games on a Legion Go handheld.
Back when the Legion Go and its Ryzen Z1E chip launched in late 2023, devices like it and the Asus ROG Ally felt genuinely compelling. They offered meaningfully better performance than the Steam Deck in a similar form factor, and in many titles, they could even deliver a "better-than-console" experience.
If you had told me, even five years ago, that a slightly clunkier Nintendo Switch could run PS4 exclusives at higher frame rates and quality settings – or it could serve as someone's primary gaming platform, I would have laughed.
The Steam Deck shifted that conversation. But even with silicon of the caliber of the Ryzen Z1E and Z2E, there are still hard limits: there's only so much performance you can extract from a chip running at 30W on a handheld.
The Handheld Promise… and the Reality
With the proliferation of Unreal Engine 5 titles, handheld hardware seemed to regress almost overnight. From offering a "better-than-console" experience on the go, to barely running modern games at paltry resolutions, the lowest settings, and a wobbly 30 FPS.
About a year ago, I loaded up a whole slate of newer releases on the Legion Go, toyed maybe ten minutes with each, and then uninstalled them just as quickly.

On games like Clair Obscur, RoboCop: Rogue City, Baldur's Gate 3, and Cyberpunk 2077, the compromises required to reach any kind of playable state were simply too steep: blurry 800p output made worse by FSR 3 and XeSS, 30 FPS with uneven frame pacing, punishing input latency, and settings cuts that can make these titles look like PS3 games at their worst.
... blurry 800p output made worse by FSR 3 and XeSS, 30 FPS with uneven frame pacing, punishing input latency, and settings cuts that can make these titles look like PS3 games at their worst.
The Legion Go ended up gathering dust for most of 2025. I ran my game library exclusively on the RTX 5090, hooked up to a high-refresh 4K HDR display.
Then my GPU went kaput around New Year's...
I had no choice but to pick up the handheld again, dreading just how much worse the experience was going to be. But something was different this time.
A few months back we covered the leak of AMD's FSR 4 INT8 pathway and the puzzling lack of any official support from AMD. Around the same time, Intel released the XeSS 2.1 SDK, making XeSS Frame Generation and XeLL Low Latency technology available across a broader range of platforms.
This created a perfect storm of sorts, at least on paper. Could this AI-powered software stack tackle all the core pain points of handheld gaming in one go?
Here's how it worked out for me...
The New Upscaling Stack Explained:
Optiscaler + FSR 4 INT8 + XeFG + XeLL
Optiscaler is a middleware tool that allows you to inject alternative upscaling and frame-gen methods into virtually any game. A few months ago, test builds rolled out experimental support for XeFG and XeLL injection, alongside FSR 4 INT8. This means you can bring vastly superior FSR 4 upscaling to almost any game so long as it implements some flavor of temporal upscaling from DLSS 2 onward, combined with Intel's Xe Frame Generation and Xe Low Latency.
Before FSR 4 became available, FSR 3 and XeSS DP4 were your only options for achieving playable frame rates in modern games on a handheld, but that came at the cost of atrocious image quality.
To push past a wobbly 30 FPS, you'd need to enable FSR 3 or XeSS at internal resolutions of 1280x800 or below. FSR 3 uses no machine learning, and XeSS's DP4 pathway for non-Intel cards is vastly inferior. Neither produces output you'd want to look at when scaling to 800p on the Legion Go's 2560x1600 display. It's ugly, and it materially impacts readability.
Lossless Scaling was another option worth considering before FSR 4 arrived. On memory-bandwidth-constrained chips like the Ryzen Z1E, temporal upscalers like FSR 3 and XeSS tend to scale poorly at higher output resolutions.
Let me cite an example: The Last of Us Part II on the Legion Go, enabling FSR 3 Ultra Performance at a 1600p output target technically means upscaling from 853x533. The image quality is rough, and the frame rate gains are modest – regularly dipping below 30 FPS. Running at a native 1280x800 without upscaling often performs better, despite the nominally 'lower' final resolution.
Most of these upscaling solutions get the job done if all you want is to run games at a decent frame rate – image quality be damned. But with FSR 4 and XeFG, we can actually get both...
I tried it all. So I can tell you that in some cases, Lossless Scaling's LS1 spatial upscaler is a decent option. It's a good spatial algorithm with a very low performance overhead. Upscaling from 1280x800 to 2560x1600 via LS1 often looks comparable to, and performs better than, FSR 3 Performance mode targeting a higher base resolution.
But LS1 is still a spatial upscaler, which means it has no access to motion vectors, temporal history, or any data outside the current frame. There's a ceiling on what any spatial algorithm can recover from low input resolutions. Without some form of machine learning reconstruction, you're moving deck chairs.
Side Story: How Nintendo Handles Upscaling on the Switch 2
An instructive parallel here is the Nintendo Switch 2. The Switch 2 features a bespoke DLSS implementation tailored to its low-power Ampere GPU. It doesn't compare to full-fat DLSS 4+ in absolute terms, but the underlying machine learning architecture is the same, and the results are miles better than temporal-only solutions like FSR 3.
In handheld mode, the Switch 2 upscales games like Cyberpunk 2077 from as low as 360p – and thanks to DLSS, the output remains surprisingly credible, with none of the moire patterning or transparency breakup that plagues FSR 3 at similar scale factors.
ML upscaling on the Switch 2 isn't a premium feature reserved to a few showcase titles, instead it's the default rendering pathway in both handheld and docked modes...
What matters here is that machine-learning upscaling on the Switch 2 isn't a premium feature reserved for one or two showcase titles, instead it's the default rendering pathway in both handheld and docked modes. It offers a clear blueprint for what Windows handhelds could potentially achieve using a comparable software stack.
FSR 4 INT8 fulfills that role for the Windows handheld ecosystem. While there is marginally more artifacting compared to the full FSR 4 implementation on high-powered RDNA 4 cards, FSR 4 INT8 remains dramatically superior to FSR 3, and competitive with full XeSS.
In subjective testing, FSR 4 INT8 in Performance mode consistently produces better output than FSR 3 and XeSS at their top quality presets. It's not a small gap – and Windows handhelds can go further still, thanks to Intel XeFG.
Going Beyond What the Switch 2 Can Do
Optiscaler can inject XeFG frame generation into any title with temporal upscaling support. This is closer to DLSS frame gen and the newer FSR 4 Redstone frame gen. XeFG uses machine learning to suppress frame generation artifacts. You don't have to trade the higher frame rate for a fizzling, blurry mess.
One caveat: XeLL (XeFG's latency reduction component), can only be injected into games that include a native low-latency implementation, such as Nvidia Reflex or AMD Anti-Lag 2.
In practice, this is less limiting than it sounds. All games with DLSS Frame Generation ship with Reflex enabled by default. There are even edge cases like the 2018 God of War PC port, which lacks native frame gen support but does include Nvidia Reflex, making it a perfect candidate for the full XeFG + XeLL stack.
XeLL: The Star of the Show
Intel Xe Low Latency (XeLL) deserves its own spotlight. As our brief benchmarking will show, Intel's low-latency technology is the component that makes this entire stack viable.
The figures are almost difficult to believe: with XeLL active, end-to-end input latency from a 30 FPS base comes in at roughly 20 - 40ms, which is comparable to, and in some cases slightly better than running at a native 60 FPS with Reflex disabled. That's not a typo. A 30 FPS base with XeLL can feel more responsive than uncapped 60 FPS without it.
That baseline changes everything. It means frame generation from 30 FPS is no longer a concession reserved for slow-paced RPGs and third-person adventure games. First-person shooters, parry-centric action titles, and anything with timing-sensitive inputs all become viable in a way that other upscalers simply can't deliver.
A Few Testing Notes
Before getting into frame rates and latency figures, it is worth establishing what FSR 4 INT8 actually does for image quality, because the gap between it and prior solutions is the foundation everything else here is built on.
All of our testing uses 1440x900 as the output resolution, with FSR 4 INT8 presets lowering the internal render resolution and scaling up to that target. We are comparing FSR 4's Balanced and Performance presets against their equivalent native render resolutions: 848x530 for Balanced, 720x450 for Performance, and Ultra Performance at 480x300.
While Ultra Performance is technically usable, it is not a great experience with any upscaling algorithm. There simply is not enough pixel data for the reconstruction algorithm to work with. That said, we left it in to highlight how effective FSR 4 INT8's machine learning algorithm can be at recovering image detail.
One more note on the presets tested: FSR 4 INT8, as implemented through Optiscaler, breaks anti aliasing in many games, specifically when running the Quality preset, which can make image quality worse, not better. FSR 4 is also not a free lunch. It carries a performance overhead that often makes Quality mode difficult to justify versus native rendering.
In the vast majority of cases, you will want to run the Balanced preset, or Performance in a pinch, to tap into the superior image quality while boosting base frame rate enough for XeFG to do its thing. Keep that in mind, along with the emphasis on real world usability we are placing throughout this article.
The 1440x900 resolution is admittedly unusual, unless you were shopping for an entry level 21-inch monitor in 2009, but on the Legion Go's 16:10 handheld panel, it strikes an effective balance between visual quality and GPU load. For anything more demanding than a retro or indie title, 1440x900 is my default.
One final note for readers tempted by integer scaling from 1280x800: 1440x900 is objectively sharper. The integer scaling recommendation often seen on Legion Go forums and Reddit is well intentioned, but the difference is visible.
Testing Upscalers: FSR 4 FTW!
For our test scene, we are using Cyberpunk's built in closed loop benchmark across multiple resolutions and upscaling targets. The canned benchmark is surprisingly useful for assessing in game image quality, combining a diffusely lit, low contrast interior scene with character closeups, along with glimpses of open world exteriors and foliage. Visually, it captures much of what Night City has to offer straight from the in game benchmark.
Cyberpunk 1440x900 native rendering
Running at native 1440x900 is feasible in Cyberpunk 2077, but at a 47 FPS average, it is not a particularly consistent experience. Newer titles like Clair Obscur: Expedition 33 struggle to sustain a consistent 30 FPS at the lowest settings when running at 1440x900 without upscaling, often dipping below that mark. Between brutally dialed back settings and the low base frame rate, it is simply not a great way to experience most games.
For our first test, we are evaluating FSR 4 INT8 in Balanced mode. Here, FSR 4 scales 848x530 up to 1440x900. That is a dramatic reduction in base resolution, and it is frankly remarkable how close FSR 4 INT8 comes to native 1440x900 image quality.
In some respects, such as image stability and anti aliasing, it can even handle certain scenes better than 1440x900 with TAA. This is a phenomenon we have seen before with Nvidia DLSS, where AI upscaling can improve the final presentation despite running at a nominally lower resolution.
Cyberpunk FSR 4 balanced capture
FSR 4 INT8 also provides a healthy boost to average frame rates, improving performance from 47 FPS natively to 56 FPS. Even without frame generation, which we will get to later, this is a much smoother experience than native rendering, while image quality remains effectively on par.
It is worth emphasizing how much FSR 4 INT8 is accomplishing with so few pixels to work with. Here is that same benchmark run at native 848x530 with basic spatial upscaling applied through Lossless Scaling.
Cyberpunk 848x530 native + Lossless Scaling
The results are... not pretty, which is completely expected. Yes, you get marginally better performance than FSR 4 Balanced, but the tradeoff is image quality we would have criticized back in the PlayStation 3 era.
Testing Upscalers: How Do XeSS and FSR 3 Fare
This is the key question we want to answer. Both of these upscalers are widely supported in newer games and work out of the box, with no additional software required. What we found is that FSR 4 INT8 holds a clear edge over both FSR 3 and XeSS in image quality, while offering a comparable performance uplift over native rendering. Let's take a closer look.
We are running XeSS 2 in Balanced mode through Optiscaler's DLSS spoofing at a 58% scale factor. The overall image is softer than both FSR 4 and the native reference. XeSS's characteristic softness is evident even at higher presets, and some may argue that comes down to taste..
Cyberpunk XeSS balanced capture
Transparency handling is notably weaker than FSR 4. The chain link fence looks worse than with either alternative, while background foliage exhibits smearing and pixel breakup. In motion, XeSS at lower base resolutions also tends to smear, something a static screenshot undersells.
In terms of frame rate, we are looking at a 57 FPS average. XeSS Balanced nets just 1 FPS more than FSR 4 Balanced, while looking considerably worse than both native and FSR 4.
One minor quibble here: Intel labels XeSS scaling factors differently than AMD and Nvidia. The 58% scaling factor used for XeSS Balanced could technically be described as "XeSS Quality." We wanted to keep this as close to an apples to apples comparison as possible. If we used the 50% scale factor Intel describes as XeSS Balanced, the result would be worse still.
Cyberpunk FSR 3 balanced capture
What about FSR 3? AMD's older temporal upscaler lacks the machine learning component FSR 4 brings to the table, so how much does that affect image quality and performance?
Of all the options tested, FSR 3 produces the weakest image quality. Transparencies are handled poorly, and FSR's characteristic moiré patterning is visible even in this relatively static scene. The end result is an image that is only really presentable when there is no motion onscreen. Even the slow camera pans in the benchmark reveal noticeable visual artifacts.
At 59 FPS, FSR 3 delivers roughly a 5% improvement over FSR 4, but the hit to image quality makes it categorically not worth using in comparison.
Curious whether it would close the gap at all, we also tested FSR 3 in Quality mode. Despite the advantage in render resolution, FSR 3 still looked worse than FSR 4 in Balanced mode while running at a slightly lower frame rate.
Testing Upscalers: Performance Mode
How do these upscaling algorithms, and FSR 4 INT8 in particular, fare in Performance mode with a 50% resolution scaling factor? Upscaling to 1440x900 means working with a paltry 720x450 base resolution. That is in the vicinity of "hi-res" modes some Nintendo 64 and PS1 titles used circa 1999.
On smaller screens and lower powered handheld hardware, dropping resolution this far is sometimes the only way to reach playable performance. Toward the end of the original Nintendo Switch lifecycle, AAA ports ran as low as 800x450 to deliver something approximating a playable frame rate. That meant you could technically play titles like Doom Eternal or The Witcher 3: Wild Hunt on Nintendo's handheld, but often with image quality so low it destroys the game's artwork.
On the Legion Go's 8.8 inch display, FSR 4 in Performance mode does not butcher image quality nearly as much. Unlike Balanced mode, it is a step down from native 1440x900, but image quality remains more than presentable.
Cyberpunk FSR 4 performance capture
Getting reasonable image quality here is arguably almost as surprising as the first time I tried DLSS 4 Performance mode on a 4K display. Yes, you can see the downgrade from native, but it comes remarkably close, and the performance gains make it worthwhile.
Performance mode pushes the average frame rate up to 60 FPS, a meaningful improvement over 47 FPS natively.
I tested XeSS and FSR 3 in Performance mode as well. Neither delivered what I would consider acceptable image quality. All the issues present in XeSS and FSR 3 at Balanced become even more obvious in Performance mode. XeSS becomes so soft that visible texture detail starts to disappear.
FSR 3 fizzes and pops, producing a distractingly unstable image. XeSS averages 60 FPS here, while FSR 3 does slightly better at 62 FPS. But the point remains: neither is an acceptable option when gaming at 1440x900, even on a small handheld display.
By contrast, FSR 4 Performance mode is entirely viable, with only a relatively minor hit to image quality.
What about Ultra Performance mode?
For starters, please, just don't. That said, as an interesting thought experiment, and partly inspired by people pushing DLSS 4 to its breaking point, I wanted to see what would happen if you ran Cyberpunk 2077 with Ultra Performance upscaling.
We are talking about a 3x resolution scale factor, which means a shockingly low base resolution of 480x300, well below standard definition.
The short and unsurprising answer is that FSR 4 INT8 begins to break down at this point. There simply is not enough pixel information available. The benchmark run does not fully show it, because static scenes can look reasonably good, but any kind of motion introduces serious ghosting trails and flickering. At that point, the output starts to resemble FSR 3 Performance mode.
Cyberpunk FSR 4 ultra performance vs FSR 3 performance performance: ugly and much uglier
Just for kicks, I also tried running Ultra Performance with XeSS and FSR 3. What surprised me was that both managed to deliver worse image quality than simply running at native 480x300.
With FSR 3 in particular, the entire scene turns into a mess of artifacts fizzing and popping in and out of existence. By contrast, FSR 4 INT8 does have a handful of edge cases where Ultra Performance does not look quite as bad as you might expect. For example, if you really wanted to enable ray tracing in Killing Floor 3 or Deadzone Rogue while maintaining 60 FPS, and were not too concerned about scrutinizing the image in the middle of combat, you could consider it.
Yes, we did just talk about ray tracing and 60 FPS gameplay in Unreal Engine 5 titles on a handheld. It is not a mode you will want to use often, but it exists. XeSS and FSR 3 Ultra Performance, on the other hand, are simply not viable.
Testing Upscalers: The Verdict
FSR 4 INT8 is categorically the correct default for running demanding games on Windows handhelds going forward. Image quality in Balanced mode is difficult to distinguish from a native 900p render, and its performance overhead is broadly in line with XeSS.
Why AMD continues to withhold official support for hardware that is plainly capable of running it remains baffling. It would be an easy, high visibility win for the platform.
Upscaler Performance
| Resolution | FPS |
| Native (1440×900) | 47 |
| FSR4 Balanced | 56 |
| XeSS Balanced | 57 |
| FSR3 Balanced | 59 |
| FSR4 Performance | 60 |
| XeSS Performance | 60 |
| FSR3 Performance | 62 |
Unlike Intel's cut down DP4 version of XeSS, FSR 4 INT8 appears to be running the full FSR 4 algorithm. That means we are getting something much closer to DLSS 3 class image reconstruction in subjective terms. FSR 4 INT8 on Windows handhelds invites favorable comparisons with the Nintendo Switch 2 and its DLSS implementation.
From testing, and from actually playing games with FSR 4 INT8 enabled, I can attest that AMD's unofficially supported upscaler does something very similar for devices like the Lenovo Legion Go and Asus ROG Ally.
Leveraging Frame Generation
AI-powered upscaling is not the only thing Optiscaler offers handheld gamers. The second piece of the puzzle is high quality, low-latency frame generation through XeFG and XeLL. Frame generation has attracted its share of skepticism since Nvidia introduced it.
The "fake frames" critique has some merit in certain contexts, and concerns about input latency are legitimate, particularly in games with precise timing demands.
Having used every major flavor of frame gen currently available, here is my firsthand perspective:
- On a high end GPU like the GeForce RTX 5090, DLSS Frame Generation scaling from 60 to 70 FPS up to a display's native 144 Hz has been a uniformly excellent experience, with tight latency and smooth frame pacing throughout. At that tier of hardware, it is difficult to find much fault.
- Lossless Scaling's LSFG is a different story, especially on the Lenovo Legion Go. LSFG 3.1 meaningfully improved input latency over version 2, and for emulators and older titles locked to 30 FPS, it does a passable job smoothing output. But latency has never felt invisible. There is always a perceptible lag that punishes games with timing critical inputs.
Rapid camera movement can also induce genuine discomfort. LSFG becomes more palatable with a higher base frame rate. Scaling from 36 or 48 FPS produces better results, but on constrained handheld hardware, reaching that baseline often requires compromises of its own. - FSR Frame Generation is inconsistent to a fault. Native FSR FG implementations range from decent to actively counterproductive depending on the title. In Ghost of Tsushima, FSR FG ships out of the box and produces a smooth enough result, though input lag is noticeable. In The Last of Us Part II, the in game FSR FG implementation is broken enough that a locked 30 FPS without it often looks smoother.
- XeFG, paired with XeLL, sits in a different class. We will get to the numbers, but subjectively it can feel almost like black magic. The experience is difficult to overstate: onscreen smoothness and frame pacing are dramatically better than FSR Frame Generation and, in some scenarios, comparable to Nvidia's DLSS solution.
More importantly, it works consistently. XeLL is the other half of the equation, helping keep input lag close to native levels. On the Legion Go, XeFG scaling from 30 to 60 FPS is now my default configuration in any compatible title.
XeFG + XeLL Setup does require some effort. Only a handful of titles ship with native XeFG and XeLL support (Cyberpunk 2077 and RoboCop: Rogue City, for example). For everything else, you'll need to use Optiscaler and spend a minute or two with the command-line configuration tool.
The setup is more than worth it. Let's look at some numbers to see why.
Frame Gen Test
| Mode | FPS | Latency (ms) |
| Native (FG Off, XeLL Off) | 47 | 32 |
| FSR4 Balanced (FG Off, XeLL Off) | 56 | 28 |
| FSR4 Balanced (FG On, XeLL On) | 92 | 24 |
I ran the same Cyberpunk benchmark across a range of configurations, testing Xe Frame Generation and XeLL's impact on both frame rate and input latency. At all three tested resolutions, input latency was lower with Xe Frame Generation and XeLL enabled than it was natively. In games where XeFG and XeLL work well, such as Cyberpunk, there is effectively no tradeoff to Intel's frame generation stack. You get a smoother displayed frame rate without a latency penalty.
I should note that this is not true in every game. Star Wars Jedi: Survivor, for instance, exhibits uneven frame pacing with XeFG injected. The majority of games I have tested have handled it well, however.
What We Learned
Before this "holy grail" DLL combination, running modern games on Windows handhelds usually meant choosing between 30 FPS at low settings or relying on FSR 3 to turn an already compromised image into something worse. Neither option was satisfying. One was merely less bad.
Most current titles will run at at least 1280x800 and 30 FPS on Ryzen Z1E-class hardware, even something as demanding as Stalker 2. That is technically playable, but it remains a heavily compromised experience.
With FSR 4 INT8, XeFG, and XeLL deployed together via Optiscaler, that changes dramatically. The combination effectively lowers the performance threshold for what qualifies as a genuinely good handheld gaming experience.
With our suggested setup, that baseline can be transformed into something you would actually want to play.
Running demanding Unreal Engine 5 titles at higher settings and 60 FPS on a handheld, enabled by little more than a few DLL files dropped into a game directory, has a slightly surreal quality to it, almost like downloading more RAM. Yet the benchmarks support it, and the experience bears it out.
Handheld gaming has come a long way since the Steam Deck launched in 2022. With Ryzen SoCs now functioning as midrange workhorses, and Strix Halo based devices offering near PS5-class compute in a portable form factor, there has never been more raw potential in this space.
Debates around AI in the broader tech industry can be endless and often exhausting. But when it comes to AI-assisted upscaling and frame generation on handheld hardware, the picture is much simpler: it works, it works well, and it is making devices like the Lenovo Legion Go meaningfully better right now.










