22 lines
991 B
Diff
22 lines
991 B
Diff
|
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!");
|
||
|
|