Intel Graphics (简体中文)

相关文章

翻译状态: 本文是英文页面 Intel_Graphics翻译,最后翻译时间:2013-01-14,点击这里可以查看翻译后英文页面的改动。

由于Intel对X.Org开源驱动的支持,现在所需做的基本上是即插即用。

Intel显卡和相应芯片组、cpu的完整型号参考this comparison on wikipedia

注意: 开源驱动不支持基于PowerVR的显卡(GMA 500 and GMA 3600 series)。

安装

先安装 Xorg,然后安装位于官方软件仓库xf86-video-intel 软件包。它提供了用于2D加速的DDX驱动和旧显卡的XvMC视频解码驱动。它依赖于3D加速的DRI驱动(intel-dri[broken link: replaced by mesa])。

要使用新 GPU 的硬件编解码功能,请按装官方软件仓库中的libva-intel-driver软件包,它提供了VA-API驱动。

64位系统需要安装lib32-intel-dri[broken link: replaced by lib32-mesa]才能在 32 位程序中使用加速功能。

配置

没必要做任何形式的配置来运行X.ORG(不需要xorg.conf,但若有则要正确配置)。

查看完整选项,输入man intel

KMS (Kernel Mode Setting,内核模式设置)

运行X和桌面环境如GNOME, KDE, Xfce, LXDE等都需要KMS。在使用i915 DRM驱动的芯片组中,内核2.6.32及以后的内核都默认启用KMS。2.10及更新的{{Pkg|xf86-video-intel}驱动都不支持UMS(旧的810芯片家族例外),且强制使用KMS[1]。通常,KMS是在内核启动后才进行初始化,但也可以在内核启动阶段就启动KMS,这样在整个启动过程中都是原始分辨率。

注意: 必须 在启动配置中移除与KMS相冲突的项,如:vganomodeset

要早启动,添加i915模块到/etc/mkinitcpio.confMODULES行:

MODULES="i915"

然后,重新生成initramfs

mkinitcpio -p linux

重启系统,一切搞定!

技巧

选择加速方式

  • UXA - (Unified Acceleration Architecture) 是支持GEM驱动模型(GEM driver model)的成熟后端(backend)
  • SNA - (Sandybridge's New Acceleration) 在有硬件支持下比UXA更快

现在默认的加速方式为SNA(截至 2013-08-05[2]),比UXA更快,但是稳定性比UXA稍差

DDX驱动可重设你需要的加速方式。Phoronix的基准测试在 [3].Sandy Bridge为[4],Ivy Bridge为[5]. 若使用SNA有问题,UXA仍为稳妥的选择.

要使用旧的UXA加速方式, 创建包含下列内容的/etc/X11/xorg.conf.d/20-intel.conf 就可使用UXA:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier  "Intel Graphics"
   Driver      "intel"
   Option      "AccelMethod"  "uxa"
EndSection

设置自动缩放模式

在一些全屏应用中此方法适用:

$ xrandr --output LVDS1 --set PANEL_FITTING param

param 可以是:

  • center: 使用自定义分辨率,不缩放;
  • full: 使用全屏;
  • full_aspect: 在长宽比不变的情况下使用最大可用分辨率。

若无效,可尝试:

$ xrandr --output LVDS1 --set "scaling mode" param

param可以是"Full""Center""Full aspect".

KMS 问题: 终端面积很小

在启动阶段,启用了低分辨率的接口会导致终端面积很小。通过i915模块设置可解决此问题,具体在加载器的内核参数添加 video=SVIDEO-1:d。内核参数的更多信息参考 Kernel parameters .

若无效,可试着禁用 TV1 或 VGA1 接口。

在 GMA 4500 硬解 H.264

GMA 4500 平台上,libva-intel-driver 只能硬解 MPEG-2。 H.264 的硬解为另一分支——g45-h264, 在 Arch User Repository 中安装 libva-driver-intel-g45-h264AUR[broken link: package not found] 就OK。 但注意 g45-h264 目前仍处于试验阶段,且开发不活跃。通过 VA-API 会减轻cpu的负载但不如使用非加速方式流畅。 mplayer的测试表明 使用vaapi 播放H.264 编码的 1080p 视频会让cpu的负载减半 (与XV相比) ,但播放很不稳定, 而 720p 则很到位 [6]。其他一些用户也提到这点[7]

设置伽马和亮度

Intel没有提供在驱动层面设置这些值的途径,幸运的是,可通过 xgammaxrandr 来设置。

设置伽马:

$ xgamma -gamma 1.0

或:

$ xrandr --output VGA1 --gamma 1.0:1.0:1.0

设置亮度:

$ xrandr --output VGA1 --brightness 1.0

疑难解答

Glxgears 显示性能低下

注意: glxgears 不是在不同系统上进行比较的基准测试工具。

若运行 glxgears 来获取显卡性能参数, 你会发现结果都在 60 FPS 左右, 如:

[...]
311 frames in 5.0 seconds = 61.973 FPS
311 frames in 5.0 seconds = 62.064 FPS
311 frames in 5.0 seconds = 62.026 FPS
[...]

这不是性能低下的表现, 这是因为显卡使用了 vertical synchronization, 也就是显示器的原生帧频.

禁用 VSYNC

/etc/X11/xorg.conf.d/20-intel.confSection "Device" 段添加 Option "SwapbuffersWait" "false" 可禁用 VSYNC.

~/.drirc 中将 vblank_mode 设为 0 并且将 driver 设为 dri2 也可达到上述效果:

~/.drirc
<device screen="0" driver="dri2">
   <application name="Default">
   <option name="vblank_mode" value="0"/>
   </application>
</device>

在启动阶段,当 "Loading modules" 时黑屏

若使用 "late start" KMS ,当 "Loading modules" 时黑屏, 在 initramfs 中添加 i915intel_agp 可能有帮助. 查看 the above 的 KMS 节.

在尾部添加下面 kernel parameter 可能也会有效果:

video=SVIDEO-1:d

播放视频时屏幕撕裂

若使用 SNA,将下列内容添加到 /etc/X11/xorg.conf.d/20-intel.confDevice 段可杜绝屏幕撕裂问题。

Option "TearFree" "true"

X 冻结/崩溃

使用 NoAccel 选项可能对 X 冻结/崩溃或显卡停止工作有效。

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier "Intel Graphics"
   Driver "intel"
   Option "NoAccel" "True"
EndSection

此外, 也可尝试 DRI 选项来禁用 3D 加速:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
   Identifier "Intel Graphics"
   Driver "intel"
   Option "DRI" "False"
EndSection

添加未识别分辨率

Xrandr page 讲到了此问题。

更新到 libGL 9 和 Intel-DRI 9 后,系统变慢

降级软件包 到 Intel-DRI 8 和 libGL 8.

视频游戏时出现黑色纹理

启用 S3TC 纹理压缩支持可能会解决此问题。 通过 driconf 或安装 libtxc_dxtn 都可启用。

此问题很快会得到解决,参考 newer drivers

更多 S3TC 信息参考: http://dri.freedesktop.org/wiki/S3TC wikipedia:S3_Texture_Compression

受此影响的其中一个游戏是 Oil Rush

更多信息