1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-05 14:29:48 +00:00

xf86-video-vesa: Refuse to run on UEFI machines

Fix the following Xorg start failure on UEFI machines when using xf86-video-vesa
driver (e.g. in qemu, when anaconda tries to start X):
Xorg -br -logfile /tmp/X.log :1 vt7 -s 1440 -ac -nolisten tcp -dpi 96 -noreset
...
(EE) Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
...

Upstream patch:
https://cgit.freedesktop.org/xorg/driver/xf86-video-vesa/commit/?id=2645e0aa9c17c2c966a0533e52ad00510311483e

(From OE-Core rev: 25edd39d752876a2894ddbbe396c3b037519f9f1)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ovidiu Panait
2019-04-05 14:19:42 +03:00
committed by Richard Purdie
parent e605e2d048
commit a1fb2c59e8
2 changed files with 56 additions and 0 deletions
@@ -0,0 +1,52 @@
From 2645e0aa9c17c2c966a0533e52ad00510311483e Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 29 Aug 2018 11:04:23 -0400
Subject: [PATCH] Refuse to run on UEFI machines
No possible good can come of this.
v2: Check for .../efi-framebuffer.0 ("is there an EFI framebuffer")
instead of /sys/firmware/efi ("is this an EFI machine"). Suggested by
Peter Jones.
Upstream-Status: Backport [https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa]
Reviewed-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
---
src/vesa.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/vesa.c b/src/vesa.c
index 9b65b9b..af750e2 100644
--- a/src/vesa.c
+++ b/src/vesa.c
@@ -43,7 +43,7 @@
#endif
#include <string.h>
-
+#include <unistd.h>
#include "vesa.h"
/* All drivers initialising the SW cursor need this */
@@ -450,7 +450,14 @@ VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
intptr_t match_data)
{
ScrnInfoPtr pScrn;
-
+
+#ifdef __linux__
+ if (access("/sys/devices/platform/efi-framebuffer.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);
if (pScrn != NULL) {
--
2.20.1
@@ -17,3 +17,7 @@ RRECOMMENDS_${PN} += "xserver-xorg-module-libint10"
SRC_URI[md5sum] = "8134201beaf6f77150c7809c3cc802e6"
SRC_URI[sha256sum] = "bf443c94d7bf6cd4e248f8a3147f4647be04dc4c80250d9405006263bbdee38c"
SRC_URI += " \
file://0001-Refuse-to-run-on-UEFI-machines.patch \
"