本文译自:
转载请注明出处:http://blog.csdn.net/jiazhen
Intel
Linux显卡驱动安装指南
1.简介
通常情况下,Intel显卡驱动已经被集成在Linux发行包里面了,用户无需单独安装。
这篇指导是为那些自己从头开始编译最新版本驱动的人而写的。当你想订制显卡驱动或者了解更多的时候,这篇文章就会管用。
本篇第3部分对2D图形驱动的编译作了介绍。因为有些人可能只对2D图形感兴趣,他们想要了解一些2D的新特性以及哪些bug被修正了。第4,5部分则介绍了整个代码的编译,其中也包括了3D图形驱动。
2.获取源代码
要使Intel显卡芯片组工作起来,以下组件是必需的:
1)内核模块agpgart和drm;
内核驱动模块的源码在Linux内核中。
2)libdrm;
libdrm被包含在freedesktop drm的源码里;
3)Xorg 2D 驱动:xf86-video-intel;
4)Mesa 和3D驱动;
要获得上述组件详细的下载地址,可以参考:
http://intellinuxgraphics.org/download.html.
3.2D驱动编译
要测试或者使用最新的Intel X驱动,你不需要更新其它的组件,比如Mesa或DRM驱动。要编译驱动,你需要安装一些开发包(下面的列表是以Fedora平台下的驱动编译需求为例)。
- autoconf
- automake
- libtool
- hwdata (for PCIIDs)
-xorg-x11-server-Xorg >= 1.3.0.0-6
-xorg-x11-server-sdk >= 1.3.0.0-6
- libXvMC-devel
- mesa-libGL-devel>= 6.5-9
- libdrm-devel>= 2.0-1
如果上面的软件包都有了,那么编译就非常的简单了:
$ ./autogen
$ make
$ sudo -c"make install"
注意:上面的环境取决于你的Linux发行版本,你可能需要一些额外的编译选项,比如--prefix=, --exec-prefix=,--libdir=,
--sysconfdir=等等,还取决于你的X server的安装。(更多详细信息,可以通过./configure –help获得)
一旦安装了新的驱动,要确保xorg.conf文件(通常在/etc/X11目录下)指向了新的驱动,它的名字可能是intel或是i810,前提是make install那一步创建了正确的链接。
4.所有代码编译
这里我们认为你已经下载了涉及到的全部组件到$DOWN_ROOT目录,除了内核以外。
4.1 Linux内核
大多数情况下,使用当前最新的内核就可以了,如果需要的话你也可以在上面定制自己的内核。
4.2 libdrm
编译和安装libdrm:
$ cd$DOWN_ROOT/drm
$ ./autogen.sh
注意:libdrm默认会被安装到/usr/local/lib目录,要安装到/usr/lib目录可以运行:
$ ./autogen.sh--prefix=/usr
--exec-prefix=/
$ make
$ make install
这样libdrm会被安装到/usr/lib目录下。
4.3 Xorg 2D驱动
如果你安装xorg到其他目录了($XORG_DIR),而不是覆盖了发行版中自带的xorg,那么你需要设定两个宏定义:
$export PKG_CONFIG_PATH=${XORG_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH
$ export ACLOCAL="aclocal -I ${XORG_DIR}/share/aclocal"
当然,如果你安装了xserver到不同的目录,你需要编译所有xorg模块。要获得编译xserver和xorg模块的详细信息,可以参考
《Xorg Modular Developers'
Guide》
注意:你可能需要最新的Xorg和Xserver来和最新的intel驱动保持同步。
编译2D驱动也很简单:
$ cd $DOWN_ROOT/xf86-video-intel
$ ./autogen.sh--prefix=${XORG_DIR}
$ make &&make install
2D驱动库文件intel_drv.so会被编译到$XORG_DIR/lib/xorg/modules/drivers/目录下。
4.4 Mesa和3D驱动
如果你只需要Intel驱动,可以在运行autogen.sh的时候添加参数直接指定:
--with-dri-drivers="i915 i965"
5.所有代码配置
5.1 加载驱动模块
如果agpgart和drm没有被编译进内核,当系统启动的时候,你需要加载一下模块:agpgart,intel-agp,drm and i915。
要想在系统启动时候自动加载内核,那么需要编辑文件/etc/modules(在Debian/Ubuntu系统下),添加模块的名称;或者编辑文件/etc/rc.local,添加下面的内容比如:modeprobe agpgart。
5.2 打开Intel驱动
确定Intel驱动在Xorg配置文件里被用到了(通常是/etc/X11/xorg.conf):
Section"Device"
Identifier
"name"
Driver"intel"
Entries...
EndSection
5.3 打开DRI
DRI(Direct
RenderingInfrastructure,直接渲染架构)是一个框架,它允许在X窗口系统下以一种安全有效的方式直接存取图形硬件设备。这里需要在xorg.conf中打开DRI。
首先,确保GLX和DRI模块已经被加载了:
Section"Module"
# ...
Load "glx"
Load "dri"
# ...
EndSection
接着,合理地设置DRI的权限,允许任意使用DRI:
Section"DRI"
Mode0666
EndSection
最后,重新启动X server之后,你可以检查DRI是否已经工作了,运行glxinfo,它应该显示:
direct rendering:Yes
6.参考文献
[1]http://intellinuxgraphics.org/testing.html -
Intel Linux graphics website.
[2]http://wiki.x.org/wiki/Development/git -
Document about building and installingwhole stack.
[3]http://wiki.x.org/wiki/ModularDevelopersGuide -
Document about building andinstalling Xorg.