Package: directfb
Version: 2006-10-07
Author: Guillem Jover <guillem@debian.org>
Status: applied
Description:
 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.


--- 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 <dok@directfb.org>,
-              Andreas Hundt <andi@fischlustig.de>,
-              Sven Neumann <neo@directfb.org>,
-              Ville Syrjälä <syrjala@sci.fi> and
-              Claudio Ciccani <klan@users.sf.net>.
-
-   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"
 
 /*
