xml地图|网站地图|网站标签 [设为首页] [加入收藏]

能源节能

当前位置:手机网投123 > 能源节能 > FreeBSD 使用手册

FreeBSD 使用手册

来源:http://www.hshlvy.com 作者:手机网投123 时间:2019-09-24 14:48

5.4.3.1 配置 Intel® i810 显示芯片组

  配置Intel i810芯片组的显示卡需要有针对 X11 的能够用来驱动显示卡的 agpgart AGP程序接口。 请参见 agp(4) 驱动程序的联机手册了解更多细节。

  这也适用于其他的图形卡硬件配置。 注意如果系统没有将 agp(4) 驱动程序编译进内核,尝试用 kldload(8) 加载模块是无效的。 这个驱动程序必须编译进内核或者使用 /boot/loader.conf 在启动时加载进入内核。

AH = 0x4F04

配置 X11Contributed by Christopher Shumway.

下设备的配置过程是指在检测到设备类型、设备当前工作参数等信息之后,使用这些信息来配置设备的驱动程序,工作方式等,设备的...

5.4.3.2 添加宽屏平板显示器

  这一节假定您了解一些关于高级配置的知识。如果使用前面的标准配置工具不能产生可用的配置,则在日志文件中提供的信息应该足以修正配置使其正确工作。 如果需要的话,您应使用一个文本编辑器来完成这项工作。

  目前的宽屏 (WSXGA、 WSXGA+、 WUXGA、 WXGA、 WXGA+, 等等) 支持 16:10 和 10:9 或一些支持不大好的显示比例。 常见的一些 16:10 比例的分辨率包括:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

  有时, 也可以简单地把这些分辨率作为 Section "Screen" 中的 Mode 来进行配置, 类似下面这样:

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
    Viewport  0 0
    Depth     24
    Modes     "1680x1050"
EndSubSection
EndSection

  Xorg 能够自动地通过 I2C/DDC 信息来自动获取宽屏显示器的分辨率信息, 并处理显示器支持的频率和分辨率。

  如果驱动程序没有对应的 ModeLines, 就需要给 Xorg 一些提示了。 使用 /var/log/Xorg.0.log 能够提取足够的信息, 就可以写一个可用的 ModeLine 了。 这类信息如下所示:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

  这些信息称做 EDID 信息。 从中建立 ModeLine 只是把这些数据重新排列顺序而已:

ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

  如此, 本例中的 Section "Monitor" 中的 ModeLine 应类似下面的形式:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

  经过简单的编辑步骤之后, X 就可以在您的宽屏显示器上启动了。

为了和3.x版本的XFree86向下兼容,由此字段指定此显示卡在XFree86 3.x下的X服务器,例如VGA16,SVGA等。

5.4.2 配置 X11

  对于 Xorg 7.3 这个版本,可以不需要任何的配置文件就能运行,在提示符下键如下命令:

% startx

  从 Xorg 7.4 开始, 可以使用 HAL 自动检测键盘和鼠标。Ports sysutils/haldevel/dbus 将被作为 x11/xorg 所依赖的包安装进系统。 并且需要在 /etc/rc.conf 文件中启用:

hald_enable="YES"
dbus_enable="YES"

  在更深入的配置 Xorg 以前, 需要运行这些服务 (手工启动或者重启机器)。

  自动配置对于某些硬件可能不起作用或者无法做到期望的配置。在这种情况下就有必要做一些手工配置。

注意: 诸如 GNOMEKDEXfce 之类的桌面环境, 大多都提供了一些允许用户非常易用的工具,来设置像分辨率这样的显示参数。 所以如果你觉得默认的配置并不适合,而且你打算安装一个这样的桌面环境, 那么就请继续完成桌面环境的安装,并使用适合的显示设置工具。

  配置 X11 需要一些步骤。 第一步是以超级用户的身份建立初始的配置文件:

# Xorg -configure

  这会在 /root 中生成一个叫做 xorg.conf.new 的配置文件 (无论您使用 su(1) 或直接登录,都会改变默认的 $HOME 目录变量)。 X11 程序将尝试探测系统中的图形硬件,并将探测到的硬件信息写入配置文件,以便加载正确的驱动程序。

  下一步是测试现存的配置文件, 以确认 Xorg 能够同系统上的图形设备正常工作。 对于 Xorg 7.3 或者之前的版本, 键入:

# Xorg -config xorg.conf.new

  从 Xorg 7.4 和更高的版本开始,这个测试将显示出一个黑色的屏幕,对于判断 X11 是否能正常工作会造成一些困扰。 可以通过 retro 选项使用旧的模式:

# Xorg -config xorg.conf.new -retro

  如果看到黑灰的格子以及 X 型鼠标指针, 就表示配置成功了。 要退出测试, 需要同时按下 Ctrl+Alt+Fn 来切换到用于启动 X 的虚拟控制台 (F1 表示第一个虚拟控制台) 之后按 Ctrl+C

注意:Xorg 7.3 以及更早期的版本中, 应使用 Ctrl+Alt+Backspace 组合键来强制退出 Xorg。 如果需要在 7.4 和之后的版本中启用这个组合键, 可以在任意 X 终端模拟器中输入下面的命令:

% setxkbmap -option terminate:ctrl_alt_bksp

或者为 hald 创建一个叫作 x11-input.fdi 的键盘配置文件并保存至 /usr/local/etc/hal/fdi/policy 目录。 这个文件需包含以下这些:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
    </match>
  </device>
</deviceinfo>

你可能需要重启你的机器来使得 hald 重新读取这个文件。

此外, 还需要在 xorg.conf.new 中的 ServerLayoutServerFlags 小节中添加:

Option "DontZap"   "off"

  如果鼠标无法正常工作, 在继续深入之前需要先配置它。 参阅 FreeBSD 安装一章中的 第 2.10.10 节。 另外, 从 7.4 版本开始, xorg.conf 中的 InputDevice 部分将被忽略,这有助于自动检测硬件设备。 可以在这个文件中的 ServerLayout 或者 ServerFlags 加入以下选项使用旧的模式:

Option "AutoAddDevices" "false"

  输入设备连同其他需要的选项 (比如, 键盘布局切换) 就可以像在之前的版本中的那样配置了。

注意: 正如前面所提到的, 自版本 7.4 开始 hald 守护进程默认自动检测你的键盘。 可能检测出你的键盘布局或型号有差异, 在桌面环境中, 比如 GNOMEKDE 或者 Xfce 提供了工具来配置键盘。 另一方面, 也可在 class="CITEREFENTRY"> class="REFENTRYTITLE">setxkbmap(1) 工具的帮助下或者通过 hald 的配置文件来直接设置键盘的属性。

举例来说, 如果某人想要使用一个 PC 102 键法语布局的键盘, 我们就需要为 hald 创建一个配置文件, 叫作 x11-input.fdi 并保存入 /usr/local/etc/hal/fdi/policy 目录。 这个文件需要包含如下这些:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
      <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
    </match>
  </device>
</deviceinfo>

如果这个文件已经存在, 只要把键盘配置相关的部分拷贝加入即可。

你需要重启你的机器使 hald 读入此文件。

也可以在 X 模拟终端或一个脚本中使用以下的命令达到相同的效果:

% setxkbmap -model pc102 -layout fr

/usr/local/share/X11/xkb/rules/base.lst 列出了各种不同的键盘, 布局和可用的选项。

  接下来是调整 xorg.conf.new 配置文件并作测试。用文本编辑器如 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

  在配置文件中也有可能没有 HorizSyncVertRefresh。 如果是这样的话, 就只能手动添加, 并在 HorizSyncVertRefresh 后面设置合适的数值了。 在上面的例子中, 给出了相应的显示器的参数。

  X 能够使用显示器所支持的 DPMS (能源之星) 功能。 xset(1) 程序可以控制超时时间, 并强制待机、挂起或关机。 如果希望启用显示器的 DPMS 功能,则需要把下面的设置添加到 monitor 节中:

        Option       "DPMS"

  关闭 xorg.conf.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) 的 -depth 命令行开关来替代配置文件中的设置。 Modes 关键字描述了给定颜色深度下屏幕的分辨率。 需要说明的是,目标系统的图形硬件只支持由 VESA 定义的标准模式。 前面的例子中, 默认色深是使用 24位色。在采用这个色深时, 允许的分辨率是 1024x768。

  最后就是将配置文件存盘, 并使用前面介绍的测试模式测试一下。

注意: 在发现并解决问题的过程中, 包含了与 X11 服务器相关的各个设备的信息的 X11 日志文件会为您发现和排除问题有所帮助。 Xorg 日志的文件名是 /var/log/Xorg.0.log 这样的格式。 实际的日志文件名可能是 Xorg.0.logXorg.8.log 等等。

  如果一切准备妥当, 就可以把配置文件放到公共的目录中了。 您可以在 Xorg(1) 里面找到具体位置。 这个位置通常是 /etc/X11/xorg.conf/usr/local/etc/X11/xorg.conf

# cp xorg.conf.new /etc/X11/xorg.conf

  现在已经完成了 X11 的配置全过程。 Xorg 可以通过 startx(1) 工具来启动。 除此之外, X11 服务器也可以用 xdm(1) 来启动。

此显示卡无时钟芯片

5.4.3 高级配置主题

显示分辨率 垂直扫描频率Hz) 水平扫描频率kHz)

5.4.1 开始之前

  在配置 X11 之前, 您需要了解所安装的系统的下列信息:

  • 显示器规格

  • 显示卡的芯片类型

  • 显示卡的显存容量

  显示器的规格被 X11 用来决定显示的分辨率和刷新率。这些规格通常可以从显示器所带的文档中, 以及制造商的网站找到。 需要知道两个数字范围:垂直刷新率和水平刷新率。

  显示卡的芯片类型将决定 X11 使用什么模块来驱动图形硬件。尽管系统能自动检测出绝大多数的硬件, 但事先了解在自动检测出错的时候还是很有用处的。

  显示卡的显存大小决定了系统支持的分辨率和颜色深度。 了解这些限制非常重要。

此类型的显卡,此版本的XFree86不能提供支持

800x600 72 48.00

对于编程实现,如果您要调用上述bios中断,那么必须使用lrmi这个实模式接口,并设置正确的寄存器信息,完成系统调用。具体的检测显示器信息的例子,您可以参考Xconfigurator下ddcprobe的源程序,也可以参考Mandrake系统下的ddcxinfos命令的源程序。

NAME

表示Number Nine GXE64的显示卡配置与S3 Trio64 (generic)的配置完全相同。

640x480 60 31.50

在配置完显示器之后,您就需要生成与显示卡对应的描述了。这样的描述信息对应XF86Config文件的Device节。这一节主要描述的显示卡信息包括:显示卡对应的X服务器X版本在3.x),对应的X设备模块X版本为4.x),显示卡的设备信息供应商、型号、支持显存存取方式和显存大小等),以及此显示卡支持的设备选项,比如显示卡是否支持硬件加速、是否支持软光标等。生成窗口系统的配置过程一般是先由pci的设备标识检测过程见)获得显示卡的类型,由此在XFree86的配置文件CardDB这个文件可在/usr/X11R6/lib/X11/目录下找到)中查得它对应的显示卡描述,由此信息可以设置此节的描述。

SERVER SVGA

可能需要的BIOS子功能调用为:

其一是需要一个详尽的设备信息文件,这个文件描述了设备标识、与设备标识对应的设备驱动程序、设备配置参数设备选项)、设备设置的详细描述、设备配置方法描述、设备对应的别名、设备的主设备号等信息。

CLOCKCHIP

在X版本是3.x时,键盘和鼠标的描述分别对应Keyboard和Pointer节。而在X版本是4.x时,键盘和鼠标的描述都对应InputDevice节,只是对应不同的驱动模块,键盘的驱动模块是keyboard,鼠标的驱动模块是mouse。配置这两节所需要的信息可以从/etc/sysconfig/keyboard和/etc/sysconfig/mouse中获得,它们的详细内容,本文的前面章节已作了介绍。

是指此显示卡的配置信息与SEE字段所制定的显示卡完全相同,例如

直接存取控制的速度

1024x768 100 80.21

在生成了/etc/X11/XF86ConfigXF86Config-4)文件后,您就可以测试一下此配置文件是否正确了。例如,对于XFree86 4.x,生成的配置文件为/etc/X11/XF86Config.test,测试使用如下命令:

窗口系统XFree86)的配置过程

由显示器读出的信息可以设置XF86Config的Monitor节,对于设置了正确的垂直回扫频率范围和水平回扫频率范围的显示器,X自动设置为当前显示分辨率下支持的最高扫描频率的显示模式此显示模式要求有对应的Modeline)。

描述显示卡使用的芯片集

LINE

DACSPEED

UNSUPPORTED

一般而言,如果是编程实现X的配置过程的话,则要以子进程的方式系统调用fork)运行上述命令,在成功启动X服务器之后,运行一个小的图形化程序,让用户选择配置是否成功。

NOCLOCKPROBE

800x600 60 37.80

对于显示器的信息检测,要求它必须支持vbeVESA的BIOS级扩展)。在显示器支持此扩展时,通过系统实模式下的BIOS调用INT 10H,可以取得显示器的详细信息。

1024x768 60 48.40

800x600 85 55.84

1024x768 76 62.50

SERVER

表 6-1

获得关于监视器的VESA的BIOS级扩展信息

1600x1200 60 75.00

:9 表示在终端9上运行X服务器

1600x1200 85 105.77

配置显示器实际上是生成XF86Config文件的Monitor节,需要配置的信息一般包括:水平扫描频率范围、垂直扫描频率范围、监视器支持的显示模式、制造商信息。对于支持vbe和edid扩展的显示器,可以根据从显示器上读出的信息设置对应字段的值。但是如果显示器不支持上述扩展,则显示卡的设置必须由用户手动完成。如果您在配置XFree86时不指定这一节,那么XFree86会设置显示模式为640x480,垂直扫描频率为60hz的方式。不同显示模式的扫描频率:

无论是那个版本的XF86Config文件都是由许多节Section)构成的,但是这些节描述的内容主要包括:键盘、鼠标、显示器、显示卡、字体颜色)等。

CHIPSET RIVATNT

XFree86 -probeonly :9

1600x1200 70 87.50

注释

Linux下设备的配置过程是指在检测到设备类型、设备当前工作参数等信息之后,使用这些信息来配置设备的驱动程序,工作方式等,设备的检测过程参见 《如何在Linux下实现硬件的自动检测》)。要完成这样的任务,需要做两方面的工作:

设置显示卡特定的选项信息,这样的选项信息出现在XF86Config的Device节,对应设备的Option参数。

AH = 0x4F00

NAME RIVA TNT

但是如果您的显示器不支持EDID扩展信息,那么您就只有根据经验来设置显示器的垂直回扫频率范围和水平回扫频率范围。如果设置的范围高于监视器的实际支持范围,那么显示器会出现黑屏的现象。

要正确的在linux下配置窗口系统,实际上就是生成正确的XFree86配置文件,这个文件一般保存在/etc/X11/下,在X版本是3.x时,它的文件名为XF86Config,在X版本是4.x时,它的文件名一般为XF86Config-4。在现在的发行版本中,处于硬件兼容性的考虑,他们一般都让这两个版本的XFree86包共存。因此,您也可以在/etc/X11目录下,发现这两个文件同时存在,这时使用那个文件就要看系统的X服务器的版本了。

显示卡的描述名称

3. 窗口系统的配置过程

640x480 72 36.50

SEE

对于正常的启动XFree86之后,系统输出的信息,您可以通过读取/var/log/XFree86.x.log获得。x是指XFree86启动的终端,一般设置此x为0。

1280x1024 85 91.15

1024x768 70 56.50

设置当前的视频模式

NOCLOCKCHIP

1. 显示卡的描述文件介绍CardDB)

1600x1200 75 93.75

在XF86Config文件配置之后,您可以使用startx启动XFree86。这个文件会运行您的登录目录下的.xinitrc文件来修改X Window系统的初始显示状态。这个文件是一个脚本文件。如果这个文件不存在,系统就会默认使用/usr/X11R6/lib/X11/xinit/xinitrc。同时,startx还要查找/etc/X11/X,这个文件是一个链接文件,它指向真正的X服务程序,现在这个程序一般都指向Xwrappers,它?嵌訶服务程序的封装。当然,这个文件也可以直接指向X服务程序XFree86。

AH = 0x4F02

当然,如果您不能得到显卡的详细的设备参数的话,您也可以使用probeonly选项获得显示卡的详细信息。例如,对于XFree86 4.x测试使用如下命令:

最后,您还必须生成ServerLayout节,由它描述整个系统所使用的显示卡配置节、监视器配置节、鼠标配置节、键盘配置节等信息。

XFree86 -xf86config /etc/X11/XF86Config.test :9

1280x1024 76 81.13

NAME Number Nine GXE64 with S3 Trio64

AH = 0x4F03

2. 显示器信息检测

在生成配置脚本时,扫描频率的范围也不是越低越好。设置较低的扫描频率范围对于部分LCD显示器就不合适。比如,一部分LCD显示器在800x600分辨率时,最低支持的垂直扫描频率为70Hz,那么您这时指定的水平回扫范围一定要包含48kHz。

AH = 0x4F01

640x480 85 43.27

其二是需要根据设备的类型,以及安装的linux系统版本不同的Linux发行版对于同一设备的配置脚本文件存在差异),设置设备对应的配置脚本文件。

1280x1024 70 74.59

AH = 0x4F15

保存/还原svga显示方式

-xf86config /etc/X11/XF86Config.test表示使用指定的配置文件启动X服务器

字体和调色板信息描述的是字体和调色板所存放的路径,您如果新加入字体时,需要在此加入正确的字体路径。设置字体路径时,如果指定它为unix:-1,那么就是说您在启动X服务器之前,必须首先启动字体服务器xfs,然后由字体服务器完成字体的访问请求。

1280x1024 74 78.85

DRIVER nv

1280x1024 100 107.16

在您正确的设置了上述信息之后,您必须将这些信息存放在Screen节中。这一节描述的是完成显示对应的显示卡,显示器,分辨率和缺省深度等信息。

RAM直接存取控制的控制芯片型号

例如,对于RIVA TNT显卡,XFree86 4.1.0中的信息如下:

DRIVER

显示器的信息在XFree86系统中时非常重要的,它对应XFree86配置文件的Monitor节。在这一节中包含监视器的水平扫描频率范围,垂直扫描频率范围,显示器支持的显示模式等信息。同样的,显示器的自动检测也就是通过程序自动读出显示器的上述信息。它的正确设置对于XFree86能否正常显示起到很重要的作用。

CardDB是X配置程序使用的显示卡数据文件。在对XFree86进行配置时,配置程序一般都需要读取其上的内容完成显示卡的配置。它的内容与使用的XFree86的版本密切相关。一般而言,它保存的位置是在/usr/X11R6/lib/X11/目录下。现在我们就对XFree86 4.1.0的CardDB文件进行简单的介绍:

从上表可以看出,您要设置显示器达到某一分辨率,那么与此相对应,它的扫描频率范围也要包含上表中此分辨率的最低扫描频率。如果您的显示器达不到这个范围,那么XWindow将无法正常工作。如果您设置的扫描频率高于显示器实际的扫描频率范围,由于XFree86会寻找对应分辨率下最高扫描频率进行显示,所以此时XWindow将极有可能黑屏。

获得监视器支持的特定显示模式

描述在4.x版本的XFree86下显示卡的驱动程序模块。

此显示卡的时钟芯片的

获得监视器的EDID扩展信息

1024x768 85 70.24

800x600 100 64.02

获得当前的视频模式

RAMDAC

COMMENT

1280x1024 61 64.20

640x480 75 37.50

一般的显示器使用上述中断的方式是:先检查显示器是否支持VESA的BIOS级扩展,如果显示器支持BIOS级扩展,就查看显示器支持的显示模式,然后获得显示器的EDID扩展信息。在读出的EDID扩展信息中,可以查出显示器的垂直回扫频率范围和水平回扫频率范围,也可以计算出显示器的大小,对于一部分显示器还可以从此信息中读出监视器的制造商信息。

CHIPSET

SEE S3 Trio64 (generic)

本文由手机网投123发布于能源节能,转载请注明出处:FreeBSD 使用手册

关键词:

上一篇:番薯情节

下一篇:没有了