[yocto] Another X11 without a desktop

Paul D. DeRocco pderocco at ix.netcom.com
Tue Aug 13 01:23:27 PDT 2013


I'm also trying to do something similar. I want an X server, but no desktop,
so I can run GTK (actually PyGTK) programs from the serial console that
essentially own the screen. In my case, I'm running a Gumstix board with a
4.3" LCD and a touchscreen.

I began with the gumstix-xfce-image, with a few irrelevant additions, like
Samba. Out of the box, it puts up a "greeter" login screen. However, at the
serial console prompt, I can set DISPLAY to :0 and then run a PyGTK program,
and it puts its stuff on top of the greeter screen.

The greeter is provided by GDM. I killed that process, and the display
reverted to its own text-based pseudo-terminal. In this state, PyGTK
couldn't access the screen, because there was no X session running.

After a bunch of tinkering, I found that the minimum I needed to do to
create a dummy X session, so that PyGTK had something available to scribble
on, was to run xinit like this:

    xinit /bin/sleep 1000000d -- /usr/bin/X :0

This uses the sleep command as a dummy "client". And it all works fine.

So now: how do I build a system that doesn't have all that useless XFCE and
GDM crud? I looked at gumstix-xfce-image, and it basically adds a whole lot
of XFCE-related stuff, and a few X utilities, to gumstix-console-image. I
changed my image so that it is based on gumstix-console-image, and found
that the latter utilities aren't enough to pull in the X server.

Poking around, I found something called packagegroup-core-x11-base, whose
comment says "Packages required to set up a basic working X11 session". I
included it in my build, and it did indeed give me an X server. But when I
run the above xinit command, I get a bunch of errors about a failure to load
modules extmod, dbe, glx, record, dri and dri2. The log file indicates that
these modules are "enabled by default", and some are also specified in
xorg.conf. Then I get an error saying it can't open /dev/fb, no such file or
directory. (The right name should be /dev/fb0.) Oh, and there were error
messages about font directories not existing, resulting in an empty font
path.

So it appears a bunch of stuff is missing. I guess the idea that these
dependencies are all handled automatically isn't really true. Does anyone
know what I should be specifying in order to get a functional X server?

-- 

Ciao,               Paul D. DeRocco
Paul                mailto:pderocco at ix.netcom.com 
 




More information about the yocto mailing list