There is no valid information anywhere about how COM interfaces are implemented internally for xgameruntime.dll so I had to do a lot of guesswork and I have documented how I went about implementing them within `QueryApiImpl`.
There's also the matter of NDA'd interfaces such as the Graphics API or the Audio API. There's simply no way for us to implement those but thankfully those tend to be exclusive to Xbox consoles.
For Microsoft services, I don't think any approach we use can be upstreamable because it goes against the whole point of the Wine project being MS free. However I would still implement them within WineGDK and ask for user consent if they want Wine to interact with Microsoft services.
I think the common practice in such
cases is that the patch is pulled / sent by someone with the real
name and their name in From:, while patch comment has "Patch by
..." with original author email / pseudonym (or 'based on patch
by' if the patch was modified beyond some formatting changes.
But I think it is not clear what is the
future of GDK and specifically game input in upstream Wine. WRT
gameinput, AFAIU it doesn't have a stable API (at least yet) and
the games are supposed to ship it (while some indeed don't).
WRT xgameruntime.dll, is there any
valid source of info for those internal interfaces details?
Separately, when I was once looking at xgameruntime, the major
problem to get any use of its implementation seemed to be linking
the implementation to actual application data game requests
through that (i. e., it must query MS servers for that). I wonder
were there any thoughts on that part?
On 11/5/25 15:51, Ty wrote:
"the crucial nature for me to stay anonymous"
This can be waived if you are willing to pass up your
attribution - it will be re-authored by another non-anonymous
user if you request a waiver to the rule. I have some misgivings
about how this is handled (attribution is important but now
isn't the time to discuss that), however it is a possibility. I
have gone this route myself to get some fixes merged in the
past, and is documented on the wiki for contribution guidelines.
On the condition that I de-anonymize myself,
would it be possible for me to submit my patches
over at https://github.com/Weather-OS/WineGDK
to wine staging?
My repository fully complies with Wine's cleanroom
guidelines, and more importantly, I do not,
and under no circumstances, use AI generated
code to implement API functionality. I solely rely
on tests written and compiled within a Windows
environment and Microsoft's own documentation.
Best Regards.
After careful consideration, unfortunately, both
because of my current conditions and the crucial nature
for me to stay anonymous, I won’t be submitting my
patches upstream.
However, my code will remain/become public domain and
is still compliant with Wine’s cleanroom guidelines.
Thanks a lot for guiding me through this, I wish you
the best.