LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 4022|回复: 7

xorg 在无 xorg.conf 的情况下是怎样自动检测显卡类型并自动配置X调用正确的驱动启

[复制链接]
发表于 2010-10-14 00:28:58 | 显示全部楼层 |阅读模式
我的 ubuntu 系统安装在移动硬盘上,经常会在不同的电脑上启动使用,会遇到各种不同的显卡,因此自动识别硬件并加载正确的驱动非常重要。xorg 7.0 以后的版本都能够在无 xorg.conf 的情况下自动检测显卡类型并调用可用的驱动启动图形界面,这很好。

但是 xorg 的自动检测有时候并不一定正确。例如我新安装的 ubuntu 10.10 ,xorg 自动检测不到笔记本上的 intel 显卡,最终竟然自动加载 fbdev 驱动通过 framebuffer 来启动图形界面,无法启用3D加速。事实上系统中有可用的开源 intel 驱动可用(通过手动建立 xorg.conf 并在里面制定Driver    "intel"后正常使用并可开启3D加速),但蠢笨的 xorg 竟然不加载正确的 intel 驱动直接使用 fbdev 来启动图形界面。因为我的系统经常在不同的电脑上启动,因此不可能通过手动在 xorg.conf 里面指定某一个固定的驱动来启动图形界面。我希望无 xorg.conf 让 xorg 自动检测并加载正确的驱动。

我猜测可能是 xorg 检测显卡类型的是有遵照一个驱动列表,按顺序逐一尝试,试到可以启动图形界面的那个驱动的时候就直接用它,后面的忽略。ubuntu 10.04 在我上面所说的那些同样的电脑上都能自动检测显卡并加载正确的驱动,而 ubuntu 10.10 却在同样的机器上出现问题。可能是 ubuntu 10.10 的 xorg 检测显卡类型或者根据某个列表尝试驱动的时候,fbdev 排在了 intel 前面,导致先加载了 fbdev 驱动。这是我的猜测。我不了解 xorg 无 xorg.conf 的时候自动检测显卡类型并加载对应驱动的具体过程是怎样的,就是说原理,所以请教大家。如果知道其原理,或许可以找到自动检测出现问题的具体原因,对症下*。
发表于 2010-10-26 08:11:35 | 显示全部楼层
将就用用吧,你需要在不同的机器上启用3D加速?移动工作站?移动游戏机?既然要在不同的机器上用就把系统做的普适点,总不能你运行在服务器上还要求那垃圾显卡启用3D加速吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-6 06:31:08 | 显示全部楼层
Post by wdk230411;2117287
将就用用吧,你需要在不同的机器上启用3D加速?移动工作站?移动游戏机?既然要在不同的机器上用就把系统做的普适点,总不能你运行在服务器上还要求那垃圾显卡启用3D加速吧


当然需要在不同的机器上开启3D加速。至少要能开启compiz桌面特效,还有mplayer的gl输出能工作。“将就用用”我还何必玩linux。

首先,所谓“普适”,连自动适应不同的系统自动检测不同的硬件自动加载正确的对应驱动都做不到,还“普”个头。

再次,我的移动硬盘上的系统是个人桌面,我不会蠢到把它插到服务器上去用。

最后,希望弄明白原理。ubuntu 10.04 无xorg.conf能自动加载正确的驱动,而 10.10 自动模式下xorg却加载了错误的驱动,这里显然有不同,不同在哪里,搞明白 xorg 在无 xorg.conf 配置文件的情况下自动检测和加载显卡驱动的过程,才能找出原因,修正错误。

长期以来,nvidia 官方驱动、ati官方驱动和intel驱动之间不能同时安装在一个系统内,这也是很让人讨厌的事情。需要解决。
回复 支持 反对

使用道具 举报

发表于 2010-11-6 13:31:14 | 显示全部楼层
Post by Beta;2118641
当然需要在不同的机器上开启3D加速。至少要能开启compiz桌面特效,还有mplayer的gl输出能工作。“将就用用”我还何必玩linux。

首先,所谓“普适”,连自动适应不同的系统自动检测不同的硬件自动加载正确的对应驱动都做不到,还“普”个头。
恕删

不知道这位仁兄具体工作是什么……不过我也有U盘上的linux(Slackware),除了个人喜好之外,不懂为什么要在所有的机器上开compiz,mplayer的gl输出……我所说的意思无非就是不用纠结于这个功能,作为一个用户来说,如果你已经想深入了解这个“原理”,那么换台机器搞定驱动也就是分分钟的问题。
回到主题,xorg具体怎么做的,我不清楚,但流程无非就是检测硬件ID,确定硬件类型,查询硬件对照表,调用预设驱动。LZ的问题要么就是10.10版的xorg有bug,要不就是10.10的xorg不认为开源的intel驱动为当前最优驱动。
至于说到“普适”,我的系统就是用framebuff开fvwm的,至少在我目前使用过的台式机笔记本乃至服务器上还没什么问题,毕竟移动的系统更多时候是为了处理问题(业务),速度搞完回自己的机器上想怎么折腾就怎么折腾。

刚发现原来是版主大人……如有顶撞请恕罪。
回复 支持 反对

使用道具 举报

发表于 2010-11-9 23:17:21 | 显示全部楼层
Beta 默默无语2行泪呀。
回复 支持 反对

使用道具 举报

发表于 2010-11-10 01:15:34 | 显示全部楼层
还好咱们论坛有编辑功能哈
回复 支持 反对

使用道具 举报

发表于 2011-4-4 15:48:40 | 显示全部楼层
Recent X server versions are designed to work out-of-the-box, with no need to manually edit Xorg's configuration files.By default, Xorg uses HAL (Hardware Abstraction Layer) to detect and configure devices such as keyboards and mice.HAL comes with many premade device rules, also called policies. These policy files are available in /usr/share/hal/fdi/policy/. Just find a few that suit your needs most closely and copy them to /etc/hal/fdi/policy/.

Important: Do not edit the files in /usr/share/hal/fdi/! Just copy the ones you need, and edit them once they're placed in the proper /etc location.

There are several other HAL policies in /usr/share/hal/fdi/ that may interest you, such as laptop configurations, storage device handling, power management, and more. Just copy any of the policies to /etc/hal/fdi/policy/.
回复 支持 反对

使用道具 举报

发表于 2011-11-18 11:28:53 | 显示全部楼层
suse11.2 intelg45显卡在配置x11后系统变慢,之前x11目录下没有xorg.conf,之后有了这文件。怎么弄呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表