关于xorg.conf配置

其实我感觉初学者就是应该找一些这样的资料来进行分析和有关的学习 !!!

X配置文件xorg.conf分析

转载于:http://blog.csdn.net/comcat/archive/2007/04/02/1549658.aspx

作者:壮志凌云的csdn博客


X的配置,实际上就是生成 /etc/X11/xorg.conf 这个文件。


通常的配置主要对以下的Section作操作:

a. 显示器的信息写在该节

Section “Monitor”

Identifier “monitor0”
VendorName “VSC”
ModelName “VSC1609 ”
HorizSync 30 – 70
VertRefresh 50 - 160
ModeLine “...” --------->指定显示器的显示模式,很重要。
...
ModeLine “...”

Endsection

ModeLine 可以用ddcxinfo-knoppix直接生成。(通过检测你的显卡和显示器)
或者通过gtf 直接计算标准的VESA mode lines。如:

gtf 1024 768 85

则生成:

# 1024x768 @ 85.00 Hz (GTF) hsync: 68.60 kHz; pclk: 94.39 MHz
Modeline "1024x768_85.00" 94.39 1024 1088 1200 1376 768 769 772 807 -HSync +Vsync

要成为高手,能手工微调的话参考:
http://www.tldp.org/HOWTO/XFree86-Video-Timings-HOWTO/
中文版: http://man.chinaunix.net/linux/how/XFree86-Video-Timings-HOWTO.html
作者Eric S. Raymond,勿须多言了。


b. 显卡信息写在该节

Section “Device”

Identifier “card0”
VendorName “Intel”
BoardName “Intel Corporation 82845G/GL/GE Chipset Integrated Graphics Device”
Driver “i810”
BusID “PCI:0:2:0”

Endseciton

PS: 一个PCI外设由BusID(8bit):DeviceID(5bit):FunctionID(3bit)来描述。在xorg.conf 中需用十进制表示。
一般PCI接口的显卡的总线编号为0,AGP接口的显卡的总线编号为1。
单显卡的情况下可以没有BusID这一行。

X所用之所有驱动都安装在/usr/X11R6/lib/modules/drivers/ ,官方驱动亦是。
(注: 最新版本的Xorg,其驱动位于 /usr/lib/xorg/modules/drivers/ )
比如安装了官方的nvidia驱动后,会在上述目录中放置nvidia_drv.o文件,则在上节中指定:

Driver “nvidia” (X自带的驱动为nv,相应的文件为nv_drv.so)


c. 一个显卡和一个显示器则组成一个screen,用Section “Screen” 描述。


Section “Screen”

Identifier “screen0”
Device “card0”
Monitor “monitor0”
DefaultDepth 24

SubSection “Display”
Depth 24
Modes “1024x768” “800x600” “640x480”
EndSubSection
...

EndSection

若还有一块显卡,其上也接一显示器则再加一Section “Screen”描述。

Section “Screen”

Identifier “screen1”
Device “card1”
Monitor “monitor1”
DefaultDepth 24

SubSection “Display”
Depth 24
Modes “1024x768” “800x600” “640x480”
EndSubSection
...

EndSection


d. 若有两套独立的显卡显示器,则需在Section “ServerLayout”中对多个screen进行组织。

Section “ServerLayout”

Identifier “multihead layout”
Screen 0 “screen0” 0 768
Screen 1 “screen1” 0 0
...
Option “Xinerama” “on” ------------------->扩展桌面,off则为个体桌面

EndSection

PS: 其他常用的Option :

Option "DontZap" 屏蔽 <Ctrl>+<Alt>+<Backspace>
Option "DontVTSwitch" 屏蔽<Ctrl>+<Alt>+<Fn> 的控制台的切换

更多选项参阅xorg.conf 的man手册

XF86Config说明
文件的每节都是由下述的部分组成:

Section "SectionName"
SectionEntry

EndSection

SectionName包括:

Files      文件路径名
ServerFlags    服务器标志
Module      动态模块加载
InputDevice    输入设备描述
Device      图形设备描述
VideoAdaptor    Xv视频卡描述
Monitor      监视器描述
Modes       视频模式描述
Screen      屏幕配置
ServerLayout    全面的层叠
DRI      DRI特定的配置
Vendor      供应商特定的配置


出于向下兼容的目的,下列项虽已废除但是配置文件仍能识别。在新的配置文件中,应使用新的InputDevice项。
Keyboard 键盘配置
Pointer 指针/鼠标配置
老的XInput节已经被废除。

ServerLayout在最高层。它们绑定的输入输出设备会在这一节里使用。输入设备由InputDevice描述,
输出设备通常有多个独立的组件组成。多个组件组成Screen节。每个Screen节将图形板和监视器绑定在一起。
显示卡由Device节描述,监视器由Monitor节描述。
RGBPath "path"
rgb颜色数据库的路径,缺省值为:/usr/X11R6/lib/X11/rgb。


Option "AllowMouseOpenFail" "boolean"
即使鼠标设备不能被打开/初始化也允许X服务器启动




1)Layout主节点包括Mouse/Keyboard和Screen

Section "ServerLayout"

Identifier "Layout0"
Screen "Screen0"
#Screen "Screen1" Below "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"

EndSection


2)扩展支持

Section "ServerFlags"

option "Xinerama" "on"和dri有冲突

EndSection

3)定义mouse

主设备号可以在/proc/devices找到。每一个物理设备由设备驱动程序控
制且被分配一个次设备号

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol"  "ImPS/2"    (键位说明)
Option "ZAxisMapping"  "4 5"
Option "Device"   "/dev/input/mice" (如果是ps/2的接口)
EndSection
Emulate3Buttons是否模拟3键鼠标

4)定义字体

ection "Files"

RgbPath  "/usr/X11R6/lib/X11/rgb"
FontPath  "/usr/X11R6/lib/X11/fonts/local/"
FontPath  "/usr/X11R6/lib/X11/fonts/misc/"
FontPath  "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath  "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath  "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath  "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath  "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath  "/usr/X11R6/lib/X11/fonts/100dpi/"

#FontPath   "unix/:7100"
EndSection

5)定义显卡
Section "Device"
Identifier "Videocard0"
Option "DesktopSetup"    "0x00000000"
Driver  "fglrx"(说明驱动/usr/X11R6/lib/modules/drivers)
VendorName "ATI"
BoardName  "ATI Radeon 7000"
BusID  "PCI:1:0:0" (lspci和scanpci -v得到)
Screen0
EndSection

6)定义ddcprobe(显示器)
Section "Monitor"

Identifier  "Monitor0"
VendorName  "Sony"
ModelName  "Sony CPD-G520"
HorizSync  30.0 - 121.0 改刷新率 (横显示器 )
VertRefresh 48.0 - 160.0 改刷新率 (纵显示器-分辨率 )
Option  "dpms"
EndSection

7)附加的模块

Section "Module"
Load "dbe" 
Load "extmod"
Load "fbdevhw"
Load "glx"
Load "record"
Load "freetype"
Load "type1"
#Load "dri"

EndSection

说明对DRI的使用者

#Section "DRI"
#Group  10
#Mode  0666
#EndSection

定义关联

Section "Screen"
Identifier "Screen1" 
Device   "Videocard0" 定义显卡
Monitor  "Monitor1"  显示器
DefaultDepth   24  色深
SubSection "Display"  
Viewport  0 0    虚拟屏
Depth   24
Modes  "1024x768"  屏幕分辨率
EndSubSection
EndSection

VideoRam mem
此选项指定图形卡的RAM数量,以KB为单位。X服务程序会自动探测显示卡,所以此字段一定不要指定。'

我用的是cent OS的linux ,主板上的显示芯片是intel的852GM,我在xp下设置双显没有问题,可是在linux下修改完/etc/X11/xorg.conf的内容后tv上没有信号输出,crt可以正常显示。
经过本人研究终于解决了问题,现在供大家参考

在图形界面下以root身份登陆,修改/etc/X11/xorg.conf文件,下面是修改后的内容。


Section "ServerLayout"

Identifier "Multihead layout"

Screen 0 "Screen0" LeftOf "Screen1"

Screen 1 "Screen1" 0 0

InputDevice "Mouse0" "CorePointer"

InputDevice "Keyboard0" "CoreKeyboard"

Option "Xinerama" "on"

Option "MonitorLayout" "anystr"

Option "Clone" "off"

EndSection




Section "Files"



RgbPath "/usr/X11R6/lib/X11/rgb"

FontPath "unix/:7100"

EndSection





Section "Module"

Load "dbe"

Load "extmod"

Load "fbdevhw"

Load "glx"

Load "record"

Load "freetype"

Load "type1"

Load "dri"

EndSection





Section "InputDevice"

Identifier "Keyboard0"

Driver "kbd"

Option "XkbModel" "pc105"

Option "XkbLayout" "us"

EndSection





Section "InputDevice"

Identifier "Mouse0"

Driver "mouse"

Option "Protocol" "IMPS/2"

Option "Device" "/dev/input/mice"

Option "ZAxisMapping" "4 5"

Option "Emulate3Buttons" "yes"

EndSection





Section "Monitor"

Identifier "Monitor0"

VendorName "Monitor Vendor"

ModelName "SyncMaster"

DisplaySize 320 240

HorizSync 30.0 - 71.0

VertRefresh 50.0 - 160.0

Option "dpms"

Option "MonitorLayout" "CRT,TV"

EndSection




Section "Monitor"

Identifier "Monitor1"

VendorName "Monitor Vendor"

ModelName "LCD Panel 800x600"

HorizSync 31.5 - 37.9

VertRefresh 40.0 - 70.0

Option "MetaModes" "800x600"

Option "TVOutFormat" "COMPOSITE"

OPtion "TVStandard" "NTSC-M"

Option "ConnectedMonitor" "TV"

Option "dpms"

Option "MonitorLayout" "CRT,TV"

EndSection





Section "Device"

Identifier "Videocard0"

Driver "i810"

VendorName "Videocard vendor"

BoardName "Intel 852"

EndSection





Section "Device"

Identifier "Videocard1"

Driver "i810"

VendorName "Videocard Vendor"

BoardName "Intel 852"

BusID "PCI:0:2:0"

Screen 1

EndSection





Section "Screen"

Identifier "Screen0"

Device "Videocard0"

Monitor "Monitor0"

DefaultDepth 24


SubSection "Display"

Viewport 0 0

Depth 16

Modes "800x600" "640x480"

EndSubSection


SubSection "Display"

Viewport 0 0

Depth 24

Modes "800x600" "640x480"

EndSubSection

EndSection




Section "Screen"

Identifier "Screen1"

Device "Videocard1"

Monitor "Monitor1"

DefaultDepth 24


SubSection "Display"

Viewport 0 0

Depth 24

Modes "800x600"

EndSubSection

EndSection





Section "DRI"

Group 0

Mode 0666

EndSection
双屏配置
2007-11-17 20:11

一直不知道i915的显卡还能使用MergedFB,原来在试验双显示器的时候,只用过Xinerama,但Xinerama使用后会禁止DRI,导致不能使用硬件加速以及AIGLX和XGL等三维效果。

主要的配置都在/etc/X11/xorg.conf的文件里。
关键的部分,一个是在Device节里:

Option "MergedFB" "true"

另外一个部分是在Screen节里:

SubSection "Display"
Depth 24
Virtual 1560 1024
EndSubSection

SubSection "Display"
Depth 24
Modes "1400x1050 1280x1024 1024x768"
EndSubSection

要添加一个Virtual的桌面大小定义。通常这个Virtual的桌面就是两个显示器的分辨率之和。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值