工作中遇到装有A卡的笔记本运行startx后无法进入图形桌面,好生头痛<p> 手动运行startx,发现Xorg打印了大量错误,其中一条信息如下:</p> modprobe:Error:could not insert ‘fglrx’:Function not implemented
网上查了下,是AMD显卡驱动没有装上,于是下载了amd驱动源码编译。我下载的驱动源码是fglrx.13.0,进入目录后一般以root用户直接运行./make.sh即可(可能遇到需要从fglrx13.0/patch/获得补丁文件对fglrx打补丁)。但是问题笔记本和我用的ubuntu的内核不是同一个,这时,编译生成的fglrx.ko是无法再问题笔记本上运行的,分析他的makefile文件(位于fglrx13.0/2.6.x/),他通过变量
KDIR=/lib/modules/$(KVER)/build
KDIR=~/Desktop/linux-3.16.0
radeon 0000:01:00.0:Direct firmware load failed with error -2
About Firmware
按他的说法,固件应该不依赖内核,是独立运行的二进制文件,可以直接拷贝到/lib/firmware下使用。本着将信将疑的态度,尝试着把ubuntu发行版中固件一股脑的拷贝到问题笔记本/lib/firmware下,然后开机startx后果然可以进入桌面!
你以为,就这么结束了?问题还曲折着!第二天开那问题机,居然又进不了桌面,这回又报错:
drm: radeon_acpi_init Error: Cannot find a backlight controller
这个网址建议把kernel启动项参数从"quiet splash" 改为"nomodeset"。阿门,暂时又可以了。顺便来看下nomodeset是什么意思:
Why do I need "nomodeset" in my dual-boot (F16, CentOS-6.2) grub?
Setting "nomodeset" disables KMS. Kernel Mode Setting (KMS) provides faster mode switching for X and console. It also provides native-resolution VTs on some laptops and netbooks which, prior to this, would use some standard mode, e.g. 800×600 on a 1024×600 panel.看意思是禁用内核对Xorg加速设置。
希望后面别再出错了