Gaming

ROG Xbox Ally and Ally X to launch in Canada in October

A few new AI-powered features for the handheld gaming PCs were also revealed at Gamescom 2025

Asus Rog Xbox Ally X

Asus and Microsoft have confirmed that their ROG Xbox Ally and Ally X handheld gaming PCs will launch worldwide, including in Canada, on October 16. The announcement came out of Gamescom in Germany, where the companies are showcasing the devices to the public for the first time.

First unveiled at the Xbox Games Showcase in June, the ROG Xbox Ally and ROG Xbox Ally X are Xbox-branded versions of Asus’ popular ROG Ally handheld gaming PCs. This means that they feature the same core ROG architecture with Xbox bells and whistles, including buttons and Xbox integration. In addition to the Microsoft Store, these handhelds will also support third-party storefronts like Steam and the Epic Games Store.

Specs-wise, the entry-level ROG Xbox Ally sports an AMD Ryzen Z2 A processor featuring four Zen 2 cores with eight
threads and eight AMD RDNA 2 GPU cores, 16GB of LPDDR5X‑6400 RAM and a 512GB M.2 SSD and a 60Wh battery. The higher-end ROG Xbox Ally X, meanwhile, boasts an AMD Ryzen AI Z2 Extreme, a new eight‑core/16‑thread Zen 5 APU with 16 RDNA 3.5 GPU cores, an integrated NPU, 24GB of LPDDR5X‑8000 memory, a 1TB M.2 SSD, and an 80Wh battery.

At Gamescom, Asus also revealed a few of the device’s new features. First, the Xbox Ally X’s NPU provides AI-powered features coming early 2026 that include Auto SR (Automatic Super Resolution) to upscale games running at lower resolutions without extra work for developers and AI-generated highlight reels from gameplay moments (such as a big boss battle) that can be shared online.

Outside of AI, Asus also confirmed that the ROG Xbox Ally will allow the Xbox app to preload a game’s shaders during download, so supported games will launch 10 times faster, run more smoothly, and use less battery on first play.

And finally, Xbox says it’s been working with game studios to test and optimize “thousands” of PC titles in its new Handheld Compatibility Program. Similar to Steam Deck’s “Verified” system, Xbox’s program will offer clear indicators on how a given game will run on the Xbox Ally and Xbox Ally X. At launch, this program will feature two labels for compatible games: “Handheld Optimized” (game is fully playable with appropriate settings for the device) and “Mostly Compatible” (playable, but may require “minor” changes to in-game configurations).

However, the one big thing Asus and Xbox didn’t confirm at Gamescom is pricing, with the companies saying this information, alongside pre-order details, will come at a later date. For context, the Canadian pricing of the standard Ally is around $650, depending on the model, while the Ally X costs $1,099.

MobileSyrup is on the floor at Gamescom and will have more on the Xbox Ally and Ally X, as well as other gaming coverage from the show, in the coming days.

Image credit: Asus

MobileSyrup may earn a commission from purchases made via our links, which helps fund the journalism we provide free on our website. These links do not influence our editorial content. Support us here.

Related Articles

Fatal error: Uncaught Aws\S3\Exception\PermanentRedirectException: Encountered a permanent redirect while requesting https://ms-staging-baselayer-static-assets.s3.ca-central-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F. Are you sure you are using the correct region for this bucket? in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49 Stack trace: #0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\PermanentRedirectMiddleware->Aws\S3\{closure}(Object(Aws\Result)) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL) #2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true) #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #13 /var/www/html/vendor/aws/aws-sdk-php/src/ResultPaginator.php(151): Aws\AwsClient->execute(Object(Aws\Command)) #14 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #15 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map(Object(Aws\ResultPaginator), Object(Closure)) #16 [internal function]: Aws\flatmap(Object(Aws\ResultPaginator), Object(Closure)) #17 /var/www/html/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #18 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #19 /var/www/html/wp-content/plugins/contact-form-7/includes/file.php(362): readdir(Resource id #734) #20 /var/www/html/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #21 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #22 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #23 /var/www/html/wp-includes/load.php(1280): do_action('shutdown') #24 [internal function]: shutdown_action_hook() #25 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php on line 49