Re: Re: y fails to start but gives no useful error message
Jerrit Erickson <[email protected]> Mon, 23 Jan 2006 18:00:42 -0500
| Newsgroups | gmane.comp.graphics.y.devel |
|---|---|
| Message-ID | <[email protected]> |
I got the framebuffer working by changing the color depth for the mode I was using. The geometry line has five numbers in it, and only one looked like a color depth (was set to 8), so I changed it to 32 and suddenly video worked. It's not obvious how to define one's own geometry and timings lines for a mode; I had to pull the fb.modes file from another machine and use trial and error. It'd have been nice if there had at least been a comment in the file defining what the numbers mean. Now, even with the input device interface stuff all compiled into the kernel, and the evdev driver loaded, I have no keyboard or mouse in fb mode. Back to SDL, it turns out the configure script wasn't finding my perfectly legit fbcon setup and so wasn't enabling fb support no matter what flags I passed it. I ended up taking the relevant tests out of the SDL configure script entirely and just left in the variable it sets, manually declaring it to be yes. This got fb support into SDL at last, and the SDL driver now works well enough to draw the light blue screen before hanging. If nothing else, this proves that SDL should have been able to configure the fb video driver on its own... I am at a loss as to why I had to force it. In both cases, there's a real lack of clear documentation for things that Y relies on. We/I really ought to be a handbook for this stuff. Something along the lines of life with qmail or the gentoo handbooks that walks through a setup from scratch, in painstaking detail, just to get new people running Y without having to go through this sort of thing. On 1/22/06, Jerrit Erickson <[email protected]> wrote: > I'm not entirely sure what I did differently this time, but I got it > to start and background. My startY is modified to tell me how far it's > getting... > > localhost ~ # ./bin/startY > Using config /root/etc/Y/server.conf > PID is 31276 > Display socket is unix:/tmp/.Y-unix/31276 > Starting yiterm... > Should have opened a yiterm by now... > > And the appropriate processes appear in ps: > root 31276 0.1 0.7 7060 3860 ? Ss 04:19 0:00 > /root/bin/Y --emit-pid --config /root/etc/Y/ > root 31277 0.0 0.4 3768 2056 pts/0 S 04:19 0:00 > /root/bin/yiterm > root 31278 0.0 0.2 2212 1256 pts/1 Ss+ 04:19 0:00 \_ -/bi= n/bash > > But I get only a my console, Y doesn't appear. So I look for errors: > > localhost ~ # grep 31276 /var/log/syslog > Jan 23 04:19:01 localhost Y[31276]: Error: ykbLoadMapSet: Error > loading keymap /root/etc/Y/keymaps/us.ykb: No such file or directory > Jan 23 04:19:01 localhost Y[31276]: Error: initialise: sdl: Unable to > init: No available video device > Jan 23 04:19:01 localhost Y[31276]: clientRegister:116: Registering > client with ID: 1 > Jan 23 04:19:01 localhost Y[31276]: clientAddObject:211: Adding object > 2 [Window] to client 1 > Jan 23 04:19:01 localhost Y[31276]: clientAddObject:211: Adding object > 3 [Console] to client 1 > > > I built libsdl myself using only the --enable-video-fbcon option to > configure, and framebuffer itself is most cerntainly working. So now > it's an SDL problem of some sort, not a problem with Y. For what it's > worth, I can get the "yellow lines" screen if I switch to the fbcon > driver. Have I missed something with the SDL setup? The mailing list > archives don't seem to mention Y starting cleanly but without any > video. > > On 1/22/06, Kristian Mueller <[email protected]> wrote: > > Hi Jerrit > > > > On So, 2006-01-22 at 22:09 -0500, Jerrit Erickson wrote: > > > 187 else if (pid !=3D 0) > > > 192 close (pipedes[1]); > > > 197 ssize_t ret =3D read (pipedes[0], returns, sizeof (= int) * 2); > > > 198 if (ret > 0) > > > 217 if (ret =3D=3D 0 || errno =3D=3D EPIPE) > > > 219 fprintf (stderr, "Y: server exited before s= tarting up\n"); > > > Y: server exited before starting up > > > > it seems, that you've got a problem creating the pipe. I don't know the > > source of Y but maybe you can provide information about the file it > > happens in and I can have a look at the pipe creation part. > > > > I am not shure if we have multitrading here - at least in your strace > > output you see it is a forked process. > > > > Hmm, wait: > > Maybe the indention is missleading here, and we are past the (ret > 0) > > then it could be a problem in the parent process. Meaning that the chil= d > > process (which would be the server) just died. > > > > In that case you have to find out, why the child process has finished. = - > > maybe you could debug using DDD. And maybe you have the font problem > > there. I don't know the code. > > > > > > hope that helps > > > > Kristian > > > > >