|
Hi redfive!
Sounds like you're wrestling with some of the same problems
I am...
FrameBuffer and XWindows are two distinct ways to access
your graphics hardware. For a given graphics card it is really a choice of
running either X or Framebuffer. The XWindows device Drivers often don't
cooperate with the framebuffer drivers, resulting in hangs or messed up screens.
Some framebuffer drivers (eg vesafb-tng) allow you to start X, at least on some
hardware, without problems. Trying to load a framebuffer driver for a gfx card
already running X is probably a bad idea.
However, there are some options:
There is a X Windows Device Driver (FBDev) that runs
on top of Framebuffer. This lets you run the Framebuffer on the Hardware, and
then run X on top of the Framebuffer, although this results in unaccellerated X.
In this way you can run X Windows and Framebuffer at the same
time.
It is impossible to use the same graphics card for X
Windows and native framebuffer apps in this setup. If you run X using FBDev, it
will 'grab' the framebuffer device, and you will be unable to run other native
framebuffer apps.
In theory it should be possible to run XWindows on your
primary screen and a framebuffer on a second screen, for example attached using
a PCI graphics card. That's the setup I'm trying to make
work.
Current linux kernels include a virtual framebuffer device,
which could be used for testing purposes. A bit of hacking should allow you to
create an X Windows app to display the contents of the virtual
framebuffer...
Finally, DirectFB provides a solution too: Using DirectFB
as an intermediary layer many applications can share a single framebuffer
device. Each app can display in its own window (area of screen). One possible
DirectFB app is XDirectFB, an XWindows Emulation layer that uses DirectFB for
drawing. Using DirectFB you could run X (XDirectFB) and other DirectFB based
apps at the same time on one gfx card.
Using framebuffer will, in general, require you to start
out in the console (init 3).
The GTK instructions were done by me, and they are more or
less up to date. I believe one difference to watch for is that the correct
version of GTK to use with the current DFBGTK Snapshots is now gtk-2.8.10 along
with the latest version of glib2. Let me know how it goes, if necessary I'll
update the instructions.
Warning: running different versions of GTK and glib2 on the
same system can seriously mess up your installed system. Make sure to install
the DFBGTK libraries to a different location (say, /usr/local/lib) to your
normal libs. You'll have to mess around with your LD_LIBRARY_PATH and
PKG_CONFIG_PATH quite a bit to get everything to compile and
run.
Running Firefox on the Framebuffer will not be that easy:
While it is true that Firefox has a GTK2 backend, it is really a X-GTK2 backend.
When compiled under Linux, the GTK backend has many dependencies on X-Windows
directly. This means Firefox has to be 'ported' to a pure GTK or native DFB
backend before it will run under Framebuffer, and that's a not completely
trivial amount of work.
Still, I created a Wiki Page for Mozilla under DFB, so if
you get anywhere be sure to add to it!
There was also a fairly extended discussion on this list
about the merits of different browsers, and porting them to DirectFB. See the
mailing list archives.
Regards,
Richard
|
_______________________________________________ directfb-dev mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev
