0001-ply-device-manager-Revert-Fall-back-to-text-plugin-i.patch 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. From 4a8c0a4231d35ac060f41b582596684cfba7c9ae Mon Sep 17 00:00:00 2001
  2. From: Hans de Goede <hdegoede@redhat.com>
  3. Date: Tue, 7 May 2024 12:42:10 +0200
  4. Subject: [PATCH] ply-device-manager: Revert "Fall back to text plugin if no
  5. renderers installed"
  6. The drm renderer may fail to open /dev/dri/card# with -ENOENT when trying
  7. to open/probe a simpledrm registered drm device and the open races with
  8. that drm device being removed to be replaced by a new drm device registered
  9. by the native GPU driver (e.g. i915 / amdgpu).
  10. Switching to text mode immediately when this race gets hit is undesirable,
  11. as it causes text mode on systems where plymouth would run in graphics
  12. mode before. Remove the immediate switch to text mode on -ENOENT.
  13. Delaying the switch to textmode until the timeout as before.
  14. This reverts commit 03842d5201e4486fe62635c7b470eb94696f985d.
  15. Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2270030
  16. ---
  17. src/libply-splash-core/ply-device-manager.c | 8 --------
  18. 1 file changed, 8 deletions(-)
  19. diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c
  20. index 59e579dd..d75ac6c5 100644
  21. --- a/src/libply-splash-core/ply-device-manager.c
  22. +++ b/src/libply-splash-core/ply-device-manager.c
  23. @@ -52,7 +52,6 @@
  24. static void create_devices_from_udev (ply_device_manager_t *manager);
  25. #endif
  26. -static void create_non_graphical_devices (ply_device_manager_t *manager);
  27. static bool create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager,
  28. const char *device_path,
  29. ply_terminal_t *terminal,
  30. @@ -1102,13 +1101,6 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager,
  31. renderer = ply_renderer_new (renderer_type, device_path, terminal);
  32. if (renderer != NULL && !ply_renderer_open (renderer)) {
  33. - if (errno == ENOENT) {
  34. - ply_trace ("No renderer plugins installed, creating non-graphical devices");
  35. - ply_renderer_free (renderer);
  36. - create_non_graphical_devices (manager);
  37. - manager->device_timeout_elapsed = true;
  38. - return false;
  39. - }
  40. ply_trace ("could not open renderer for %s", device_path);
  41. ply_renderer_free (renderer);
  42. renderer = NULL;
  43. --
  44. 2.44.0