← Back to team overview

ubuntu-x-swat team mailing list archive

[Bug 625239] Re: X starts on wrong tty: pressing enter after 5 minutes crashes X

 

Hi all. I'm glad my findings helped.

For me, I learned from your comments: I wasn't even aware of the fact
that initctl supplies a VTx parameter to gdm on first launch. That
certainly explains how things go haywire _after_ on quick relaunch(es).
I will post later with more information about the actual command line
params to X.

I'm not fond of my workaround, myself:
(a) it doesn't work well with deviant numbers of vts (especially fewer)
(b) it will on average make boot to desktop take longer than necessary
(c) it doesn't actually address the issue: a pre-start scriptlet containing a stupid little 'sleep 1' would likely do exactly as well. Worst thing is, even with vt's completely initializing, things might still turn out a bit too fast for the nvidia/ATI module to be ready. 

I'd say the real fix ought to be based on one of the following ideas:
(A) On X video driver initialization detect when nvidia module is ready (probably doable from with xorg by waiting for it some limited amount of time?). This will make us dependent on upstream for a fix (Xorg or worse: nvidia)
(B) pass the VTx parameter in some other way - a (more) persistent way. We might set a config in /var/run/{plymouth|gdm} - or and read it. There could be a smart algo that checks to see whether that vt is still available and use it if so. Otherwise, all bets are off and best we can do is resort to current behaviour (e.g. when starting secondary X servers: it will find the boot-time configuration parameter (VTx=/dev/tty7) in a file, and detects it is already taken. Then the best thing to do is to fall back to the next available vt, like it does right now).

This system (B) is probably not completely foolproof but it would be my preference:
- it is the smallest possible change to current setup.
- it will work way better and 'explainable' than the current situation
- it should be foolproof as long as upstart passes the right VTx param in the first place (not a vt that might be (accidentally) shared with a getty

A minimal hack would be to keep the upstart scripts largely unchanged,
except for _also_ storing the optional VTx param in a file. I think I'll
do just that tonight (have to start making dinner now :))

$0.02

-- 
X starts on wrong tty: pressing enter after 5 minutes crashes X
https://bugs.launchpad.net/bugs/625239
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to xserver-xorg-video-ati in ubuntu.



References