From f9e2efda57e9aac3a5860d41de8f0805f01d7bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Sawicz?= Date: Thu, 16 Jan 2025 12:55:41 +0100 Subject: [PATCH] kms: skip `simple-framebuffer` devices They should never be there in the first place. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2084046 https://github.com/canonical/mir/issues/3710 --- src/platforms/atomic-kms/server/kms/quirks.cpp | 6 +++++- src/platforms/gbm-kms/server/kms/quirks.cpp | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/platforms/atomic-kms/server/kms/quirks.cpp b/src/platforms/atomic-kms/server/kms/quirks.cpp index cf4740d203e..bf5c16acedb 100644 --- a/src/platforms/atomic-kms/server/kms/quirks.cpp +++ b/src/platforms/atomic-kms/server/kms/quirks.cpp @@ -158,8 +158,12 @@ class mga::Quirks::Impl * * At least as of drivers ≤ version 550, the NVIDIA atomic implementation is buggy in a way that prevents * Mir from working. Quirk off atomic-kms on NVIDIA. + * + * Simple-framebuffer should be evicted before Mir even gets there. + * https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2084046 + * https://github.com/canonical/mir/issues/3710 */ - std::unordered_set drivers_to_skip = { "nvidia", "ast" }; + std::unordered_set drivers_to_skip = { "nvidia", "ast", "simple-framebuffer"}; std::unordered_set devnodes_to_skip; // We know this is currently useful for virtio_gpu, vc4-drm and v3d std::unordered_set skip_modesetting_support = { "virtio_gpu", "vc4-drm", "v3d" }; diff --git a/src/platforms/gbm-kms/server/kms/quirks.cpp b/src/platforms/gbm-kms/server/kms/quirks.cpp index 27a993f25f2..b4e66bf3f92 100644 --- a/src/platforms/gbm-kms/server/kms/quirks.cpp +++ b/src/platforms/gbm-kms/server/kms/quirks.cpp @@ -158,8 +158,12 @@ class mgg::Quirks::Impl * * At least as of drivers ≤ version 550, the NVIDIA gbm implementation is buggy in a way that prevents * Mir from working. Quirk off gbm-kms on NVIDIA. + * + * Simple-framebuffer should be evicted before Mir even gets there. + * https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2084046 + * https://github.com/canonical/mir/issues/3710 */ - std::unordered_set drivers_to_skip = { "nvidia", "ast" }; + std::unordered_set drivers_to_skip = { "nvidia", "ast", "simple-framebuffer"}; std::unordered_set devnodes_to_skip; // We know this is currently useful for virtio_gpu, vc4-drm and v3d std::unordered_set skip_modesetting_support = { "virtio_gpu", "vc4-drm", "v3d" };