2

On Ubuntu 20.04, I have an AMD system with an integrated GPU (Ryzen 3 3200G with Radeon Vega 8) and want to be able to access an existing running X session (whether a user is logged in or not) via both:

  1. A (sometimes) connected monitor over HDMI
  2. Remotely from Windows 10

Ubuntu's built-in remote desktop (vino) does not run before a user is logged in, so it's not viable. So I looked into enabling XDMCP with gdm and using it directly from Windows. After messing around with it for a while, I realized/remembered that a) XDMCP has crappy support on Windows, b) is slow, and c) is insecure

I also tried using x11vnc, Xephyr, and Xnest (the latter two with a Windows X Server) bound to the gdm login X session. None of these worked, and I suspect the reason was that gdm's login implementation does this crazy thing where it uses one X display for login and another after login. There is a workaround to this described in this answer. But that is a pain, so I decided to switch to lightdm, which does not have this issue.

That works fine remotely using x11vnc with a VNC client over SSH connecting to the existing lightdm/X session, as long as a monitor is plugged in. Don't even need XDMCP enabled.

But then I discovered that when there is no monitor attached, although the X startup works just fine at boot, and I can get to a login screen and login, after that I am greeted with an empty desktop with no menu bar and no menus/icons (but it has the Focal Fossa background visible). By the way, this is the same behavior I got with XDMCP and gdm most of the time, but that was due to it switching X displays after login.

How do I solve this? I know I can use the xserver-xorg-video-dummy and that works, but then I cannot get the local/physical monitor to work at the same time even with both drivers (Devices) in my Xorg config.

I realize I could buy or make one of those fake monitor HDMI dummy connectors but isn't there a software solution to this?

The amdgpu driver has a module option called virtual_display, but it disables all physical displays. I also tried the evdi (evdi-dkms) virtual monitor package but it did not seem to solve this.

I prefer not to use nomachine/nx or x2go because there are not a lot of client options for every OS. Xpra behaves the same way was x11vnc.


Edit: ok actually I think I've narrowed down the issue to something related to gnome/mutter, because it does not occur with e.g. fvwm. In other words, if I just start X and run fvwm, it will work remotely via x11vnc without any special X configuration or use of dummy driver.

Also Gnome Flashback (installed via the gnome-session-flashback package and chosen using that gear-esque looking icon on the login screen) sort of works after login, but the Settings app crashes sometimes. It uses metacity as the window manager.

scooter
  • 171

0 Answers0