|
|

楼主 |
发表于 2007-10-9 14:04:34
|
显示全部楼层
终于有时间坐下来慢慢研究这个问题了。结果立刻就发现如果我把xorg.conf移开,xserver就会用default的xorg.conf然后问题居然就神奇地消失了!
- Section "Module"
- Load "extmod"
- Load "dbe"
- Load "glx"
- Load "freetype"
- Load "type1"
- Load "record"
- Load "dri"
- EndSection
- Section "Monitor"
- Identifier "Builtin Default Monitor"
- EndSection
- Section "Device"
- Identifier "Builtin Default ati Device 0"
- Driver "ati"
- EndSection
- Section "Screen"
- Identifier "Builtin Default ati Screen 0"
- Device "Builtin Default ati Device 0"
- Monitor "Builtin Default Monitor"
- EndSection
- Section "Device"
- Identifier "Builtin Default fbdev Device 0"
- Driver "fbdev"
- EndSection
- Section "Screen"
- Identifier "Builtin Default fbdev Screen 0"
- Device "Builtin Default fbdev Device 0"
- Monitor "Builtin Default Monitor"
- EndSection
- Section "Device"
- Identifier "Builtin Default vesa Device 0"
- Driver "vesa"
- EndSection
- Section "Screen"
- Identifier "Builtin Default vesa Screen 0"
- Device "Builtin Default vesa Device 0"
- Monitor "Builtin Default Monitor"
- EndSection
- Section "Device"
- Identifier "Builtin Default vga Device 0"
- Driver "vga"
- EndSection
- Section "Screen"
- Identifier "Builtin Default vga Screen 0"
- Device "Builtin Default vga Device 0"
- Monitor "Builtin Default Monitor"
- EndSection
- Section "ServerLayout"
- Identifier "Builtin Default Layout"
- Screen "Builtin Default ati Screen 0"
- Screen "Builtin Default fbdev Screen 0"
- Screen "Builtin Default vesa Screen 0"
- Screen "Builtin Default vga Screen 0"
- EndSection
复制代码
观察之下发现了它有好几个screen
所以我就修改我自己的xorg.conf,在ServerLayout下增加了一個用fbdev的screen:
- Section "ServerLayout"
- Identifier "Server Layout"
- Screen "ATI Screen 0"
- Screen "fbdev Screen 0"
- ...
- EndSection
- ...
- Section "Device"
- Identifier "fbdev Device 0"
- Driver "fbdev"
- BusID "PCI:1:0:0"
- EndSection
- Section "Screen"
- Identifier "fbdev Screen 0"
- Device "fbdev Device 0"
- Monitor "ThinkPad Internal LCD"
- EndSection
复制代码
然后问题同样地消失了!最奇怪地是,我读了Xorg.0.log发现fbdev那个screen居然没有被启动因为我根本没有安装xf86-video-fbdev。然后我就comment out ServerLayout里地fbdev那个screen。问题又回来了!奇怪!接下来我加了'fbdev'到我/etc/make.conf的video里去。update world之后,又重试一次(serverlayout里的fbdev screen还是没有启动)。问题居然又不见了!!
结果,我找到了解决的方法,但就完全不懂为什么有问题。我再看了一下xorg.0.log发现x现在会load一個叫fb的东西:
- (II) Loading sub module "fb"
- (II) LoadModule: "fb"
- (II) Loading /usr/lib/xorg/modules//libfb.so
- (II) Module fb: vendor="X.Org Foundation"
- compiled for 1.4.0, module version = 1.0.0
- ABI class: X.Org ANSI C Emulation, version 0.3
复制代码
难道emerge xf86-video-fbdev就是为了这个??
总而言之,问题似乎解决了,但没有发现基本原因。高手可以指点一下吗? |
|