Hacking Xbox Gamestream with Windows IoT

nr89

Member
OP
Newcomer
Joined
Feb 1, 2019
Messages
8
Trophies
0
Age
35
XP
126
Country
Norway
Not sure if this belongs here. But a fun project I've been working on:

Used a Dragonboard 410c and the ARM version of Xbox Dev Mode Companion app to stream my Xbox to another room with Windows IoT Core.
What works:
* Video output (pretty nice quality as well)
* Controller input (even Bluetooth - Sets up in IoT Device Portal )
What doesent work:
* Audio (cant select HDMI Audio and the dragonboard does not have RCA or other forms of audio output...)
* Raspberry Pis - They don't have support for Direct X and because of that it runs as a slideshow.

The input lag is about the same as on a windows PC, probably a bit worse. Wouldn't play Apex with this thing, thats for sure...
Fun project in the end. Probably do a lot better with a Lattepanda Alpha or another board with better networking

Hardest part is getting your hand on the appx packaged version of the Xbox Dev Companion app. Easiest method I've found is to use a powershell script (search for appx-backup on GitHub) to create an appx package of the app and then sideload it (works pretty much like Xbox Dev mode sideloading). Hard part is getting your hand at the proper dependencies. After that it's pretty much plug and play. You can even set Windows IoT to start the app at boot.
 

nr89

Member
OP
Newcomer
Joined
Feb 1, 2019
Messages
8
Trophies
0
Age
35
XP
126
Country
Norway
The IoT thing works for both retail mode and dev mode (dev mode companion works for both sandboxes). But its a no go on a Pi. I've tried. It's a slide show, literarily.

Openxbox is probably a better solution all around. But never been able to get it to work. Tried to build it with both smartglass and webapi included. But it just fails and there is not enough documentation on it.

Will try Python on RPi. Last time I tried it was the android build
 

nr89

Member
OP
Newcomer
Joined
Feb 1, 2019
Messages
8
Trophies
0
Age
35
XP
126
Country
Norway
Yeah, that is where I ended up as well. And it should be that eas - Grab the repository from GitHub and build... Unfortunately the apk should be around 50mb when done, according to tuxuser on their discord.

If you check the reference tab in the solution it lists 4 .csproj files that are not included. These stem from the .net library Xbox Smartglass and Xbox Web Api. Those files need to be included into the solution

The 15mb version only crashes as soon as I click refresh

Got mine to build properly this time. Started with fresh files. It's a lot larger as it includes SmartGlass and XboxWebApi

https://1drv.ms/u/s!At_Gv3Dk8_EZg6wbYJluH6KkcrbKjw

See if anyone gets it working. It allows you to refresh, lists your Xbox IP. And there is a message on Xbox that states that streaming has started. So there is communication. But all I get is a blank screen. Maybe it just takes a really long time. Or there is something network related on my side. Had similar issues with Xbox Dev Mode companion too.
 
  • Like
Reactions: DRAGONBALLVINTAGE

tuxuser

Member
Newcomer
Joined
Mar 3, 2019
Messages
20
Trophies
0
Age
33
Location
Germany
Website
openxbox.org
XP
180
Country
Germany
The current state of the OpenXbox repositories is not very inviting for contributions right now, I agree on that. There are alot of different repositories in a -WIP- state - hence, not very extensively documented. You basically have to clone & build them and see for yourself.

Work for a mobile app was initially started with the following two repositories:
github/OpenXbox/xbox-client-android/tree/develop (branch:
github/OpenXbox/xbox-client-macios/tree/develop (branch: develop)

Then I started with a Xamarin App, which would allow a centralized UI and just the AV rendering part to be platform specific. However, there is a show-stopping bug: The SmartGlass connection never succeeds in the background Task - so I put SmartGlass development on hold in general.

Here is the Xamarin project:
github/OpenXbox/nanoclient.xamarin/tree/develop

For desktop, there are two other repositories, in a PoC working condition:
github/OpenXbox/xbox-client-ffmpeg/tree/develop (branch: develop) C#, SDL2/FFmpeg Gamestreaming client
github/OpenXbox/xbox-smartglass-nano-python (branch: master) python, SDL2/FFmpeg Gamestreaming client

PS: Missing repositories inside repositories are usually *git submodules* :D You clone the main repository, then, inside that folder, you call
Code:
git submodule update --init --recursive
.

PPS: If you are interested in contributing, feel free to join the OpenXbox discord - you can find the invite link here: openxbox_org/discord
 
  • Like
Reactions: DRAGONBALLVINTAGE

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    T @ Texasauras: admonish