Hello, 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 prompt 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) video=atyfb:[option[,option[,option...]]] where
option is one of the following
·
cmode:ULONG
- sets depth - 0, 8, 15, 16, 24 and 32 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 |