Index: plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c =================================================================== --- plymouth-0.9.0.orig/src/libply-splash-core/ply-device-manager.c +++ plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c @@ -151,8 +151,14 @@ fb_device_has_drm_device (ply_device_man card_path = udev_list_entry_get_name (card_entry); card_device = udev_device_new_from_syspath (manager->udev_context, card_path); card_node = udev_device_get_devnode (card_device); - if (card_node != NULL) - has_drm_device = true; + if (card_node != NULL) { + /* don't consider drm driver for cirrus usable */ + const char *card_name = udev_device_get_sysattr_value (card_device, "name"); + if ((card_name != 0) && strcmp ("cirrusdrmfb", card_name) != 0) + has_drm_device = true; + else + has_drm_device = false; + } else ply_trace ("no card node!");