Published: 2019-01-09 17:31:20 +0100 by mntmn

Using Xorg's modesetting driver with etnaviv

Not many people seem to know that you can use hardware accelerated, stock Xorg (incl. Glamor) with the Vivante GPU found in the i.MX6 SOCs. In the past, this required using the out-of-tree "xf86-video-armada" driver. Because I sometimes meet people online that are very surprised I'm using the built-in "modesetting" driver instead, here is how to do it.

In xorg.conf, set the Driver to "modesetting" and add the option "kmsdev" in the Device section as follows to select the correct DRI node:

Section "Device" Identifier "etnaviv" Driver "modesetting" Option "kmsdev" "/dev/dri/card1" Option "AccelMethod" "glamor" EndSection

For this option to work correctly with etnaviv, the "AutoAddGPU" ServerFlag has to be set to false:

Section "ServerFlags" Option "AutoAddGPU" "false" EndSection

Make sure that you have up-to-date builds of drm, mesa and Xorg. I compile these on my i.MX6 device (Reform) and keep everything in /usr/local for convenience.