On Mon, 16 May 2016 15:25:52 -0700 Florian Hänel <[email protected]> wrote:
> From: =?UTF-8?q?Florian=20H=C3=A4nel?= <[email protected]> > > If weston crashed (or during development) it can leave the tty > in graphics mode, which would prevent it from ever coming up again. > > Another compositor running should be handled by upstart/systemd > and the tty in graphics mode does not prevent us from using it. > Hi, can you explain more how you figure that to work? A supported use case is to start weston with weston-launch, and without any systemd, upstart, logind, or any other manager running. What else would be preventing Weston from launching in case a display server was already running and active? (*) Setting DRM master failure probably comes too late as the display servers have already started fighting, and then Weston attempts to undo the VT setup while the other display server is still running. How could that not end up in an even bigger mess? How is it even possible to leave the VT in graphics mode? If weston crashed, then weston-launch or logind (as launcher-logind.c does not seem to touch the VT) will restore the VT. (PS. never do 'killall -9 weston', that's a pretty guaranteed way to make your VT unusable as it kills both weston and weston-launch before either can restore. Logind might save you, though, I suppose.) > A informational log message for debugging purposes should be enough. > --- > src/launcher-util.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/src/launcher-util.c b/src/launcher-util.c > index e89710b..a98ff74 100644 > --- a/src/launcher-util.c > +++ b/src/launcher-util.c > @@ -319,7 +319,6 @@ setup_tty(struct weston_launcher *launcher, int tty) > if (kd_mode != KD_TEXT) { > weston_log("%s is already in graphics mode, " > "is another display server running?\n", tty_device); > - goto err_close; > } > > ioctl(launcher->tty, VT_ACTIVATE, minor(buf.st_rdev)); I do not think this patch applies, there is no such code in launcher-util.c anymore. Looks like this hunk is now in launcher-direct.c. Ok, so you are running weston as root, without weston-launch. Is there any reason you cannot use weston-launch? Having a separate process to restore the VT is a good idea, even if you run as root. OTOH, seeing that this only applies to the case of running weston directly as root and without any session manager service or weston-launch, maybe it's ok to drop the sanity check and let the user shoot his foot if he wants to? The very least this patch needs to be rebased for master, and explain more why this change is needed and what the effects are, also if there really is another display server already running. (*) Btw. now that I look at weston-launch.c, it is not doing the kd_mode check at all, is it? Makes me wonder if it should - was it just forgotten? Thanks, pq
pgp3nTE5iL6kc.pgp
Description: OpenPGP digital signature
_______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
