在配置 X11 之前, 您需要了解所安装的系统的下列信息:
显示器规格
显示卡的芯片类型
显示卡的显存容量
显示器的规格被 X11 用来决定显示的分辨率和刷新率。 这些规格通常可以从显示器所带的文档中, 以及制造商的网站找到。 需要知道两个数字范围: 垂直刷新率和水平刷新率。
显示卡的芯片类型将决定 X11 使用什么模块来驱动图形硬件。 绝大多数的硬件都能被自动检测, 但是了解它在自动检测出错的时候还是很有用处的。
显示卡的显存大小决定了系统支持的分辨率和颜色深度。 了解这些限制非常重要。
配置 X11 需要几步。 第一步是以超级用户的身份建立初始的配置文件:
# Xorg -configure
在使用 XFree86 的情况下键入:
# XFree86 -configure
这会在 /root 中生成一个叫做 xorg.conf.new 的配置文件 (无论您使用 su(1) 或直接登录, 都会改变默认的 $HOME 目录变量)。 对于 XFree86 来说, 配置文件的名字是 XF86Config.new。 X11 程序将尝试探测系统中的图形硬件并写包含检测到的硬件的配置文件, 以便加载正确的驱动程序。
下一步是测试现存的配置文件, 以确认 Xorg 能够同系统上的图形设备正常工作。 要完成这个任务,只需:
# Xorg -config xorg.conf.new
XFree86 用户应:
# XFree86 -xf86config XF86Config.new
如果用户看到一个黑灰的格子和一个 X 形的鼠标指针,那么配置就是成功 的。要退出测试,只要同时键入 Ctrl+Alt+Backspace。
注意: 如果鼠标工作不正常, 则需要先配置它。 参见 FreeBSD 安装一张中的 第 2.9.10 节。
接下来是调整 xorg.conf.new (或 XF86Config.new, 如果运行 XFree86 的话) 配置文件并作测试。 用文本编辑器如 emacs(1) 或 ee(1) 打开这个文件。 要做的第一件事是为当前系统的显示器设置刷新率。 这些值包括垂直和水平的同步频率。 把它们加到 xorg.conf.new 的 "Monitor" 小节中:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection
HorizSync 和 VertRefresh 在配置文件中可能没有。 如果是这样的话, 就需要添加它们, 并在 HorizSync 以及 VertRefresh 后面设置合适的数值。 在上面的例子中, 给出了相应的显示其的参数。
X 能够利用显示器所支持的 DPMS (能源之星) 功能。 xset(1) 程序可以控制超时时间, 并强制待机、挂起或关机。 如果希望启用显示器的 DPMS 功能, 则需要把下面的设置添加到 monitor 节中:
Option "DPMS"
关闭 xorg.conf.new (或 XF86Config.new) 之前还应该选择默认的分辨率和色深。 这是在 "Screen" 小节中定义的:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection
DefaultDepth 关键字描述了要运行的默认色深。 这可以通过 Xorg(1) (或
XFree86(1)) 的
-depth
命令行开关来替代配置文件中的设置。 Modes 关键字描述了给定颜色深度下屏幕的分辨率。 需要说明的是,
目标系统的图形硬件只支持由 VESA 定义的标准模式。 前面的例子中, 默认色深是使用 24位色。
在采用这个色深时, 允许的分辨率是 1024x768。
最后就是将配置文件存盘, 并使用前面介绍的测试模式测试一下。
注意: 在发现并解决问题的过程中可以帮助您的工具之一就是 X11 的日志文件,包含了与 X11 服务器相关的每个设备的信息。 Xorg 日志的文件名是 /var/log/Xorg.0.log 这样的格式 (XFree86 日志文件名是 XFree86.0.log 这样的格式)。日志的准确的名字 可以从 Xorg.0.log 到 Xorg.8.log 等等。
如果一切准备停当, 就可以把配置文件放到公共的目录中了。 您可以在 Xorg(1) (或 XFree86(1)) 里面找到具体位置。 这个位置通常是 /etc/X11/xorg.conf 或 /usr/X11R6/etc/X11/xorg.conf (对于 XFree86 它应该是 /etc/X11/XF86Config 或 /usr/X11R6/etc/X11/XF86Config)。
# cp xorg.conf.new /etc/X11/xorg.conf
For XFree86:
# cp XF86Config.new /etc/X11/XF86Config
现在已经完成了 X11 的配置全过程。 为了使用 startx(1) 来启动 XFree86 4.X 需要安装 x11/wrapper port。 Xorg 已经包含了 wrapper 代码, 因此并不需要安装 wrapper port。 X11 服务器也可以用 xdm(1) 来启动。
注意: 有一个图形配置工具, xorgcfg(1) (对于 XFree86 来说, 是 xf86cfg(1)), 随 X11 软件包一同安装。 它可以通过选择合适的驱动和设置交互式地定义配置。 这个程序可以从控制台通过命令 xorgcfg -textmode 来直接启动。 与了解详情, 请参考 xorgcfg(1) 和 xf86cfg(1) 的联机手册。
另外还有一个叫做 xorgconfig(1) 的文本界面配置工具 (对于 XFree86 是 xf86config(1)), 这是一个控制台工具因此对用户显得不太友好, 不过当其他工具无法工作时, 它仍然可能可以使用。
配置Intel i810芯片组的显示卡需要有针对 X11 的能够用来驱动显示卡的 agpgart AGP程序接口。 请参见 agp(4) 驱动程序的联机手册了解更多细节。
这也适用于其他的图形卡硬件配置。 注意如果系统没有将 agp(4) 驱动程序编译进内核,尝试用 kldload(8) 加载模块是无效的。 这个驱动程序必须编译进内核或者使用 /boot/loader.conf 在启动时加载进入内核。
如果您正在使用 XFree86 4.1.0 (或者以后的 版本) 并且出现了像 fbPictureInit 这样未解决的符号提示, 试着在 X11 配置文件里的 Driver "i810" 一行后面加入下面这行:
Option "NoDDC"
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<[email protected]>.
关于本文档的问题请发信联系 <[email protected]>.