Step 1) me@dev ~/k3-dev $
CFLAGS="-U_FORTIFY_SOURCE -fno-stack-protector -O2 -fno-finite-math-only -ffast-math -march=armv6j -mtune=arm1136jf-s -mfpu=vfp -pipe -fomit-frame-pointer -fPIC" /opt/arm-2007q3/bin/arm-none-linux-gnueabi-gcc test.c -o test `~/GIT/buildroot-2012.03/output/host/usr/bin/pkg-config gtk+-2.0 --cflags` -L~/GIT/buildroot/output/host/usr/arm-unknown-linux-gnueabi/sysroot/lib/ -L./lib/ -lgtk-directfb-2.0 -lgdk-directfb-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lpixman-1 -lpng12 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lfontconfig -lfreetype -lz -lexpat -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -ljpeg -ldirectfb-1.2 -lfusion -ldirect-1.2
That works for a 3. will make okay
2007q3 TC, using "loaned" headers from another TC for those parts that 2007 can not build.
Step 2) prep directfb
[root@kindle bin]#
cat > /tmp/root/.directfbrc
no-vt
linux-input-devices=/dev/input/event0,/dev/input/event1
Step 3) run it
Quote:
[root@kindle bin]# ./test
Spoiler:
~~~| DirectFB 1.2.0 |~~~~~~~
(c) 2001-2008 The world wide DirectFB Open Source Community
(c) 2000-2004 Convergence (integrated media) GmbH
----------------------------------------------------------------
(*) DirectFB/Core: Single Application Core. (2012-09-01 19:47)
(!) Direct/Modules: Unable to dlopen `/usr/lib/directfb-1.2-0/systems/libdirectfb_devmem.so'!
--> /usr/lib/directfb-1.2-0/systems/libdirectfb_devmem.so: undefined symbol: system_set_mode
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: mxckpd (1) 0.1 (directfb.org)
(*) Direct/Thread: Started 'Linux Input' (-1) [INPUT OTHER/OTHER 0/0] <8388608>...
(*) DirectFB/Input: fiveway (2) 0.1 (directfb.org)
(*) DirectFB/Graphics: Generic Software Rasterizer 0.6 (directfb.org)
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=800
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=706
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=506
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=600
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=800
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=706
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=506
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=600
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=800
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=706
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=506
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=600
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=800
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=706
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=506
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=600
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=800
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=706
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=506
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=600
(*) FBDev/Surface: Allocated 600x800 8 bit LUT8 buffer (index 0) at offset 0 and pitch 600.
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=800
(*) FBDev/Mode: Setting 600x800 videomode x=600, y=706
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=506
(*) FBDev/Mode: Setting 600x800 videomode x=800, y=600
(!!!) *** WARNING [Non-flipping window surface and no 'autoflip-window' option used] *** [idirectfbsurface_window.c:310 in IDirectFBSurface_Window_Construct()]
in _gdk_windowing_window_init creating primary surface window - w=600, h=800
create_directfb_window( 600x 800, caps 0x00000009 )
(test:19609): Gdk-CRITICAL **: gdk_drawable_set_colormap: assertion `cmap == NULL || gdk_drawable_get_depth (drawable) == cmap->visual->depth' failed
(*) Direct/Thread: Started 'EventBufferFeed' (-1) [MESSAGING OTHER/OTHER 0/0] <8388608>...
create_directfb_window( 100x 48, caps 0x00000001 )
(test:19609): Gdk-DirectFB-WARNING **: gdk_window_set_keep_above() not implemented.
(test:19609): Gdk-DirectFB-WARNING **: gdk_window_set_keep_below() not implemented.
|
Step 4) [root@kindle root]#
echo 1 > /proc/eink_fb/update_display
for quick redraw testing. assumedly this could be shoved into a relevant repaint event.
but a worker.