colinmarc / magic-mirror

A magical game streaming and remote desktop tool for Linux
82 stars 0 forks source link

Containerization not working on Ubuntu 24.04 #29

Closed purekillma closed 3 hours ago

purekillma commented 4 hours ago

Server: Ubuntu 24.04.1 LTS

Mesa Version: 24.2.5

Sever Version: 0.5

Client: 0.3

Client Platform: Mac

Error on server: Failed to launch session: spawning Xwayland: failed to spawn XWayland: timed out waiting for forked child (phase 1): Connection timed out (os error 110)

magic-mirror-f9f2567d-8e02-4ebb-ae19-b91f2afd628a.zip

colinmarc commented 3 hours ago

Hi @purekillma, thanks for the bug report. I'm not seeing much in these logs to go off of.

Are you able to run using a debug build? i.e. follow these instructions, but without --release: https://github.com/colinmarc/magic-mirror/blob/main/BUILD.md

colinmarc commented 3 hours ago

Ah, I think this must be this: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2046844

You can read more here: https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces

Can you try the following commands just to see if it fixes it? They will get reset at boot, but if they work then we can figure out a better solution.

sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
purekillma commented 3 hours ago

This has fixed the error.

Thanks!

colinmarc commented 3 hours ago

Just so you know, that setting will reset at boot. You can fix it permanently by adding an Apparmor profile for mmserver.

I haven't tested it, but the documentation says the following should work, in /etc/apparmor.d/mmserver:

abi <abi/4.0>,
include <tunables/global>

profile mmserver /path/to/mmserver flags=(unconfined) {
  userns,

  # Site-specific additions and overrides. See local/README for details.
  include if exists <local/mmserver>
}

Just change /path/to/mmserver to where you've installed it.