如何在 Ubuntu 12.04 - 12.10 下为 Intel 卡启用 SNA 加速方法?

Nic*_*Tux 13 intel-graphics hardware-acceleration

SNA 加速方法被认为是一种“新的”和比默认加速方法更好的加速方法。许多基准测试向我们表明 SNA 更快。2.20 Intel 驱动支持这种加速方式。

如何在 Ubuntu 12.04 - 12.10 下启用和测试此方法?如果出现问题,我该如何恢复?

Nic*_*Tux 17

在 Ubuntu 12.04.0 或 12.04.1 LTS 下启用 SNA

由于 12.04 的 LTS 版本,新的点版本将具有当前稳定版本的 HWE 堆栈(现在 12.04.3 具有 13.04 的 HWE 堆栈)。12.04 的下一个版本(12.04.2 和 12.04.3)分别具有 12.10 和 13.04 的 HWE 堆栈。所以Intel驱动是2.20以上的,不需要下面升级Intel驱动的步骤。

检查当前的英特尔驱动程序版本。应用此命令

 apt-cache policy xserver-xorg-video-intel* | grep Installed
Run Code Online (Sandbox Code Playgroud)

如果结果Installed低于 2.20 eg 2:2.17.0-1ubuntu4 0,则继续执行以下步骤以升级驱动程序。

打开一个终端(Ctrl+ Alt+ T),并应用下面的命令升级英特尔驱动程序到最新版本

sudo add-apt-repository ppa:glasen/intel-driver 
sudo apt-get update ; sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)

然后用下面两个命令激活SNA加速方法

sudo mkdir /etc/X11/xorg.conf.d/
echo -e 'Section "Device"\n Identifier "Card0"\n Driver "Intel"\n Option "AccelMethod" "sna"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf
Run Code Online (Sandbox Code Playgroud)

重新启动您的 PC 以使更改生效。

测试 SNA 加速方法是否适用于命令

cat /var/log/Xorg.0.log | grep -i sna 
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的

(**) intel(0): Option "AccelMethod" "sna"
(II) intel(0): SNA initialized with Ironlake backend
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 12.10 及更高版本下启用 SNA

嗯,和上面一样的方法,但是你要避免升级驱动程序,因为Ubuntu 12.10默认是2.20 Intel驱动程序。同样在较新版本的 Ubuntu 中,SNA 加速方法默认启用。

检查 SNA 加速方法是否已启用并使用以下命令

cat /var/log/Xorg.0.log | grep -i sna
Run Code Online (Sandbox Code Playgroud)

如果结果读起来像

(II) intel(0): SNA compiled: xserver-xorg-video-intel-lts-raring
 2:2.21.6-0ubuntu4.1~precise1 (Maarten Lankhorst <maarten.lankhorst@ubuntu.com>)
(II) intel(0): SNA initialized with Ironlake backend
Run Code Online (Sandbox Code Playgroud)

那么你没事。以上结果来自 Ubuntu 12.04.3 LTS。

如果没有,则执行以下命令启用 SNA

sudo mkdir /etc/X11/xorg.conf.d/
echo -e 'Section "Device"\n Identifier "Card0"\n Driver "Intel"\n Option "AccelMethod" "sna"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf
Run Code Online (Sandbox Code Playgroud)

万一出现问题。

要恢复到默认加速方法,只需删除您创建的文件。

sudo rm /etc/X11/xorg.conf.d/20-intel.conf
Run Code Online (Sandbox Code Playgroud)

并重新启动 X 或您的 PC 以使更改生效。

如果 Ubuntu 12.04.0 或 12.04.1 的驱动程序 2.20 出现问题

只需使用适当的命令删除 PPA。

sudo apt-get install ppa-purge
sudo ppa-purge ppa:glasen/intel-driver
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

重启你的电脑。

如果默认加速方法是 SNA(例如 12.04.3)并且您想使用 UXA,则万一出现问题。

执行以下命令

sudo mkdir /etc/X11/xorg.conf.d/
echo -e 'Section "Device"\n Identifier "Card0"\n Driver "Intel"\n Option "AccelMethod" "uxa"\nEndSection' | sudo tee /etc/X11/xorg.conf.d/20-intel.conf
Run Code Online (Sandbox Code Playgroud)

重新启动您的 PC(或显示管理器)以使更改生效。

希望您看到新的 AccelMethod SNA 在性能或/和图形方面有所不同,如果没有,您就知道如何恢复到 UXA。