Hi,

On Tue, 2006-04-11 at 14:22:23 +0800, Antonino A. Daplas wrote:
> Guillem Jover wrote:
> > This patch is similar in spirit as the v4l one. Includes the fb.h
> > header into the sources so the definitions can be used freely.
> > Also this would make the 'accelerators.h' file obsolete.

> > +#ifdef __KERNEL__
[...]
> > +#endif /* __KERNEL__ */
> 
> Since directfb will have its own copy of fb.h, then everything
> enclosed by #ifdef __KERNEL__/#endif is not needed.

Ok, I include a revised patch without the kernel specific parts,
and removing accelerators.h which is now in fb.h.

regards,
guillem
#DPATCHLEVEL=0
--- configure.in        2006-04-12 00:32:04.000000000 +0300
+++ configure.in        2006-04-25 03:02:16.000000000 +0300
@@ -146,22 +146,6 @@ fi
 
 AM_CONDITIONAL(X11_CORE, test "$enable_x11" = "yes")
 
-dnl Test for Linux frame buffer device
-AC_ARG_ENABLE(fbdev,
-  [  --enable-fbdev            build with linux fbdev support [default=auto]],,
-  enable_fbdev=yes)
-
-if test "$enable_fbdev" = "yes"; then
-  AC_CHECK_HEADER(linux/fb.h, fbdev_found=yes, fbdev_found=no)
-  if test "$fbdev_found" = no; then
-    enable_fbdev=no
-    AC_MSG_WARN([
-*** no linux/fb.h found -- building without linux fbdev support.])
-  fi
-fi
-
-AM_CONDITIONAL(FBDEV_CORE, test "$enable_fbdev" = "yes")
-
 
 AC_CHECK_HEADERS(linux/pci_regs.h linux/unistd.h asm/page.h)
 
@@ -518,6 +502,21 @@ fi
 AM_CONDITIONAL(BUILDMMX, test "$enable_mmx" = "yes")
 
 
+dnl Test for Linux frame buffer device
+AC_ARG_ENABLE(fbdev,
+  [  --enable-fbdev            build with linux fbdev support [default=auto]],,
+  enable_fbdev=yes)
+
+if test "$have_linux" = "no"; then
+  enable_fbdev=no
+  AC_MSG_WARN([
+*** no linux kernel -- building without linux fbdev support.])
+fi
+
+AM_CONDITIONAL(FBDEV_CORE, test "$enable_fbdev" = "yes")
+
+
+
 dnl Test for SDL
 AC_ARG_ENABLE(sdl,
   [  --enable-sdl              build with SDL support [default=auto]],,
--- gfxdrivers/ati128/ati128.c  2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/ati128/ati128.c  2006-04-25 03:04:43.000000000 +0300
@@ -35,7 +35,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <directfb.h>
 
@@ -49,8 +49,6 @@
 #include <core/gfxcard.h>
 #include <core/surfaces.h>
 
-#include <core/accelerators.h>
-
 #include <gfx/convert.h>
 
 #include <core/graphics_driver.h>
--- gfxdrivers/ati128/Makefile.am       2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/ati128/Makefile.am       2006-04-25 03:02:16.000000000 +0300
@@ -4,6 +4,7 @@ INCLUDES = \
        -I$(top_srcdir)/include \
        -I$(top_builddir)/lib   \
        -I$(top_srcdir)/lib     \
+       -I$(top_srcdir)/systems \
        -I$(top_srcdir)/src
 
 
--- gfxdrivers/cle266/Makefile.am       2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/cle266/Makefile.am       2006-04-25 03:02:16.000000000 +0300
@@ -4,6 +4,7 @@ INCLUDES = \
        -I$(top_srcdir)/include \
        -I$(top_builddir)/lib   \
        -I$(top_srcdir)/lib     \
+       -I$(top_srcdir)/systems \
        -I$(top_srcdir)/src
 
 AM_CFLAGS = $(DFB_CFLAGS)
--- gfxdrivers/cle266/unichrome.c       2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/cle266/unichrome.c       2006-04-25 03:02:16.000000000 +0300
@@ -78,9 +78,9 @@ later versions on an EPIA-M10000.
 #include <core/system.h>
 #include <core/screens.h>
 
-// System headers
+#include <fbdev/fb.h>
 
-#include <linux/fb.h>
+// System headers
 
 #include <sys/types.h>
 #include <sys/stat.h>
--- gfxdrivers/cyber5k/cyber5k.c        2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/cyber5k/cyber5k.c        2006-04-25 03:04:59.000000000 +0300
@@ -31,7 +31,7 @@
 #include <unistd.h>
 #include <stdlib.h>
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <sys/mman.h>
 #include <fcntl.h>
@@ -51,8 +51,6 @@
 #include <core/screens.h>
 #include <core/surfaces.h>
 
-#include <core/accelerators.h>
-
 #include <gfx/convert.h>
 
 #include <core/graphics_driver.h>
--- gfxdrivers/cyber5k/Makefile.am      2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/cyber5k/Makefile.am      2006-04-25 03:02:16.000000000 +0300
@@ -4,6 +4,7 @@ INCLUDES = \
        -I$(top_srcdir)/include \
        -I$(top_builddir)/lib   \
        -I$(top_srcdir)/lib     \
+       -I$(top_srcdir)/systems \
        -I$(top_srcdir)/src
 
 cyber5k_LTLIBRARIES = libdirectfb_cyber5k.la
--- gfxdrivers/i810/i810.c      2006-04-11 05:40:37.000000000 +0300
+++ gfxdrivers/i810/i810.c      2006-04-25 03:05:17.000000000 +0300
@@ -39,8 +39,6 @@
 #include <core/coretypes.h>
 #include <core/screens.h>
 
-#include <core/accelerators.h>
-
 #include <core/state.h>
 #include <core/gfxcard.h>
 #include <core/surfaces.h>
--- gfxdrivers/i830/i830.c      2006-04-11 05:40:37.000000000 +0300
+++ gfxdrivers/i830/i830.c      2006-04-25 03:05:26.000000000 +0300
@@ -45,8 +45,6 @@
 #include <core/gfxcard.h>
 #include <core/surfaces.h>
 
-#include <core/accelerators.h>
-
 /* need fb handle to get accel, MMIO programming in the i830 is useless */
 #include <fbdev/fbdev.h>
 #include <gfx/convert.h>
--- gfxdrivers/mach64/mach64.c  2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/mach64/mach64.c  2006-04-25 03:05:36.000000000 +0300
@@ -35,7 +35,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <directfb.h>
 
@@ -50,8 +50,6 @@
 #include <core/gfxcard.h>
 #include <core/surfaces.h>
 
-#include <core/accelerators.h>
-
 #include <gfx/convert.h>
 #include <gfx/util.h>
 
--- gfxdrivers/mach64/Makefile.am       2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/mach64/Makefile.am       2006-04-25 03:02:16.000000000 +0300
@@ -4,6 +4,7 @@ INCLUDES = \
        -I$(top_srcdir)/include \
        -I$(top_builddir)/lib   \
        -I$(top_srcdir)/lib     \
+       -I$(top_srcdir)/systems \
        -I$(top_srcdir)/src
 
 mach64_LTLIBRARIES = libdirectfb_mach64.la
--- gfxdrivers/matrox/matrox_3d.c       2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/matrox/matrox_3d.c       2006-04-25 03:05:48.000000000 +0300
@@ -25,7 +25,7 @@
    Boston, MA 02111-1307, USA.
 */
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <math.h>
 
@@ -34,8 +34,6 @@
 #include <direct/messages.h>
 #include <direct/util.h>
 
-#include <core/accelerators.h>
-
 #include "regs.h"
 #include "mmio.h"
 #include "matrox.h"
--- gfxdrivers/matrox/matrox_bes.c      2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/matrox/matrox_bes.c      2006-04-25 03:05:53.000000000 +0300
@@ -33,7 +33,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <directfb.h>
 
@@ -41,7 +41,6 @@
 
 #include <fusion/shmalloc.h>
 
-#include <core/accelerators.h>
 #include <core/coredefs.h>
 #include <core/coretypes.h>
 #include <core/gfxcard.h>
--- gfxdrivers/matrox/matrox.c  2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/matrox/matrox.c  2006-04-25 03:06:01.000000000 +0300
@@ -35,7 +35,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <math.h>
 
@@ -52,8 +52,6 @@
 #include <core/surfaces.h>
 #include <core/palette.h>
 
-#include <core/accelerators.h>
-
 #include <gfx/util.h>
 
 #include <misc/conf.h>
--- gfxdrivers/nvidia/nvidia.c  2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/nvidia/nvidia.c  2006-04-25 03:22:26.000000000 +0300
@@ -36,6 +36,8 @@
 
 #include <sys/mman.h>
 
+#include <fbdev/fb.h>
+
 #include <directfb.h>
 
 #include <direct/messages.h>
@@ -48,8 +50,6 @@
 #include <core/gfxcard.h>
 #include <core/surfaces.h>
 
-#include <core/accelerators.h>
-
 #include <gfx/convert.h>
 #include <gfx/util.h>
 
@@ -1281,10 +1281,10 @@ driver_probe( GraphicsDevice *device )
      switch (dfb_gfxcard_get_accelerator( device )) {
           case FB_ACCEL_NV4:
           case FB_ACCEL_NV5:
-          case FB_ACCEL_NV10:
-          case FB_ACCEL_NV20:
-          case FB_ACCEL_NV30:
-          case FB_ACCEL_NV40:
+          case FB_ACCEL_NV_10:
+          case FB_ACCEL_NV_20:
+          case FB_ACCEL_NV_30:
+          case FB_ACCEL_NV_40:
                return 1;
      }
 
--- gfxdrivers/radeon/radeon.c  2006-04-11 05:49:16.000000000 +0300
+++ gfxdrivers/radeon/radeon.c  2006-04-25 03:17:52.000000000 +0300
@@ -36,7 +36,6 @@
 #include <direct/messages.h>
 #include <direct/util.h>
 
-#include <core/accelerators.h>
 #include <core/coredefs.h>
 #include <core/coretypes.h>
 #include <core/state.h>
@@ -45,6 +44,8 @@
 #include <core/surfaces.h>
 #include <core/system.h>
 
+#include <fbdev/fb.h>
+
 #include <gfx/convert.h>
 
 #include <misc/conf.h>
--- gfxdrivers/savage/Makefile.am       2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/savage/Makefile.am       2006-04-25 03:02:16.000000000 +0300
@@ -4,6 +4,7 @@ INCLUDES = \
        -I$(top_srcdir)/include \
        -I$(top_builddir)/lib   \
        -I$(top_srcdir)/lib     \
+       -I$(top_srcdir)/systems \
        -I$(top_srcdir)/src
 
 savage_LTLIBRARIES = libdirectfb_savage.la
--- gfxdrivers/savage/savage.c  2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/savage/savage.c  2006-04-25 03:06:24.000000000 +0300
@@ -35,7 +35,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <directfb.h>
 
@@ -49,8 +49,6 @@
 #include <core/surfaces.h>
 #include <core/gfxcard.h>
 
-#include <core/accelerators.h>
-
 #include <gfx/convert.h>
 #include <gfx/util.h>
 
--- gfxdrivers/sis315/sis315.c  2005-10-29 03:40:58.000000000 +0300
+++ gfxdrivers/sis315/sis315.c  2006-04-25 03:06:30.000000000 +0300
@@ -32,8 +32,6 @@
 #include <core/state.h>
 #include <core/surfaces.h>
 
-#include <core/accelerators.h>
-
 #include <fbdev/fbdev.h>
 
 #include "sis315.h"
--- gfxdrivers/sis315/sis315_compat.h   2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/sis315/sis315_compat.h   2006-04-25 03:02:16.000000000 +0300
@@ -1,7 +1,7 @@
 #ifndef _SIS315_COMPAT_H
 #define _SIS315_COMPAT_H
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #ifndef FB_ACCEL_SIS_GLAMOUR_2
 #define FB_ACCEL_SIS_GLAMOUR_2  40     /* SiS 315, 650, 740            */
--- gfxdrivers/tdfx/Makefile.am 2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/tdfx/Makefile.am 2006-04-25 03:02:16.000000000 +0300
@@ -4,6 +4,7 @@ INCLUDES = \
        -I$(top_srcdir)/include \
        -I$(top_srcdir)/lib     \
        -I$(top_builddir)/lib   \
+       -I$(top_srcdir)/systems \
        -I$(top_srcdir)/src
 
 tdfx_LTLIBRARIES = libdirectfb_tdfx.la
--- gfxdrivers/tdfx/tdfx.c      2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/tdfx/tdfx.c      2006-04-25 03:06:43.000000000 +0300
@@ -35,7 +35,7 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 
-#include <linux/fb.h>
+#include <fbdev/fb.h>
 
 #include <directfb.h>
 
@@ -48,8 +48,6 @@
 #include <core/gfxcard.h>
 #include <core/surfaces.h>
 
-#include <core/accelerators.h>
-
 #include <gfx/convert.h>
 #include <gfx/util.h>
 #include <misc/conf.h>
--- gfxdrivers/unichrome/unichrome.c    2006-04-12 00:32:04.000000000 +0300
+++ gfxdrivers/unichrome/unichrome.c    2006-04-25 03:02:16.000000000 +0300
@@ -24,9 +24,9 @@
 
 #include <misc/conf.h>
 
-// System headers
+#include <fbdev/fb.h>
 
-#include <linux/fb.h>
+// System headers
 
 #include <sys/types.h>
 #include <sys/stat.h>
--- src/core/accelerators.h     2005-08-03 12:14:57.000000000 +0300
+++ src/core/accelerators.h     1970-01-01 02:00:00.000000000 +0200
@@ -1,245 +0,0 @@
-/*
-   (c) Copyright 2000-2002  convergence integrated media GmbH.
-   (c) Copyright 2002-2005  convergence GmbH.
-
-   All rights reserved.
-
-   Written by Denis Oliver Kropp <[EMAIL PROTECTED]>,
-              Andreas Hundt <[EMAIL PROTECTED]>,
-              Sven Neumann <[EMAIL PROTECTED]>,
-              Ville Syrjälä <[EMAIL PROTECTED]> and
-              Claudio Ciccani <[EMAIL PROTECTED]>.
-
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2 of the License, or (at your option) any later version.
-
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, write to the
-   Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.
-*/
-
-#ifndef __ACCELERATORS_H__
-#define __ACCELERATORS_H__
-
-/* Linux Framebuffer accelerators */
-#ifndef FB_ACCEL_ATARIBLITT
-# define FB_ACCEL_ATARIBLITT           0x00000001 /* Atari Blitter */
-#endif
-#ifndef FB_ACCEL_AMIGABLITT
-# define FB_ACCEL_AMIGABLITT           0x00000002 /* Amiga Blitter */
-#endif
-#ifndef FB_ACCEL_S3_TRIO64
-# define FB_ACCEL_S3_TRIO64            0x00000003 /* Cybervision64 (S3 Trio64) 
*/
-#endif
-#ifndef FB_ACCEL_NCR_77C32BLT
-# define FB_ACCEL_NCR_77C32BLT         0x00000004 /* RetinaZ3 (NCR 77C32BLT) */
-#endif
-#ifndef FB_ACCEL_S3_VIRGE
-# define FB_ACCEL_S3_VIRGE             0x00000005 /* Cybervision64/3D (S3 
ViRGE) */
-#endif
-#ifndef FB_ACCEL_ATI_MACH64GX
-# define FB_ACCEL_ATI_MACH64GX         0x00000006 /* ATI Mach 64GX family */
-#endif
-#ifndef FB_ACCEL_DEC_TGA
-# define FB_ACCEL_DEC_TGA              0x00000007 /* DEC 21030 TGA */
-#endif
-#ifndef FB_ACCEL_ATI_MACH64CT
-# define FB_ACCEL_ATI_MACH64CT         0x00000008 /* ATI Mach 64CT family */
-#endif
-#ifndef FB_ACCEL_ATI_MACH64VT
-# define FB_ACCEL_ATI_MACH64VT         0x00000009 /* ATI Mach 64CT family VT 
class */
-#endif
-#ifndef FB_ACCEL_ATI_MACH64GT
-# define FB_ACCEL_ATI_MACH64GT         0x0000000a /* ATI Mach 64CT family GT 
class */
-#endif
-#ifndef FB_ACCEL_SUN_CREATOR
-# define FB_ACCEL_SUN_CREATOR          0x0000000b /* Sun Creator/Creator3D */
-#endif
-#ifndef FB_ACCEL_SUN_CGSIX
-# define FB_ACCEL_SUN_CGSIX            0x0000000c /* Sun cg6 */
-#endif
-#ifndef FB_ACCEL_SUN_LEO
-# define FB_ACCEL_SUN_LEO              0x0000000d /* Sun leo/zx */
-#endif
-#ifndef FB_ACCEL_IMS_TWINTURBO
-# define FB_ACCEL_IMS_TWINTURBO        0x0000000e /* IMS Twin Turbo */
-#endif
-#ifndef FB_ACCEL_3DLABS_PERMEDIA2
-# define FB_ACCEL_3DLABS_PERMEDIA2     0x0000000f /* 3Dlabs Permedia 2 */
-#endif
-#ifndef FB_ACCEL_MATROX_MGA2064W
-# define FB_ACCEL_MATROX_MGA2064W      0x00000010 /* Matrox MGA2064W 
(Millenium) */
-#endif
-#ifndef FB_ACCEL_MATROX_MGA1064SG
-# define FB_ACCEL_MATROX_MGA1064SG     0x00000011 /* Matrox MGA1064SG 
(Mystique) */
-#endif
-#ifndef FB_ACCEL_MATROX_MGA2164W
-# define FB_ACCEL_MATROX_MGA2164W      0x00000012 /* Matrox MGA2164W 
(Millenium II) */
-#endif
-#ifndef FB_ACCEL_MATROX_MGA2164W_AGP
-# define FB_ACCEL_MATROX_MGA2164W_AGP  0x00000013 /* Matrox MGA2164W 
(Millenium II) */
-#endif
-#ifndef FB_ACCEL_MATROX_MGAG100
-# define FB_ACCEL_MATROX_MGAG100       0x00000014 /* Matrox G100 (Productiva 
G100) */
-#endif
-#ifndef FB_ACCEL_MATROX_MGAG200
-# define FB_ACCEL_MATROX_MGAG200       0x00000015 /* Matrox G200 (Myst, Mill, 
...) */
-#endif
-#ifndef FB_ACCEL_SUN_CG14
-# define FB_ACCEL_SUN_CG14             0x00000016 /* Sun cgfourteen */
-#endif
-#ifndef FB_ACCEL_SUN_BWTWO
-# define FB_ACCEL_SUN_BWTWO            0x00000017 /* Sun bwtwo */
-#endif
-#ifndef FB_ACCEL_SUN_CGTHREE
-# define FB_ACCEL_SUN_CGTHREE          0x00000018 /* Sun cgthree */
-#endif
-#ifndef FB_ACCEL_SUN_TCX
-# define FB_ACCEL_SUN_TCX              0x00000019 /* Sun tcx */
-#endif
-#ifndef FB_ACCEL_MATROX_MGAG400
-# define FB_ACCEL_MATROX_MGAG400       0x0000001a /* Matrox G400 */
-#endif
-#ifndef FB_ACCEL_NV3
-# define FB_ACCEL_NV3                  0x0000001b /* nVidia RIVA 128 */
-#endif
-#ifndef FB_ACCEL_NV4
-# define FB_ACCEL_NV4                  0x0000001c /* nVidia RIVA TNT */
-#endif
-#ifndef FB_ACCEL_NV5
-# define FB_ACCEL_NV5                  0x0000001d /* nVidia RIVA TNT2 */
-#endif
-#ifndef FB_ACCEL_CT_6555x
-# define FB_ACCEL_CT_6555x             0x0000001e /* C&T 6555x */
-#endif
-#ifndef FB_ACCEL_3DFX_BANSHEE
-# define FB_ACCEL_3DFX_BANSHEE         0x0000001f /* 3Dfx Banshee */
-#endif
-#ifndef FB_ACCEL_ATI_RAGE128
-# define FB_ACCEL_ATI_RAGE128          0x00000020 /* ATI Rage128 family */
-#endif
-#ifndef FB_ACCEL_IGS_CYBER2000
-# define FB_ACCEL_IGS_CYBER2000        0x00000021 /* CyberPro 2000 */
-#endif
-#ifndef FB_ACCEL_IGS_CYBER2010
-# define FB_ACCEL_IGS_CYBER2010        0x00000022 /* CyberPro 2010 */
-#endif
-#ifndef FB_ACCEL_IGS_CYBER5000
-# define FB_ACCEL_IGS_CYBER5000        0x00000023 /* CyberPro 5000 */
-#endif
-#ifndef FB_ACCEL_SIS_GLAMOUR
-# define FB_ACCEL_SIS_GLAMOUR          0x00000024 /* SiS 300/630/540 */
-#endif
-#ifndef FB_ACCEL_3DLABS_PERMEDIA3
-# define FB_ACCEL_3DLABS_PERMEDIA3     0x00000025 /* 3Dlabs Permedia 3 */
-#endif
-#ifndef FB_ACCEL_ATI_RADEON
-# define FB_ACCEL_ATI_RADEON           0x00000026 /* ATI Radeon family */
-#endif
-#ifndef FB_ACCEL_I810
-# define FB_ACCEL_I810                 0x00000027 /* Intel 810/815 */
-#endif
-#ifndef FB_ACCEL_SIS_GLAMOUR_2
-# define FB_ACCEL_SIS_GLAMOUR_2        0x00000028 /* SiS 315, 650, 740 */
-#endif
-#ifndef FB_ACCEL_SIS_XABRE
-# define FB_ACCEL_SIS_XABRE            0x00000029 /* SiS 330 ("Xabre") */
-#endif
-#ifndef FB_ACCEL_I830
-# define FB_ACCEL_I830                 0x0000002a /* Intel 830M/845G/85x/865G 
*/
-#endif
-#ifndef FB_ACCEL_NV10
-# define FB_ACCEL_NV10                 0x0000002b /* nVidia Arch 10 */
-#endif
-#ifndef FB_ACCEL_NV20
-# define FB_ACCEL_NV20                 0x0000002c /* nVidia Arch 20 */
-#endif
-#ifndef FB_ACCEL_NV30
-# define FB_ACCEL_NV30                 0x0000002d /* nVidia Arch 30 */
-#endif
-#ifndef FB_ACCEL_NV40
-# define FB_ACCEL_NV40                 0x0000002e /* nVidia Arch 40 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2070
-# define FB_ACCEL_NEOMAGIC_NM2070      0x0000005a /* NeoMagic NM2070 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2090
-# define FB_ACCEL_NEOMAGIC_NM2090      0x0000005b /* NeoMagic NM2090 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2093
-# define FB_ACCEL_NEOMAGIC_NM2093      0x0000005c /* NeoMagic NM2093 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2097
-# define FB_ACCEL_NEOMAGIC_NM2097      0x0000005d /* NeoMagic NM2097 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2160
-# define FB_ACCEL_NEOMAGIC_NM2160      0x0000005e /* NeoMagic NM2160 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2200
-# define FB_ACCEL_NEOMAGIC_NM2200      0x0000005f /* NeoMagic NM2200 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2230
-# define FB_ACCEL_NEOMAGIC_NM2230      0x00000060 /* NeoMagic NM2230 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2360
-# define FB_ACCEL_NEOMAGIC_NM2360      0x00000061 /* NeoMagic NM2360 */
-#endif
-#ifndef FB_ACCEL_NEOMAGIC_NM2380
-# define FB_ACCEL_NEOMAGIC_NM2380      0x00000062 /* NeoMagic NM2380 */
-#endif
-#ifndef FB_ACCEL_SAVAGE4
-# define FB_ACCEL_SAVAGE4              0x00000080 /* S3 Savage4 */
-#endif
-#ifndef FB_ACCEL_SAVAGE3D
-# define FB_ACCEL_SAVAGE3D             0x00000081 /* S3 Savage3D */
-#endif
-#ifndef FB_ACCEL_SAVAGE3D_MV
-# define FB_ACCEL_SAVAGE3D_MV          0x00000082 /* S3 Savage3D-MV */
-#endif
-#ifndef FB_ACCEL_SAVAGE2000
-# define FB_ACCEL_SAVAGE2000           0x00000083 /* S3 Savage2000 */
-#endif
-#ifndef FB_ACCEL_SAVAGE_MX_MV
-# define FB_ACCEL_SAVAGE_MX_MV         0x00000084 /* S3 Savage/MX-MV */
-#endif
-#ifndef FB_ACCEL_SAVAGE_MX
-# define FB_ACCEL_SAVAGE_MX            0x00000085 /* S3 Savage/MX */
-#endif
-#ifndef FB_ACCEL_SAVAGE_IX_MV
-# define FB_ACCEL_SAVAGE_IX_MV         0x00000086 /* S3 Savage/IX-MV */
-#endif
-#ifndef FB_ACCEL_SAVAGE_IX
-# define FB_ACCEL_SAVAGE_IX            0x00000087 /* S3 Savage/IX */
-#endif
-#ifndef FB_ACCEL_PROSAVAGE_PM
-# define FB_ACCEL_PROSAVAGE_PM         0x00000088 /* S3 ProSavage PM133 */
-#endif
-#ifndef FB_ACCEL_PROSAVAGE_KM
-# define FB_ACCEL_PROSAVAGE_KM         0x00000089 /* S3 ProSavage KM133 */
-#endif
-#ifndef FB_ACCEL_S3TWISTER_P
-# define FB_ACCEL_S3TWISTER_P          0x0000008a /* S3 Twister */
-#endif
-#ifndef FB_ACCEL_S3TWISTER_K
-# define FB_ACCEL_S3TWISTER_K          0x0000008b /* S3 TwisterK */
-#endif
-#ifndef FB_ACCEL_SUPERSAVAGE
-# define FB_ACCEL_SUPERSAVAGE          0x0000008c /* S3 Supersavage */
-#endif
-#ifndef FB_ACCEL_PROSAVAGE_DDR
-# define FB_ACCEL_PROSAVAGE_DDR        0x0000008d /* S3 ProSavage DDR */
-#endif
-#ifndef FB_ACCEL_PROSAVAGE_DDRK
-# define FB_ACCEL_PROSAVAGE_DDRK       0x0000008e /* S3 ProSavage DDR-K */
-#endif
-
-
-#endif /* __ACCELERATORS_H__ */
--- src/core/Makefile.am        2006-02-02 20:59:25.000000000 +0200
+++ src/core/Makefile.am        2006-04-25 03:02:55.000000000 +0300
@@ -17,7 +17,6 @@ AM_CPPFLAGS = \
 internalincludedir = $(INTERNALINCLUDEDIR)/core
 
 internalinclude_HEADERS = \
-       accelerators.h          \
        clipboard.h             \
        colorhash.h             \
        coredefs.h              \
--- systems/fbdev/fbdev.c       2006-04-12 00:32:04.000000000 +0300
+++ systems/fbdev/fbdev.c       2006-04-25 03:02:16.000000000 +0300
@@ -41,8 +41,6 @@
 #include <sys/mman.h>
 #include <sys/kd.h>
 
-#include <linux/fb.h>
-
 #include <pthread.h>
 
 #ifdef USE_SYSFS
@@ -84,6 +82,7 @@
 #include <misc/util.h>
 
 #include "fbdev.h"
+#include "fb.h"
 #include "vt.h"
 #include "agp.h"
 
--- systems/fbdev/fbdev.h       2006-04-12 00:32:04.000000000 +0300
+++ systems/fbdev/fbdev.h       2006-04-25 03:02:16.000000000 +0300
@@ -28,8 +28,6 @@
 #ifndef __CORE__FBDEV_H__
 #define __CORE__FBDEV_H__
 
-#include <linux/fb.h>
-
 #include <core/coretypes.h>
 
 #include <core/system.h>
@@ -37,6 +35,7 @@
 #include <fusion/call.h>
 #include <fusion/reactor.h>
 
+#include "fb.h"
 #include "vt.h"
 #include "agp.h"
 
--- systems/fbdev/fb.h  1970-01-01 02:00:00.000000000 +0200
+++ systems/fbdev/fb.h  2006-04-25 03:20:31.000000000 +0300
@@ -0,0 +1,365 @@
+#ifndef _LINUX_FB_H
+#define _LINUX_FB_H
+
+#include <asm/types.h>
+
+/* Definitions of frame buffers                                                
*/
+
+#define FB_MAJOR               29
+#define FB_MAX                 32      /* sufficient for now */
+
+/* ioctls
+   0x46 is 'F'                                                         */
+#define FBIOGET_VSCREENINFO    0x4600
+#define FBIOPUT_VSCREENINFO    0x4601
+#define FBIOGET_FSCREENINFO    0x4602
+#define FBIOGETCMAP            0x4604
+#define FBIOPUTCMAP            0x4605
+#define FBIOPAN_DISPLAY                0x4606
+#define FBIO_CURSOR            _IOWR('F', 0x08, struct fb_cursor)
+/* 0x4607-0x460B are defined below */
+/* #define FBIOGET_MONITORSPEC 0x460C */
+/* #define FBIOPUT_MONITORSPEC 0x460D */
+/* #define FBIOSWITCH_MONIBIT  0x460E */
+#define FBIOGET_CON2FBMAP      0x460F
+#define FBIOPUT_CON2FBMAP      0x4610
+#define FBIOBLANK              0x4611          /* arg: 0 or vesa level + 1 */
+#define FBIOGET_VBLANK         _IOR('F', 0x12, struct fb_vblank)
+#define FBIO_ALLOC              0x4613
+#define FBIO_FREE               0x4614
+#define FBIOGET_GLYPH           0x4615
+#define FBIOGET_HWCINFO         0x4616
+#define FBIOPUT_MODEINFO        0x4617
+#define FBIOGET_DISPINFO        0x4618
+
+
+#define FB_TYPE_PACKED_PIXELS          0       /* Packed Pixels        */
+#define FB_TYPE_PLANES                 1       /* Non interleaved planes */
+#define FB_TYPE_INTERLEAVED_PLANES     2       /* Interleaved planes   */
+#define FB_TYPE_TEXT                   3       /* Text/attributes      */
+#define FB_TYPE_VGA_PLANES             4       /* EGA/VGA planes       */
+
+#define FB_AUX_TEXT_MDA                0       /* Monochrome text */
+#define FB_AUX_TEXT_CGA                1       /* CGA/EGA/VGA Color text */
+#define FB_AUX_TEXT_S3_MMIO    2       /* S3 MMIO fasttext */
+#define FB_AUX_TEXT_MGA_STEP16 3       /* MGA Millenium I: text, attr, 14 
reserved bytes */
+#define FB_AUX_TEXT_MGA_STEP8  4       /* other MGAs:      text, attr,  6 
reserved bytes */
+
+#define FB_AUX_VGA_PLANES_VGA4         0       /* 16 color planes (EGA/VGA) */
+#define FB_AUX_VGA_PLANES_CFB4         1       /* CFB4 in planes (VGA) */
+#define FB_AUX_VGA_PLANES_CFB8         2       /* CFB8 in planes (VGA) */
+
+#define FB_VISUAL_MONO01               0       /* Monochr. 1=Black 0=White */
+#define FB_VISUAL_MONO10               1       /* Monochr. 1=White 0=Black */
+#define FB_VISUAL_TRUECOLOR            2       /* True color   */
+#define FB_VISUAL_PSEUDOCOLOR          3       /* Pseudo color (like atari) */
+#define FB_VISUAL_DIRECTCOLOR          4       /* Direct color */
+#define FB_VISUAL_STATIC_PSEUDOCOLOR   5       /* Pseudo color readonly */
+
+#define FB_ACCEL_NONE          0       /* no hardware accelerator      */
+#define FB_ACCEL_ATARIBLITT    1       /* Atari Blitter                */
+#define FB_ACCEL_AMIGABLITT    2       /* Amiga Blitter                */
+#define FB_ACCEL_S3_TRIO64     3       /* Cybervision64 (S3 Trio64)    */
+#define FB_ACCEL_NCR_77C32BLT  4       /* RetinaZ3 (NCR 77C32BLT)      */
+#define FB_ACCEL_S3_VIRGE      5       /* Cybervision64/3D (S3 ViRGE)  */
+#define FB_ACCEL_ATI_MACH64GX  6       /* ATI Mach 64GX family         */
+#define FB_ACCEL_DEC_TGA       7       /* DEC 21030 TGA                */
+#define FB_ACCEL_ATI_MACH64CT  8       /* ATI Mach 64CT family         */
+#define FB_ACCEL_ATI_MACH64VT  9       /* ATI Mach 64CT family VT class */
+#define FB_ACCEL_ATI_MACH64GT  10      /* ATI Mach 64CT family GT class */
+#define FB_ACCEL_SUN_CREATOR   11      /* Sun Creator/Creator3D        */
+#define FB_ACCEL_SUN_CGSIX     12      /* Sun cg6                      */
+#define FB_ACCEL_SUN_LEO       13      /* Sun leo/zx                   */
+#define FB_ACCEL_IMS_TWINTURBO 14      /* IMS Twin Turbo               */
+#define FB_ACCEL_3DLABS_PERMEDIA2 15   /* 3Dlabs Permedia 2            */
+#define FB_ACCEL_MATROX_MGA2064W 16    /* Matrox MGA2064W (Millenium)  */
+#define FB_ACCEL_MATROX_MGA1064SG 17   /* Matrox MGA1064SG (Mystique)  */
+#define FB_ACCEL_MATROX_MGA2164W 18    /* Matrox MGA2164W (Millenium II) */
+#define FB_ACCEL_MATROX_MGA2164W_AGP 19        /* Matrox MGA2164W (Millenium 
II) */
+#define FB_ACCEL_MATROX_MGAG100        20      /* Matrox G100 (Productiva 
G100) */
+#define FB_ACCEL_MATROX_MGAG200        21      /* Matrox G200 (Myst, Mill, 
...) */
+#define FB_ACCEL_SUN_CG14      22      /* Sun cgfourteen                */
+#define FB_ACCEL_SUN_BWTWO     23      /* Sun bwtwo                    */
+#define FB_ACCEL_SUN_CGTHREE   24      /* Sun cgthree                  */
+#define FB_ACCEL_SUN_TCX       25      /* Sun tcx                      */
+#define FB_ACCEL_MATROX_MGAG400        26      /* Matrox G400                  
*/
+#define FB_ACCEL_NV3           27      /* nVidia RIVA 128              */
+#define FB_ACCEL_NV4           28      /* nVidia RIVA TNT              */
+#define FB_ACCEL_NV5           29      /* nVidia RIVA TNT2             */
+#define FB_ACCEL_CT_6555x      30      /* C&T 6555x                    */
+#define FB_ACCEL_3DFX_BANSHEE  31      /* 3Dfx Banshee                 */
+#define FB_ACCEL_ATI_RAGE128   32      /* ATI Rage128 family           */
+#define FB_ACCEL_IGS_CYBER2000 33      /* CyberPro 2000                */
+#define FB_ACCEL_IGS_CYBER2010 34      /* CyberPro 2010                */
+#define FB_ACCEL_IGS_CYBER5000 35      /* CyberPro 5000                */
+#define FB_ACCEL_SIS_GLAMOUR    36     /* SiS 300/630/540              */
+#define FB_ACCEL_3DLABS_PERMEDIA3 37   /* 3Dlabs Permedia 3            */
+#define FB_ACCEL_ATI_RADEON    38      /* ATI Radeon family            */
+#define FB_ACCEL_I810           39      /* Intel 810/815                */
+#define FB_ACCEL_SIS_GLAMOUR_2  40     /* SiS 315, 650, 740            */
+#define FB_ACCEL_SIS_XABRE      41     /* SiS 330 ("Xabre")            */
+#define FB_ACCEL_I830           42      /* Intel 830M/845G/85x/865G     */
+#define FB_ACCEL_NV_10          43      /* nVidia Arch 10               */
+#define FB_ACCEL_NV_20          44      /* nVidia Arch 20               */
+#define FB_ACCEL_NV_30          45      /* nVidia Arch 30               */
+#define FB_ACCEL_NV_40          46      /* nVidia Arch 40               */
+#define FB_ACCEL_XGI_VOLARI_V  47      /* XGI Volari V3XT, V5, V8      */
+#define FB_ACCEL_XGI_VOLARI_Z  48      /* XGI Volari Z7                */
+#define FB_ACCEL_NEOMAGIC_NM2070 90    /* NeoMagic NM2070              */
+#define FB_ACCEL_NEOMAGIC_NM2090 91    /* NeoMagic NM2090              */
+#define FB_ACCEL_NEOMAGIC_NM2093 92    /* NeoMagic NM2093              */
+#define FB_ACCEL_NEOMAGIC_NM2097 93    /* NeoMagic NM2097              */
+#define FB_ACCEL_NEOMAGIC_NM2160 94    /* NeoMagic NM2160              */
+#define FB_ACCEL_NEOMAGIC_NM2200 95    /* NeoMagic NM2200              */
+#define FB_ACCEL_NEOMAGIC_NM2230 96    /* NeoMagic NM2230              */
+#define FB_ACCEL_NEOMAGIC_NM2360 97    /* NeoMagic NM2360              */
+#define FB_ACCEL_NEOMAGIC_NM2380 98    /* NeoMagic NM2380              */
+
+#define FB_ACCEL_SAVAGE4        0x80   /* S3 Savage4                   */
+#define FB_ACCEL_SAVAGE3D       0x81   /* S3 Savage3D                  */
+#define FB_ACCEL_SAVAGE3D_MV    0x82   /* S3 Savage3D-MV               */
+#define FB_ACCEL_SAVAGE2000     0x83   /* S3 Savage2000                */
+#define FB_ACCEL_SAVAGE_MX_MV   0x84   /* S3 Savage/MX-MV              */
+#define FB_ACCEL_SAVAGE_MX      0x85   /* S3 Savage/MX                 */
+#define FB_ACCEL_SAVAGE_IX_MV   0x86   /* S3 Savage/IX-MV              */
+#define FB_ACCEL_SAVAGE_IX      0x87   /* S3 Savage/IX                 */
+#define FB_ACCEL_PROSAVAGE_PM   0x88   /* S3 ProSavage PM133           */
+#define FB_ACCEL_PROSAVAGE_KM   0x89   /* S3 ProSavage KM133           */
+#define FB_ACCEL_S3TWISTER_P    0x8a   /* S3 Twister                   */
+#define FB_ACCEL_S3TWISTER_K    0x8b   /* S3 TwisterK                  */
+#define FB_ACCEL_SUPERSAVAGE    0x8c    /* S3 Supersavage               */
+#define FB_ACCEL_PROSAVAGE_DDR  0x8d   /* S3 ProSavage DDR             */
+#define FB_ACCEL_PROSAVAGE_DDRK 0x8e   /* S3 ProSavage DDR-K           */
+
+struct fb_fix_screeninfo {
+       char id[16];                    /* identification string eg "TT 
Builtin" */
+       unsigned long smem_start;       /* Start of frame buffer mem */
+                                       /* (physical address) */
+       __u32 smem_len;                 /* Length of frame buffer mem */
+       __u32 type;                     /* see FB_TYPE_*                */
+       __u32 type_aux;                 /* Interleave for interleaved Planes */
+       __u32 visual;                   /* see FB_VISUAL_*              */ 
+       __u16 xpanstep;                 /* zero if no hardware panning  */
+       __u16 ypanstep;                 /* zero if no hardware panning  */
+       __u16 ywrapstep;                /* zero if no hardware ywrap    */
+       __u32 line_length;              /* length of a line in bytes    */
+       unsigned long mmio_start;       /* Start of Memory Mapped I/O   */
+                                       /* (physical address) */
+       __u32 mmio_len;                 /* Length of Memory Mapped I/O  */
+       __u32 accel;                    /* Indicate to driver which     */
+                                       /*  specific chip/card we have  */
+       __u16 reserved[3];              /* Reserved for future compatibility */
+};
+
+/* Interpretation of offset for color fields: All offsets are from the right,
+ * inside a "pixel" value, which is exactly 'bits_per_pixel' wide (means: you
+ * can use the offset as right argument to <<). A pixel afterwards is a bit
+ * stream and is written to video memory as that unmodified. This implies
+ * big-endian byte order if bits_per_pixel is greater than 8.
+ */
+struct fb_bitfield {
+       __u32 offset;                   /* beginning of bitfield        */
+       __u32 length;                   /* length of bitfield           */
+       __u32 msb_right;                /* != 0 : Most significant bit is */ 
+                                       /* right */ 
+};
+
+#define FB_NONSTD_HAM          1       /* Hold-And-Modify (HAM)        */
+
+#define FB_ACTIVATE_NOW                0       /* set values immediately (or 
vbl)*/
+#define FB_ACTIVATE_NXTOPEN    1       /* activate on next open        */
+#define FB_ACTIVATE_TEST       2       /* don't set, round up impossible */
+#define FB_ACTIVATE_MASK       15
+                                       /* values                       */
+#define FB_ACTIVATE_VBL               16       /* activate values on next vbl  
*/
+#define FB_CHANGE_CMAP_VBL     32      /* change colormap on vbl       */
+#define FB_ACTIVATE_ALL               64       /* change all VCs on this fb    
*/
+#define FB_ACTIVATE_FORCE     128      /* force apply even when no change*/
+#define FB_ACTIVATE_INV_MODE  256       /* invalidate videomode */
+
+#define FB_ACCELF_TEXT         1       /* (OBSOLETE) see fb_info.flags and 
vc_mode */
+
+#define FB_SYNC_HOR_HIGH_ACT   1       /* horizontal sync high active  */
+#define FB_SYNC_VERT_HIGH_ACT  2       /* vertical sync high active    */
+#define FB_SYNC_EXT            4       /* external sync                */
+#define FB_SYNC_COMP_HIGH_ACT  8       /* composite sync high active   */
+#define FB_SYNC_BROADCAST      16      /* broadcast video timings      */
+                                       /* vtotal = 144d/288n/576i => PAL  */
+                                       /* vtotal = 121d/242n/484i => NTSC */
+#define FB_SYNC_ON_GREEN       32      /* sync on green */
+
+#define FB_VMODE_NONINTERLACED  0      /* non interlaced */
+#define FB_VMODE_INTERLACED    1       /* interlaced   */
+#define FB_VMODE_DOUBLE                2       /* double scan */
+#define FB_VMODE_MASK          255
+
+#define FB_VMODE_YWRAP         256     /* ywrap instead of panning     */
+#define FB_VMODE_SMOOTH_XPAN   512     /* smooth xpan possible (internally 
used) */
+#define FB_VMODE_CONUPDATE     512     /* don't update x/yoffset       */
+
+/*
+ * Display rotation support
+ */
+#define FB_ROTATE_UR      0
+#define FB_ROTATE_CW      1
+#define FB_ROTATE_UD      2
+#define FB_ROTATE_CCW     3
+
+#define PICOS2KHZ(a) (1000000000UL/(a))
+#define KHZ2PICOS(a) (1000000000UL/(a))
+
+struct fb_var_screeninfo {
+       __u32 xres;                     /* visible resolution           */
+       __u32 yres;
+       __u32 xres_virtual;             /* virtual resolution           */
+       __u32 yres_virtual;
+       __u32 xoffset;                  /* offset from virtual to visible */
+       __u32 yoffset;                  /* resolution                   */
+
+       __u32 bits_per_pixel;           /* guess what                   */
+       __u32 grayscale;                /* != 0 Graylevels instead of colors */
+
+       struct fb_bitfield red;         /* bitfield in fb mem if true color, */
+       struct fb_bitfield green;       /* else only length is significant */
+       struct fb_bitfield blue;
+       struct fb_bitfield transp;      /* transparency                 */      
+
+       __u32 nonstd;                   /* != 0 Non standard pixel format */
+
+       __u32 activate;                 /* see FB_ACTIVATE_*            */
+
+       __u32 height;                   /* height of picture in mm    */
+       __u32 width;                    /* width of picture in mm     */
+
+       __u32 accel_flags;              /* (OBSOLETE) see fb_info.flags */
+
+       /* Timing: All values in pixclocks, except pixclock (of course) */
+       __u32 pixclock;                 /* pixel clock in ps (pico seconds) */
+       __u32 left_margin;              /* time from sync to picture    */
+       __u32 right_margin;             /* time from picture to sync    */
+       __u32 upper_margin;             /* time from sync to picture    */
+       __u32 lower_margin;
+       __u32 hsync_len;                /* length of horizontal sync    */
+       __u32 vsync_len;                /* length of vertical sync      */
+       __u32 sync;                     /* see FB_SYNC_*                */
+       __u32 vmode;                    /* see FB_VMODE_*               */
+       __u32 rotate;                   /* angle we rotate counter clockwise */
+       __u32 reserved[5];              /* Reserved for future compatibility */
+};
+
+struct fb_cmap {
+       __u32 start;                    /* First entry  */
+       __u32 len;                      /* Number of entries */
+       __u16 *red;                     /* Red values   */
+       __u16 *green;
+       __u16 *blue;
+       __u16 *transp;                  /* transparency, can be NULL */
+};
+
+struct fb_con2fbmap {
+       __u32 console;
+       __u32 framebuffer;
+};
+
+/* VESA Blanking Levels */
+#define VESA_NO_BLANKING        0
+#define VESA_VSYNC_SUSPEND      1
+#define VESA_HSYNC_SUSPEND      2
+#define VESA_POWERDOWN          3
+
+
+enum {
+       /* screen: unblanked, hsync: on,  vsync: on */
+       FB_BLANK_UNBLANK       = VESA_NO_BLANKING,
+
+       /* screen: blanked,   hsync: on,  vsync: on */
+       FB_BLANK_NORMAL        = VESA_NO_BLANKING + 1,
+
+       /* screen: blanked,   hsync: on,  vsync: off */
+       FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1,
+
+       /* screen: blanked,   hsync: off, vsync: on */
+       FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1,
+
+       /* screen: blanked,   hsync: off, vsync: off */
+       FB_BLANK_POWERDOWN     = VESA_POWERDOWN + 1
+};
+
+#define FB_VBLANK_VBLANKING    0x001   /* currently in a vertical blank */
+#define FB_VBLANK_HBLANKING    0x002   /* currently in a horizontal blank */
+#define FB_VBLANK_HAVE_VBLANK  0x004   /* vertical blanks can be detected */
+#define FB_VBLANK_HAVE_HBLANK  0x008   /* horizontal blanks can be detected */
+#define FB_VBLANK_HAVE_COUNT   0x010   /* global retrace counter is available 
*/
+#define FB_VBLANK_HAVE_VCOUNT  0x020   /* the vcount field is valid */
+#define FB_VBLANK_HAVE_HCOUNT  0x040   /* the hcount field is valid */
+#define FB_VBLANK_VSYNCING     0x080   /* currently in a vsync */
+#define FB_VBLANK_HAVE_VSYNC   0x100   /* verical syncs can be detected */
+
+struct fb_vblank {
+       __u32 flags;                    /* FB_VBLANK flags */
+       __u32 count;                    /* counter of retraces since boot */
+       __u32 vcount;                   /* current scanline position */
+       __u32 hcount;                   /* current scandot position */
+       __u32 reserved[4];              /* reserved for future compatibility */
+};
+
+/* Internal HW accel */
+#define ROP_COPY 0
+#define ROP_XOR  1
+
+struct fb_copyarea {
+       __u32 dx;
+       __u32 dy;
+       __u32 width;
+       __u32 height;
+       __u32 sx;
+       __u32 sy;
+};
+
+struct fb_fillrect {
+       __u32 dx;       /* screen-relative */
+       __u32 dy;
+       __u32 width;
+       __u32 height;
+       __u32 color;
+       __u32 rop;
+};
+
+struct fb_image {
+       __u32 dx;               /* Where to place image */
+       __u32 dy;
+       __u32 width;            /* Size of image */
+       __u32 height;
+       __u32 fg_color;         /* Only used when a mono bitmap */
+       __u32 bg_color;
+       __u8  depth;            /* Depth of the image */
+       const char *data;       /* Pointer to image data */
+       struct fb_cmap cmap;    /* color map info */
+};
+
+/*
+ * hardware cursor control
+ */
+
+#define FB_CUR_SETIMAGE 0x01
+#define FB_CUR_SETPOS   0x02
+#define FB_CUR_SETHOT   0x04
+#define FB_CUR_SETCMAP  0x08
+#define FB_CUR_SETSHAPE 0x10
+#define FB_CUR_SETSIZE 0x20
+#define FB_CUR_SETALL   0xFF
+
+struct fbcurpos {
+       __u16 x, y;
+};
+
+struct fb_cursor {
+       __u16 set;              /* what to set */
+       __u16 enable;           /* cursor on/off */
+       __u16 rop;              /* bitop operation */
+       const char *mask;       /* cursor mask bits */
+       struct fbcurpos hot;    /* cursor hot spot */
+       struct fb_image image;  /* Cursor image */
+};
+
+#endif /* _LINUX_FB_H */
--- systems/fbdev/Makefile.am   2006-04-12 00:32:04.000000000 +0300
+++ systems/fbdev/Makefile.am   2006-04-25 03:02:16.000000000 +0300
@@ -14,6 +14,7 @@ internalincludedir = $(INTERNALINCLUDEDI
 
 internalinclude_HEADERS = \
        fbdev.h         \
+       fb.h            \
        vt.h                    \
        agp.h
 
--- systems/fbdev/vt.c  2006-04-12 00:32:04.000000000 +0300
+++ systems/fbdev/vt.c  2006-04-25 03:02:16.000000000 +0300
@@ -41,8 +41,6 @@
 #include <errno.h>
 #include <pthread.h>
 
-#include <linux/fb.h>
-
 #include <directfb.h>
 
 #include <misc/conf.h>
@@ -59,6 +57,7 @@
 #include <core/gfxcard.h>
 
 #include "fbdev.h"
+#include "fb.h"
 #include "vt.h"
 
 /*
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to