Framebuffer HOWTO
Prev |  | Next

# 14. Setting up the X11 FBdev driver

If you are not using XFree86 3.3.3.1 or later, you are urged to upgrade to XFree86 3.3.3.1, as it includes a FBdev X driver for framebuffer devices. Otherwise, follow the steps below to either download or build your own FBdev driver for older XFree86 versions such as 3.3.2, 3.3.3 etc.

Go to http://www.xfree86.org, and download the latest XServer sources archive, unpack, and configure the drivers, following these steps:

- Edit xc/config/cf/xf86site.def, uncomment the #define for XF68FBDevServer

- Comment out all references to FB_VISUAL_STATIC_DIRECTCOLOR, as those are bogus and are not used any more. If you are using XFree86 3.3.3.1, there is no need to do this step as this has all been removed.

- Edit xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c, and change K_RAW to K_MEDIUMRAW

And then build the driver. Don't worry about the m68k references, it supports x86 platforms. Then build the whole thing - it'll take a long time though as it's a large source tree.

Alternatively, if you don't have the time to spare, you can obtain the binaries from the sites below. Please note that these are 'unofficial' builds and you use them at your risk.

For libc5, use the one at: http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.gz. For glibc2, download from these URLs (http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz or http://pobox.com/~brion/linux/fbxserver.html

There have been reports that X11 is non functional on certain graphic cards with this vesafb feature enabled, if this is happening, try the new XF86_FBdev driver for X11.

This driver, along with vesafb can also help run X11 in higher graphic resolutions with certain graphic chipsets which are not supported by any of the current X11 drivers. Examples are Matrox G200 et. al.

To configure the XF86_FBdev driver with your X11 system, you'll need to edit your XF86Config for the following:

Section "Screen" Driver "FBDev" Device "Primary Card" Monitor "Primary Monitor" SubSection "Display" Modes "default" EndSubSection EndSection

You'll also need to set XkbDisable in the keyboard section as well, or invoke the XF86_FBDev server with the '-kb' option to set up your keyboard so it works properly. If you forget to set XkbDisable, you will have to put the following lines in your .Xmodmap to straighten out the keyboard mappings. Alternatively, you can edit your xkb to reflect the list below.

This is fixed in XFree86 3.3.3.1, and it is a good idea to upgrade to this version anyway because there are quite a few bug fixes, and also, it includes FBDev as one of the drvers, as I've mentioned previously.

! Keycode settings required keycode 104 = KP_Enter keycode 105 = Control_R keycode 106 = KP_Divide keycode 108 = Alt_R Meta_R keycode 110 = Home keycode 111 = Up keycode 112 = Prior keycode 113 = Left keycode 114 = Right keycode 115 = End keycode 116 = Down keycode 117 = Next keycode 118 = Insert keycode 119 = Delete

You may need to do some fiddling around with this (try copying the original definition from the original X11 driver that you were using and editing the name of the driver to FBDev), but basically this is what you need to do to use the vesafb X11 driver.

Hopefully the X11 problems with supported graphic cards will be fixed in future releases.

Prev | Home | Next
Changing Console Modes |  | How do I convert XFree86 mode-lines into framebuffer device timings?