diff options
author | Ray Strode <halfline@gmail.com> | 2023-12-26 11:37:01 +0000 |
---|---|---|
committer | Ray Strode <halfline@gmail.com> | 2023-12-26 11:37:01 +0000 |
commit | c835c7ff53aa25009b694fd66e9a6c55cbed670c (patch) | |
tree | 0ee7710e2312ae3a2edaf12fc903efdef08ce454 | |
parent | 32d930bdda47f4abd5c8c8707708bfbb2ad83570 (diff) | |
parent | 03842d5201e4486fe62635c7b470eb94696f985d (diff) |
Merge branch 'fall-back-to-text-faster' into 'main'23.360.11
ply-device-manager: Fall back to text plugin if no renderers installed
See merge request plymouth/plymouth!275
-rw-r--r-- | src/libply-splash-core/ply-device-manager.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c index 99433345..bfdd28d7 100644 --- a/src/libply-splash-core/ply-device-manager.c +++ b/src/libply-splash-core/ply-device-manager.c @@ -52,6 +52,7 @@ static void create_devices_from_udev (ply_device_manager_t *manager); #endif +static void create_non_graphical_devices (ply_device_manager_t *manager); static bool create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager, const char *device_path, ply_terminal_t *terminal, @@ -1097,6 +1098,13 @@ create_devices_for_terminal_and_renderer_type (ply_device_manager_t *manager, renderer = ply_renderer_new (renderer_type, device_path, terminal); if (renderer != NULL && !ply_renderer_open (renderer)) { + if (errno == ENOENT) { + ply_trace ("No renderer plugins installed, creating non-graphical devices"); + ply_renderer_free (renderer); + create_non_graphical_devices (manager); + manager->device_timeout_elapsed = true; + return false; + } ply_trace ("could not open renderer for %s", device_path); ply_renderer_free (renderer); renderer = NULL; |