site  contact  subhomenews

Intel sna and uxa video acceleration

October 21, 2017 — BarryK

About four months ago, when I released Pyro64 0.2, built from binary packages compiled in OE, there was feedback about video rendering problems with Intel video hardware.

Blog post announcing Pyro64 0.2:

http://bkhome.org/news/201705/quirky-pyro64-02-alpha.html

Forum feedback:

http://murga-linux.com/puppy/viewtopic.php?t=110541

Today I investigated this, and found that OE has set the video acceleration to "sna", without support for "uxa". sna is intended to replace uxa, and has superior performance, but still has serious issues. The recipe file in OE:

http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb?h=pyro

The interesting parts are:

PACKAGECONFIG ??= "xvmc sna udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}"

PACKAGECONFIG
[sna] = "--enable-sna,--disable-sna" PACKAGECONFIG[uxa] = "--enable-uxa,--disable-uxa"

I am using the "pyro" release of OE. Looking in the github repo, I found that the recipe has been changed recently:

http://cgit.openembedded.org/openembedded-core/diff/meta/recipes-graphics/xorg-driver/xf86-video-intel_git.bb?h=master-next&id=ce935784cfc53c029c8dfa969d08ee43a8831b60

Which has this:

-PACKAGECONFIG ??= "xvmc sna udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}"
+PACKAGECONFIG ??= "xvmc uxa udev ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri dri1 dri2', '', d)}"

The problem is, as far as I can understand how these recipes work, that change will have the effect of enabling uxa but disabling sna. Really, I want both to be enabled.

Linux From Scratch explains that both can be enabled:

http://www.linuxfromscratch.org/blfs/view/cvs/x/x7driver.html

Note, there is also another hardware accelerator called "glamor":

https://www.phoronix.com/scan.php?page=article&item=intel_2dxorg30_ubuntu1404&num=1

glamor is enabled in xorg-server, see meta/recipes-graphics/xorg-xserver/

Anyway, I have created recipes-graphics/xorg-driver/xf86-video-intel_git.bbappend in my OE-Quirky overlay, with this in it:

PACKAGECONFIG_append = " uxa"

...which, again, as far as I understand how these recipes are evaluated, should cause "--enable-uxa", and we will also get "--enable-sna", although LFS explains the latter is the default.

Tags: oe