**问题:**gtk应用程序在fedora14环境下运行时,界面会随机出现显示闪烁的情况,但是在fedora15下运行确是不会出现这种问题,在客户不更改系统环境版本时,决定升级xorg的显示驱动inter_drv.so到fedora15版本。步骤如下:
1.硬件为intel主板,从网址http://rpm.pbone.net/下载 fedora15的xorg显示驱动
xorg-x11-drv-intel-2.14.0-6.fc15.src.rpm
2.增加用户及组mockbuild
groupadd mockbuild
useradd mockbuild -g mockbuild
3.安装源码包
rpm -i xorg-x11-drv-intel-2.14.0-6.fc15.src.rpm
4.使用rpmbuild工具做编译依赖准备
cd rpmbuild/SPECS/
rpmbuild -bp xorg-x11-drv-intel.spec
错误: 提示缺少devel包,根据devel包名称yum命令安装这些devel即可,最后提示需要 >= libdrm-devel-2.4.25 版本的libdrm, 下载libdrm-2.4.26 和 libdrm-devel-2.4.26两个包,进行安装:
rpm –force -i libdrm-2.4.26.rpm
rpm –force -i libdrm-devel-2.4.26.rpm
5.解决依赖问题,顺利的话会在 ./rpmbuild/BUILD/下产生xf86-video-intel-2.14.0的源码,进入源码文件夹,编译源码:
./configure
make
错误: 提示文件xf86drmMode.h DRM_MODE_PROP_EXTENDED_TYPE变量未定义,grep一下,发现该变量值为0x0000ffc0,直接在该文件头定义它
make
错误: src/intel_driver.c 的965行,提示 struct _Screen结构没有canDoBGNoneRoot成员,查找整个文件,发现该变量只有该处使用,故注释掉。
make 通过
6.拷贝intel_drv.so到/usr/lib/xorg/modules/drivers/覆盖原来的驱动,重启系统,问题解决。