如果您没有使用 XFree86 3.3.3.1 或更高版本,我们强烈建议您升级到 XFree86 3.3.3.1,因为它包含用于帧缓冲设备的 FBdev X 驱动程序。 否则,请按照以下步骤下载或构建您自己的 FBdev 驱动程序,用于较旧的 XFree86 版本,例如 3.3.2、3.3.3 等。
访问 http://www.xfree86.org,下载最新的 XServer 源代码存档,解压并配置驱动程序,按照以下步骤操作
编辑 xc/config/cf/xf86site.def,取消注释 XF68FBDevServer 的 #define
注释掉所有对 FB_VISUAL_STATIC_DIRECTCOLOR 的引用,因为这些是错误的,并且不再使用。 如果您使用的是 XFree86 3.3.3.1,则无需执行此步骤,因为这些都已删除。
编辑 xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_io.c,并将 K_RAW 更改为 K_MEDIUMRAW
然后构建驱动程序。 不用担心 m68k 的引用,它支持 x86 平台。 然后构建整个程序 - 这将花费很长时间,因为它是一个大型源代码树。
或者,如果您没有时间进行编译,您可以从以下站点获取二进制文件。 请注意,这些是“非官方”构建版本,您需要自行承担使用风险。
对于 libc5,请使用以下链接中的版本:http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.gz。 对于 glibc2,请从以下 URL 下载 (http://user.cs.tu-berlin.de/~kraxel/linux/XF68_FBDev.libc6.gz 或 http://pobox.com/~brion/linux/fbxserver.html
有报告称,在某些启用了 vesafb 功能的显卡上,X11 无法正常工作。如果发生这种情况,请尝试新的 XF86_FBdev X11 驱动程序。
此驱动程序与 vesafb 一起,还可以帮助在更高的图形分辨率下运行 X11,适用于某些当前任何 X11 驱动程序都不支持的图形芯片组。 例如 Matrox G200 等。
要将 XF86_FBdev 驱动程序与您的 X11 系统一起配置,您需要编辑您的 XF86Config 以进行以下设置
Section "Screen" Driver "FBDev" Device "Primary Card" Monitor "Primary Monitor" SubSection "Display" Modes "default" EndSubSection EndSection
您还需要在键盘部分设置 XkbDisable,或者使用 '-kb' 选项调用 XF86_FBDev 服务器来设置您的键盘,使其正常工作。 如果您忘记设置 XkbDisable,您将必须在您的 .Xmodmap 中放入以下行来理顺键盘映射。 或者,您可以编辑您的 xkb 以反映以下列表。
这在 XFree86 3.3.3.1 中已修复,无论如何升级到此版本都是一个好主意,因为有很多错误修复,而且,正如我之前提到的,它还包括 FBDev 作为驱动程序之一。
! 必需的键码设置 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
您可能需要对此进行一些调整(尝试从您正在使用的原始 X11 驱动程序复制原始定义,并将驱动程序的名称编辑为 FBDev),但基本上这就是您使用 vesafb X11 驱动程序需要做的。
希望在未来的版本中,受支持的显卡的 X11 问题将得到修复。