File u_Refuse-to-run-on-machines-with-simpledrmfb-too.patch of Package xf86-video-vesa.23336
From 05aa4057d9369165f4f49b5dcc9064b4bfdfe9e5 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai@suse.de>
Date: Thu, 10 Mar 2022 08:22:21 +0100
Subject: [PATCH] Refuse to run on machines with simpledrmfb, too
References: bsc#1193539
simpledrm framebuffer takes over EFI and manages the graphics.
Running vesa driver on those would confuse the system and result in a
bad interaction.
Just bail out like efifb and other cases.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
src/vesa.c | 1 +
1 file changed, 1 insertion(+)
Index: xf86-video-vesa-2.4.0/src/vesa.c
===================================================================
--- xf86-video-vesa-2.4.0.orig/src/vesa.c
+++ xf86-video-vesa-2.4.0/src/vesa.c
@@ -43,6 +43,7 @@
#endif
#include <string.h>
+#include <unistd.h>
#include "vesa.h"
@@ -450,6 +451,15 @@ VESAPciProbe(DriverPtr drv, int entity_n
intptr_t match_data)
{
ScrnInfoPtr pScrn;
+
+#ifdef __linux__
+ if (access("/sys/devices/platform/efi-framebuffer.0", F_OK) == 0 ||
+ access("/sys/devices/platform/simple-framebuffer.0", F_OK) == 0 ||
+ access("/sys/devices/platform/efifb.0", F_OK) == 0) {
+ ErrorF("vesa: Refusing to run on UEFI\n");
+ return FALSE;
+ }
+#endif
pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL,
NULL, NULL, NULL, NULL, NULL);