Gaming over Xpra

1

I have a local gigabit connection, way over what I need, but it can definitely support 1080p video and audio streaming easily. My problem comes to two things, first input, and second initialising GLX contexts.

Upon running Minecraft, to my surprise it started perfectly, the only problem being it only ever registers key-presses 1/100 of the time, the view also acts as if the mouse is spinning around. I believe this is because the mouse isnt locked onto the program, reading current cursor position instead of relative motion. Many events dont seem to be relayed via xpra such as key down and up, mouse lock and I'm sure many others.

Second problem is starting 3D applications that try to create some kind of GLX context. glxgears works, but many 3d applications fail to start, for example Battle.net through wine, Garrys mod and VRChat returning glXChooseVisual failed

All applications work perfectly fine on the host without xpra.


My question is this. How can I overcome these issues to play games seamlessly via an xpra connection from host to client?

Im running a pretty beefy desktop server, and a lightweight laptop with the xpra client, both with Arch linux.

Arcane Blackwood

Posted 2019-10-08T01:50:02.067

Reputation: 59

Xpra is probably not the best way to do it as it would assume that standard X drawing commands and methods are used and may not support advanced modes or methods. It sounds like you would be better off with a dedicated "game streaming" application. https://www.google.com/search?&q=linux+game+streaming

– Mokubai – 2019-10-08T06:42:56.510

Answers

1

I have a local gigabit connection, way over what I need, but it can definitely support 1080p video and audio streaming easily

1080p 60Hz with 24-bit colours uses 3.20 Gbps, see Refresh frequency limits for standard video, so strictly speaking a gigabit connection is not enough unless you use some form of fast compression and / or lose some quality, or if you're willing to skip frames. Xpra can do all of those things.

the only problem being it only ever registers key-presses 1/100 of the time

That's strange, not something that's ever been reported. You may want to play with the keyboard-sync option, and failing that then file a ticket on the xpra bug tracker.

believe this is because the mouse isnt locked onto the program, reading current cursor position instead of relative motion

My guess is pointer acceleration, you can try using a uinput virtual pointer instead.

Many events dont seem to be relayed via xpra such as key down and up, mouse lock and I'm sure many others.

Unless proven otherwise, those are always relayed - though they may or may not be processed correctly by Minecraft. You can run the xpra client and / or server with the -d keyboard debug switch to see those events coming through.

Second problem is starting 3D applications that try to create some kind of GLX context.

Xpra OpengL

totaam

Posted 2019-10-08T01:50:02.067

Reputation: 1 692

Could you please add more detail/instructions to applying the solution for the link provided? Im not much of a technical knowledged user. I attempted to use virtual gl, but fails with failed to create drawable. I attemped other methods listed, but the lack of explicit documentation and instructions makes things difficult. – Arcane Blackwood – 2019-10-11T05:44:43.773

Your question has to do with virtualgl then, you may want to ask their mailing list if their documentation does not help you. – totaam – 2019-10-12T11:28:58.017