网上查了下,是AMD显卡驱动没有装上,于是下载了amd驱动源码编译。我下载的驱动源码是fglrx.13.0,进入目录后一般以root用户直接运行./make.sh即可(可能遇到需要从fglrx13.0/patch/获得补丁文件对fglrx打补丁)。但是问题笔记本和我用的ubuntu的内核不是同一个,这时,编译生成的fglrx.ko是无法再问题笔记本上运行的,分析他的makefile文件(位于fglrx13.0/2.6.x/),他通过变量
指定内核源码树的位置,因此,对于要编译生成不同内核版本的fglrx.ko,需要修改这个变量的路径,使之指向正确的源码树。
编译完后,将fglrx.ko文件复制到问题机/lib/modules/`uname -r`//kernel/drivers/video下,然后运行depmod -ae,(通过modinfo fglrx.ko 发现fglrx.ko依赖于amd_iommu_v2.ko)。重启机器,还是有问题:
看架势是radeon驱动加载固件时失败了,百度找到下面链接:
按他的说法,固件应该不依赖内核,是独立运行的二进制文件,可以直接拷贝到/lib/firmware下使用。本着将信将疑的态度,尝试着把ubuntu发行版中固件一股脑的拷贝到问题笔记本/lib/firmware下,然后开机startx后果然可以进入桌面!
你以为,就这么结束了?问题还曲折着!第二天开那问题机,居然又进不了桌面,这回又报错:
Error: Cannot find backlight controller for radeon acpi graphics card
这个网址建议把kernel启动项参数从"quiet splash" 改为"nomodeset"。阿门,暂时又可以了。顺便来看下nomodeset是什么意思:
Why do I need "nomodeset" in my dual-boot (F16, CentOS-6.2) grub?
看意思是禁用内核对Xorg加速设置。
希望后面别再出错了