From 248913313b2f950c0a03fadcd6154f4601c65f11 Mon Sep 17 00:00:00 2001 From: tomarigr Date: Sun, 3 Oct 2021 22:18:06 +0100 Subject: [PATCH] [rcore] fix rpi4 Failed to get DRM resources card1 is not always the the correct card to use on rpi4 rpi os finds the correct card and links it to /dev/dri/by-path/platform-gpu-card during boot. this fix makes sure that we always point to the correct card on rpi4 --- src/rcore.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/rcore.c b/src/rcore.c index cb212af3f..d17df879c 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -3912,8 +3912,13 @@ static bool InitGraphicsDevice(int width, int height) #if defined(DEFAULT_GRAPHIC_DEVICE_DRM) CORE.Window.fd = open(DEFAULT_GRAPHIC_DEVICE_DRM, O_RDWR); #else - TRACELOG(LOG_INFO, "DISPLAY: No graphic card set, trying card1"); - CORE.Window.fd = open("/dev/dri/card1", O_RDWR); // VideoCore VI (Raspberry Pi 4) + TRACELOG(LOG_INFO, "DISPLAY: No graphic card set, trying platform-gpu-card"); + CORE.Window.fd = open("/dev/dri/by-path/platform-gpu-card", O_RDWR); // VideoCore VI (Raspberry Pi 4) + if ((-1 == CORE.Window.fd) || (drmModeGetResources(CORE.Window.fd) == NULL)) + { + TRACELOG(LOG_INFO, "DISPLAY: Failed to open platform-gpu-card, trying card1"); + CORE.Window.fd = open("/dev/dri/card1", O_RDWR); // Other Embedded + } if ((-1 == CORE.Window.fd) || (drmModeGetResources(CORE.Window.fd) == NULL)) { TRACELOG(LOG_INFO, "DISPLAY: Failed to open graphic card1, trying card0");