Even before I start running virtual machines on my own homelab, I have been looking and trying different remote desktop software that allows me to control the desktop of one computer from another. The most common ones are based on VNC and RDP (Microsoft...). While VNC is easy to use and free, I found the responsiveness to be quite laggy. RDP can be used to access Windows desktops from Linux but you need the Professional edition of Windows to allows the Windows desktop to be shared.
I also came upon TeamViewer, which provided a more responsive experience and can even be used when outside the home network. However, you need to create an account with the company that offers TeamViewer. This proved to be a deterrent for me.
With more searching, I eventually came upon NoMachine, which provides a remote desktop experience so good that I can even place games through it. You do not need to register any account, and it even allows you to access your home network from outside if you know the external IP of your home network. Needless to say, NoMachine is now my staple for remote access to the desktops of other computers and virtual machines in my homelab.
But recently, Steam Link has become available as a standalone app on desktop computers too. It allows you to access any computer on your network that has the Steam app running on it. Given that I already have a Steam account for my games, the need for an account was not really a deterrent. The host itself can be anything that has Steam app running (bare metal or VM). The Steam Link app itself can be used as a standalone client. Hardware acceleration is supported as long as it is supported by Steam.
Most importantly, it solves the issue of mouse glitching for me. When I use NoMachine for gaming, sometimes, the mouse reaches a virtual limit and I cannot turn beyond a certain angle. I have tried various ways to solve this, but sometimes it works, sometimes not. Steam Link, however, does not have this problem. The mouse is responsive and no glitches! Passing through the client's microphone to the host is also great. When I used NoMachine, I was told that there is an echo to my voice. But with Steam Link, my voice goes through without any problems.
Still, Steam Link is not perfect. For example, certain keys on my Japanese keyboard (JP106) is not passed through to the remote host. This is not really significant during gaming, since I can map another key. But for day to day use in work, it can be a nuisance (for example, one of the key is underscore, and not being able to use it for work when typing can be... frustrating). This is why I still use NoMachine mainly for my remote desktop interface, switching only to Steam Link when want to game on my VM. For those who use a standard English keyboard though, Steam Link may well be the best remote desktop software.