i have a desktop and a laptop. my desktop is far more capable than my laptop.
i want to be able to use the full power of my desktop from my laptop when im away.
does there exist any method to run an X11 application in its entirety with a hosts (my dekstop’s) CPU and GPU and simply send the finished image and sound data to an xclient (my laptop) for display? a per-window setup is preferred, but I’m not opposed to capturing the entire framebuffer if that’s what it takes.
i know the bandwidth requirements could be absurd, but thats a problem for another day and another thread. right now I’m trying to just use the hosts GPU. I’ll figure out compression after i get acceleration working.
i know things like VirtualGL and X over SSH exist, but neither of those methods make full use of only the hosts hardware. virtualGL is almost exactly what i want, but its useless for things like Vulkan.
its worth noting that i need such a setup to use my laptop’s sound, and input setup. I want my desktop to only do the heavy lifting for applications.
You probably wont like my answer but I think it really fits best here.
Teamviewer…
It does literally everything you’re asking for. You can sign up for an account and set up unattended access via preset password or just click and off to the races. The only reason not to use it is because its not ‘free as in freedom’.
from what information i can find on Google, it looks like x2go only accelerates the host GPU for OpenGL < 3.0 applications. my use case would require Vulkan. this is also why VirtualGL isn’t my solution.
i want full use of my hosts 3D accelerator, regardless of which 3D api is used.
if x2go does actually support vulkan, can you link me to documentation? i couldn’t find any during my own research, but i easily could’ve missed something.
Just want to point out that the CPU problem can be solved by not using SSH, since it’s a LAN setup sending data in “plain text” (or rather “plain X”) might be acceptable.
OpenGL over X11 also works, the main caveat is that you can’t use DRI (Direct Rendering Interface) for rendering because that bypasses X11, since the overhead of X11 is the main reason for DRI that might not be a viable option, depending on what exactly one would try to forward.
A bit of searching turned up that there is an X parameter that should enable indirect GLX: +iglx. Not sure how well that will work, or whether it will work at all in OPs case (don’t have a system with X11 I can mess with around at the moment) but it might be something to look into.
if i could just find a way to view my desktop’s raw framebuffer (60 times a second) on my laptop, then this problem solves itself.
correct me if im wrong, but this would require excess of over 5GB/s for a 4K framebuffer.
so this isnt a viable option. my laptop’s NIC is only giggabit.
i might be able to compress the video stream to fix that. but i would still need a way to access the raw framebuffer of my desktop.