Originally Posted by shmerl
Originally Posted by etonbears
As I understand it, the Stadia hardware is pretty standard CPUs, but GPUs without output logic/hardware. The game's screen images are output to memory, and compressed to a stream to be sent over the Internet to the Stadia Client, which decompresses and displays the images.



It's all handled through Vulkan. Instead of display they select some other type of swapchain, that's used for video stream. It should be doable to make it configurable and output the same thing for normal display.

https://vulkan-tutorial.com/Drawing_a_triangle/Presentation/Swap_chain


Vulkan is used as the coding interface between CPU and GPU. Setting up a swap-chain in Stadia effectively gives you memory locations for framebuffer images instead of directing them to the output buffers of the GPU, which don't exist afaik on the Stadia custom GPUs.

The Stadia server code still needs to pass these memory images over the Internet to a Stadia client for display, which is more complex that just local display.

If the point you are trying to make is the ease or otherwise of converting a Stadia game to vanilla Linux, then the answer is "maybe". Vulkan is a low level API, meaning you directly query and control the resources on the GPU in a way that you do not under OpenGL or DX11. An application ( such as a game ) using Vulkan would need to build multiple processing paths and optimisations depending on the resources available, both in the GPU domain, and the CPU domain.

If Larian are not using Vulkan for the Windows version of the game, then the Stadia port will probably only take account of resources available in a Stadia server, which are all identical. This might not be a good enough approach to enable simple repurposing for a desktop Linux version.

Conversely, if Larian are also using Vulkan on Windows, then they will have already have a Vulkan implementation that understands how to deal with the wide variety of GPU and CPU resources they might find in player PCs, and the port for Stadia will be much more suitable as the base for a desktop Linux version.

All this is speculation, anyway; only the Larian dev team know enough about their game to tell us how easy or difficult a desktop Linux port would be.