Android / Etnaviv / i.MX6 update

Martin Fuzzey martin.fuzzey at flowbird.group
Wed Aug 1 15:53:19 UTC 2018


On 01/08/18 17:26, Lucas Stach wrote:
> Am Mittwoch, den 01.08.2018, 17:03 +0200 schrieb Martin Fuzzey:
>
> The DRM card nodes can change their numbering for many reasons, like DT
> node ordering, device probe ordering, module vs. built-in configs, etc.
> So please don't base any assumptions on the device number.

There is still a hardcoded path in mesa3d/src/gallium/winsys/imx/drm/imx_drm_winsys.c
       .gpu_fd = open("/dev/dri/renderD128", O_RDWR | O_CLOEXEC)

So that definitely won't work if the GPU comes second.
The GPU used to be the only render node so it was "ok" before but now that imx-drm has a render node too there is a problem.

The other paths are defined by android properties definied in a .rc file in /system/vendor/etc/init

	setprop drm.gpu.vendor_name etnaviv
	setprop gralloc.gbm.device /dev/dri/renderD129
  	setprop hwc.drm.device /dev/dri/card1

Those are little less problematic assuming we know the configuration the init file applies to.

It looks like we really need a more general version of Rob's patch to let us use names everywhere?

But it could be messy to implement because there are several different components involved.

Maybe we could add a couple of helper functions to libdrm to find the render / master node based on a vendor name?


Regards,

Martin




More information about the etnaviv mailing list