听说开源驱动现在已经不错了,就试着把系统里面的闭源驱动(fglrx)切换成开源驱动。
首先,先卸载闭源驱动:emerge -c x11-drivers/ati-drivers,因为现在用的xorg.conf是通过ati的命令生成的,先干掉。
然后,在make.conf中的video_cards环境变量中,将原来的fglrx改成radeon,重新emerge xorg-server和libdrm。
为了开启kms,需要重新改下内核,具体的做法可以参照官方的文档。需要注意的是,要将原来的framebuffer驱动都去掉(device drivers->graphics support->support for frame buffer devices中的所有驱动),然后将device drivers->graphics support->direct rendering manager和它下面的ati radeon和enable modesetting on radeon by default这两个子项编译入内核(启动enable modesetting on radeon by default是ati radeon的子项)。对于radeon,还有特别重要的一点,就是要将固件编译入内核。首先要确保已经安装了x11-drivers/radeon-ucode这个包,然后在内核中,device drivers->generic driver options中选中include in-kernel firmware blobs in kernel binary,在下面的external firmware blobs to build into the kernel binary中,填入radeon/r600_rlc.bin radeon/r700_rlc.bin(我的显卡是hd 3400 series),在firmware blobs root directory中填入/lib/firmware,然后就可以重新编译内核了。
重新编译、安装完内核之后,就是要编辑grub.cfg文件了,去掉原来为splash使用的initrd,直接使用新内核。
重新启动,可以看见字符界面中,已经自动使用了1280×800的分辨率。不过进入kde之后,图形界面非常卡,kde还因为速度慢自动关闭了混成特效。后来发现是mesa没有重新emerge,重新安装了mesa然后重新登陆,原先kwin的效果仍然可以使用,大功告成。
转载自:https://coolex.info/blog/151.html