diff options
-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; |