fix[drm]: Fix permission check issue on GKI kernel

The GKI kernel does not allow non-render thread to open /dev/dri/card0
and alloc drm buffer from it. So we need to use /dev/dri/renderD128
instead.

Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
Change-Id: I0fad306c6eeadd8da5507883f4f4915c11946761
This commit is contained in:
Herman Chen
2024-06-07 14:46:25 +08:00
parent 50f108baf2
commit 9c92ab9e20
2 changed files with 20 additions and 5 deletions

View File

@@ -85,7 +85,9 @@ MppRuntimeService::MppRuntimeService()
allocator_valid[MPP_BUFFER_TYPE_NORMAL] = 1;
allocator_valid[MPP_BUFFER_TYPE_ION] = !access("/dev/ion", F_OK | R_OK | W_OK);
allocator_valid[MPP_BUFFER_TYPE_DRM] = !access("/dev/dri/card0", F_OK | R_OK | W_OK);
allocator_valid[MPP_BUFFER_TYPE_DRM] =
!access("/dev/dri/renderD128", F_OK | R_OK | W_OK) ||
!access("/dev/dri/card0", F_OK | R_OK | W_OK);
allocator_valid[MPP_BUFFER_TYPE_DMA_HEAP] = !access("/dev/dma_heap", F_OK | R_OK);
if (!allocator_valid[MPP_BUFFER_TYPE_ION] &&