Qingy, by Michele Noberasco

Menu


My other projects

lin-seti
wmpower

SourceForge

Project
Download



SourceForge Logo

Valid XHTML 1.0!
Frequently Asked Questions
FAQ Index

Debian specific

Q
What packages are required in order to install qingy?
A
Starting from the stable release of Debian (currently Sarge), you just have to
apt-get install libdirectfb-0.9-20 libdirectfb-dev libdirectfb-extra

Also, if you want to compile in crypto support,
apt-get install libssl0.9.7 libssl-dev

Finally, for pam support, you need to,
apt-get install libpam0g-dev

Q
Now how do I install it?
A
Well, since there are still no qingy packages in Debian repositories you will have to compile it by hand, through the usual ./configure, make, make install. I'm told, however, that Ubuntu has some debs for qingy, and that they install (and work) nicely on Debian.
DirectFB issues

Q
I cannot seem to get qingy to work with the proper resolution. My framebuffer resolution is aaaaxbbb, but it only starts at 640x480!
A
You have got to tell DirectFB about your current resolution. There is a tool called fbset that will help you here (Gentoo users: just emerge fbset): launch it without arguments and copy its output as the first entry in /etc/fb.modes (that file contains the resolutions that DirectFB is allowed to use), it should do the trick...

Q
I just upgraded my DirectFB library to version x.yy and qingy stopped working. What should I do?
A
Unfortunately, there is no binary compatibility across different versions of DirectFB. This means that, whenever you update DirectFB, you will have to recompile qingy and all other DirectFB applications.

Q
I'm a radeonfb user and qingy GUI refuses to start up! If I start qingy in debug mode I get a message saying something like 'Signal 11: invalid permissions'! What's happening?
A
Congratulations! You were just hit by a kernel BUG in the radeon framebuffer driver. This slowed down even me for a while (I'm a radeon 9600 user) as qingy GUI would from time to time refuse to start up, and even a reboot wouldn't fix it. I solved this issue by looking here. For the lazy, here you can download the patch (a one liner) to apply to your kernel...
Fedora Core specific

Q
I tried to compile qingy and ./configure complained that it could not find DirectFB, yet I installed it via yum install directfb. What should I do?
A
You installed the library, but still have to yum install directfb-devel to install the tools necessary for program sources to link against it.

Q
On system boot, with qingy installed, my machine will freeze at 'Starting XFS'. What the hell?
A
This is because Fedora by default will start its own login manager, gdm, which is X based. You cannot run both qingy and gdm on the same machine, you will have to choose one of them. In case you want qingy, you will have to edit /etc/inittab and modify the line

id:5:initdefault:

to

id:3:initdefault:

This will change the default runlevel to 3, text mode. If you want qingy to pop up automatically at boot you will have to configure it to run in tty1.

Q
Finally I got qingy up and running, but it does not list my X sessions!
A
This is because Fedora does not put X session start scripts in a unique place like other distros do. Since version 0.7.0, qingy contains some code that allows it to detect wether Gnome or Kde (or both, of course) are installed, and let you select them.
FreeBSD specific

Q
I cannot run qingy on FreeBSD, as ./configure fails with XYZ!
A
Alas, you cannot run qingy on FreeBSD (or other BSDs) just yet. qingy is tied to linux (and DirectFB), and will be until I'm happy with it stability and functionality wise. After that, I'll be happy to (try to) make it work with different graphic toolkits (other than DirectFB) and different Unices. Want to help? Mail me!
Gentoo specific

Q
How do I install it?
A
It's in Portage, just emerge it...

Q
Gentoo-specific configuration issues?
A
You have to edit /etc/inittab like everyone else... Also, make sure you leave the DISPLAYMANAGER entry commented out in /etc/rc.conf, and that xdm is not added to runlevel default, otherwise it will fight with qingy for screen control at system boot-up, with nasty results...

Q
I installed qingy but I only get a black screen with (or without) a blinking cursor in it... wtf?
A
Make sure you have got your console framebuffer up and running. A good sign of that is the command fbset, called without command line arguments, giving you details about your current resolution...
Also, make sure you compiled DirectFB with the fbcon USE flag enabled, thus giving it console framebuffer support.

Q
I installed qingy OK, but my fonts do not display! Everything else works, I can even blindly log in (the cursor moves), but no text shows up!
A
There is a problem with your DirectFB library not linking correctly against freetype. You have to:
  1. Turn off the bindist USE flag in your /etc/make.conf
  2. re-emerge freetype
  3. re-emerge DirectFB
  4. re-emerge qingy
Everything should then work correctly...

Q
I have been using qingy forever and it worked fine, but now it started setting the wrong DISPLAY enviroment variable everywhere. What's up?
A
This is not a qingy problem, but a PAM one. Have a look at /etc/security/pam_env.conf and search for DISPLAY in there. Anyway, as a workaround I added a statement that unsets the DISPLAY variable for text mode sessions...

Q
I just updated DirectFB and now qingy GUI or my mouse/keyboard don't work anymore! What's up?
A
When (re)emerging DirectFB, you must tell Portage what input drivers should be built. Also, X USE flag should be disabled. Personally, I emerge DirectFB with:
USE="-X" INPUT_DEVICES="keyboard ps2mouse" emerge DirectFB
and my keyboard, PS/2 and USB mouse all work nicely...

Q
What about gpm USE flag? What has qingy to do with gpm and why it does not depend on it when that USE flag is selected?
A
Since gpm and DirectFB don't play nicely with each other, qingy ebuild makes use of the gpm USE flag to shut down gpm (if it is running) before entering DirectFB mode, and to restart it afterwards (if it was running).
Kernel-wise

Q
Does it work on 2.4.x kernels?
A
Yes.

Q
And 2.6.x ones?
A
Yes. But, it is better if you can use 2.6.8 or higher, as previous versions had framebuffer issues. Also, I experienced major problems using it on 2.6.7 (complete system lock-ups), so you are warned ;-)

Q
What about 2.2.x? And 2.0.x?
A
Dunno ;-P
Login related

Q
I'm using distro xyz and cannot log in with qingy! The interface shows up correctly, it just keeps saying me "Login failed!"
A
Most probably it is a problem with PAM. (qingy) Versions prior to 0.5.3 came with a PAM module that did not work with all distros; latest version should work OK... if it does not you should e-mail me ;-)
Note for Debian users: make sure to apt get libpam0g (hope this is the correct package name).

Q
I'm not using PAM (on my system we rely on shadow passwords), but I'm still not able to log in ("Login failed" message)!
A
There is a bug in older qingy versions that prevented it to work correctly with shadow passwords, even if the code was there. Version 0.5.3 fixed it. 0.7.0 broke it again, and 0.7.1 re-fixed it ;-)

Q
I created a custom session, and it's file name has one or more spaces in it. Qingy seems not to be able to start it, it says "Logging in xyz...", the screen goes black for an instant, and I'm presented with a login screen again!
A
Session file names with spaces in them are supported starting by qingy 0.5.3...
Other stuff

Q
How on Earth do you pronounce qingy? 'Kingee'? 'Quingee'?
A
Thanks for asking! Pronounce it as in 'Kingy', without the long 'ee' at the end ;-)

Q
How many screen savers are available, and how do I use them?
A
Good question (I really should update the documentation)... Where you can find them depends on how you installed qingy. In the case of a plain ./configure && make && make install they should be in /usr/local/lib/qingy/screensavers. Examples of config lines you can put into the settings file:

screensaver "running_time"="%H:%M:%S"

screensaver "photos" =
  "/mnt/docs/Images/photos",
  "/mnt/docs/Images/other_photos"

screensaver "pixel"

Q
I'm using the proprietary accelerated X driver from vendor xyz and GLX applications take forever to load. Once started, though, they run fine.
A
The problem lies in the fact that qingy starts the first X server on :1.0 instead of :0.0. OpenGL applications seem to have some difficulties with this. If this is an issue for you, just tweak settings file variable x_server_offset. This is the offset used to search for an available X server number. This number will affect the DISPLAY env variable. Default is 1, setting it to 0 will make buggy OpenGL implementations (like the ATI one) work with qingy (read: 3D support), but it will also make it impossible to start another X server from a console session using startx without passing it extra parameters.
Slackware specific

Q
I cannot compile it, configure fails!
A
Make sure you run the latest version (currently 0.7.1, note that 0.7.0 had a bug in this regard).
SuSE specific

Q
How do I install it?
A
There is no official qingy package for SuSE, so you will have to compile it yourself. In order to do this, you will have to fire up YaST and install gcc and DirectFB, which are not, afaik, installed by default. After that, fetch qingy sources and perform the usual ./configure && make && make install routine...

Q
qingy ./configure fails, complaining that it cannot find pkgconfig. What now?
A
pkgconfig is used by ./configure scripts to determine what is needed to link a software against a given library, in our case DirectFB. Unfortunately, SuSE does not apparently come with pkg-config, so you will have to fetch the sources yourself from pkgconfig home page, and perform the usual installation rite...

Q
I installed pkgconfig, and now it complains it cannot find DirectFB! Wtf?
A
Just execute this command: export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/pkgconfig"

Q
OK, I managed to make qingy start, but everything I type is printed twice ("jjoohhnn" appears when I type "john"), making it impossible to authenticate. What now?
A
This is the hardest issue to fix. The DirectFB package that SuSE provides is broken (at least in SuSE 9.2, the only version I tried). Again, the solution to the problem is to fetch the latest sources from DirectFB home page (version 0.9.22 at the time of writing) and compile them by hand.

Unfortunately, this proves to be no easy task :-(
Here is what I did to achieve that:
  1. deinstall the SuSE provided DirectFB package via SuSE package manager
  2. install libjpeg and libjpeg-devel, freetype2 and freetype2-devel, again via package manager.
  3. Fetch the latest zlib sources from zlib's home page, compile and install them...
  4. Do the same with libpng: fetch and unpack the sources, cd to their dir, and do
    cp scripts/makefile.linux Makefile && make && make install
  5. fetch, compile and install DirectFB the usual way
  6. compile and install qingy again
After that qingy should work properly. Do note, however, that I only tried SuSE 9.2, so, if you are running another version, qingy might work out of the box for you, or, if it does not, these instructions might not be entirely accurate.
Ubuntu specific

Q
What packages are required in order to install qingy?
A
Fire up synaptics and install gcc, make, libc6-dev, libncurses5-dev, libssl-dev, libx11-dev, libxss-dev, libdirectfb, libdirectfb-extra, libdirectfb-dev

Q
Ok, that was correct for Ubuntu version 5.xx, but I have version 6. What packages are required for this version?
A
For full functionality you have install build-essential, pkg-config, libncurses5-dev, libssl-dev, libx11-dev, x11proto-scrnsaver-dev, libxss-dev, libdirectfb-dev, libdirectfb-extra

Q
Now how do I install it?
A
Just run through the usual ./configure && make && install
X questions

Q
Does it work on XFree86?
A
Yes, of course!

Q
And Xorg?
A
Listen, this can get lengthy... it should work with every X-Window implementation, provided you set it up correctly, OK? And yes, it does work out of the box with Xorg!

Q
Can I pass my own parameters to the X server?
A
Yes, this is supported since version 0.5.3. Just edit the x_args variable in settings file...

Q
I noticed that qingy starts the X server with port 600x open, while my startx does not. How do I prevent this?
A
See previous question. And note that since version 0.5.3 we pass -nolisten tcp by default to the X server, so this is no longer an issue.

Q
My distro starts X with a nice black background, while qingy does it with a horrid dotted gray one!
A
Again, it is just a matter of feeding qingy the correct args for X. Try with -br