I am new to Linux GUI programming (also Linux) and I have a requirement where I should use frame buffer in-order to bye-pass the Xserver. Currently I am using RH 8, and I am confused with the GTK versions that I need to select in-order to get the display. Also another requirement is I should use only GTK ***
I need to know whether I should use the combination of GTK and DirectFB or only GTK+-2.2.0. or any thing else?
I installed GTK+-2.2 after struggling a lot. I have to replace Glib, ATK, Pango and a few others to get the same working. I was able to create GUI’s on Xserver and was not able to run in init 3 mode.
Another Problem I faced here is when I restarted the machine in init 5 mode the whole system went into a toss. I guess gnome is looking for some other libraries.
Now I installed RH 8 on another machine and downloaded GTK+ on DirectFB with great expectation.
Configure –enable-debug=no –with-gtktarget=Linux-fb –disable-shadowfb –disable-module –with-included-loaders=xpm,png,jpeg
I was through with the installation and the above is the configuration options that I choose.
Then I did a make and make install.
Now I found the /dev/fb is not active and there after I activated it.
As my video card is ATI MACH 64, I used the module atyfb.o. (Using insmod atyfb.0)
Still there were problems and I had to recompile the kernel. I recompiled selecting the options specified here
5.6 Got a ATI card?
[Note: This information is at best, only second-hand or third-hand, since I don't have an ATI card to test it with. Feel free to correct me if I am wrong or flame me!] 8)
ATI cards can be used with the vesafb driver, but you may or may not have problems, depending on how horribly broken the card is. Fortunately, there is the atyfb framebuffer driver available to use. Assuming you are using menuconfig, do the following:
Go into the Code Maturity Level menu, and enable the prompt for development and/or incomplete drivers [note this may change for future kernels - when this happens, this HOWTO will be revised]
Go into the Console Drivers menu and select the following:
Rebuild your kernel. Then you will need to modify your lilo.conf file to enable the atyfb device. The quickest and simplest way is re-use the following
# LILO configuration file
boot = /dev/hda3
delay = 30
vga = 792 # You need to do this so it boots up in a sane state
# Linux bootable partition config begins
image = /vmlinuz
append = "video=atyfb:mode:1024x768,font:SUN12x22"
root = /dev/hda3
label = Linux
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
The line "atyfb:mode:1024x768,font:SUN12x22" indicates you are selecting a 1024x768 mode.
Lastly, you'll need to create the framebuffer device in /dev. You need one per framebuffer device, so all you need to do is to type in mknod /dev/fb0 c 29 0 for the first one. Subsequent ones would be in multiples of 32, so for example to create /dev/fb1, you would need to type in mknod /dev/fb1 c 29 32, and so on up to the eight framebuffer device (mknod /dev/fb7 c 29 224)
where option is one of the following
After all these steps I am able to start the GUI, but the mouse and key board was not detecting.
I configured the options GTK_MOUSE_TYPE=ps2 ; GTK_KEYBOARD_TYPE=raw
Still there were problems and I was using the microsoft USB mouse. Then I remove the Microsoft USB mouse, and connected an ordinary ps2 mouse and restarted then, mouse started working.
I tried to use my key board then I got the message.
-> xlate_translate() NIY
I looked into the code (Gtk + Directfb) this function is not implemented.
The same function is implemented in GTK+-2.2.0. Now I am totally confused.
Any body who have already undergone through this tedious Installation process,
Please send me the details of libs/packages their versions etc and steps to follow.
Man, I am really struggling as not much documentation is available,
Please help me.
Thanks a lot,
Binoj V B