RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.41k stars 1.92k forks source link

[Feature Request] xbox series s/x port in dev mode #9315

Closed abasgames closed 3 years ago

abasgames commented 3 years ago

Please describe the feature as accurately as possible.

1. Please describe, what part of RPCS3 would be affected by your feature:

2. Please tell us, why your feature is important to RPCS3.

Because xbox series x have enough power to run few game's not sure about the s

AniLeo commented 3 years ago

We've already mentioned RPCS3 won't be ported to UWP, at least not by us, this can probably be closed

abasgames commented 3 years ago

They won't

Ryan14411 commented 3 years ago

do it

AniLeo commented 3 years ago

I'm sure that if you flood this issue enough, Microsoft will decide to implement Vulkan on XSX

Ryan14411 commented 3 years ago

has RPCS3 not got direct x 12 now? would the Xbox Series X still need Vulkan? Also the Xbox has Support for OpenGL using Angle. So now these renderers are available on Xbox Series Consoles could RPCS3 work in dev mode? and what sort of things would be needed to get it working? I know the RPCS3 Devs are not interested in this but i would like to get a third party dev to try and port it if its viable and if you guys wouldn't mind?

AniLeo commented 3 years ago

RPCS3 only has OpenGL 4.3 and Vulkan renders. Angle only translates from OpenGL ES 2.0 and 3.0, not desktop OpenGL 4.3.

Ryan14411 commented 3 years ago

ok thank you for your reply

ghost commented 2 years ago

glon12 supports OpenGL 4.2 with 4.3 support coming https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14881

dozen: Vulkan on D3D12 is also available https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766

AniLeo commented 2 years ago

XSX cannot run these mesa drivers as far as I'm aware

danprice142 commented 2 years ago

I just got this email from Jessie Natalie about the Mesa drivers.

No, neither of these would currently work with UWP.

The primary reason is that neither Khronos API has extensions to initialize the winsys on top of the UWP core window infrastructure. In theory, you could initialize Dozen for offscreen rendering and then explicitly marshal the contents out – that would probably work actually. There’s 2 more gotchas there though: The ICD loaders (OpenGL32.dll, Vulkan-1.dll) are not available in the UWP environment. You could explicitly use the non-ICD version of GL (i.e. Mesa’s OpenGL32.dll from the libgl-gdi target), include the open-source Vulkan ICD loader, or use the ICD version of either (OpenGLOn12.dll/libgallium_wgl.dll for GL – I plan to delete the former at some point and just use the latter at some point; vulkan_dzn.dll for VK). There’s not currently extensions for D3D12 interop either spec’d or implemented.

There’s one more problem for GL that I don’t think is problematic for VK, which is that it uses APIs that are banned from the UWP environment, specifically around inserting window hooks for Win32 framebuffer lifetime management. So you’d probably have to build a custom version that has all of that stuff stripped out to get it to be shippable in a UWP.

We (Microsoft) don’t really have plans to add this kind of stuff, at least not in the near future, but I’d be open to accepting contributions that enable this.

Some other things that might be helpful

https://www.phoronix.com/scan.php?page=news_item&px=OpenGL-4.2-Mesa-D3D12&msclkid=a5ab8c2fb58e11ecacf7ba62f9e8438a

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14881

https://www.phoronix.com/scan.php?page=news_item&px=Mesa-Dozen-VLK-D3D12

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766

Might help but needs to be enabled for UWP d3d12: Add support for Xbox GDK https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19022

https://www.phoronix.com/news/Microsoft-Mesa-Agility-SDK

995qa commented 3 months ago

Y'all should check this out: https://www.phoronix.com/news/UWP-Mesa-Xbox-Port