summaryrefslogtreecommitdiffstats
path: root/tools/display_driver_helper
diff options
context:
space:
mode:
Diffstat (limited to 'tools/display_driver_helper')
-rw-r--r--tools/display_driver_helper16
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/display_driver_helper b/tools/display_driver_helper
index 7fe63c5..b15fad6 100644
--- a/tools/display_driver_helper
+++ b/tools/display_driver_helper
@@ -330,6 +330,22 @@ is_kms_allowed() {
# Check all drivers for conflicts only.
check_xorg $driver 0 || return 1
done
+
+ # Perform full check for KMS drivers of present hardware.
+ # Needed for e.g. checking if radeon firmware is present.
+ for modalias in $(get_hw_display_modaliases); do
+ for modulename in $(/sbin/modprobe -Rq "$modalias"); do
+ for driver in $KMS_DRIVERS; do
+ if [ "$driver" = "$modulename" ]; then
+ check_driver "$modulename" "$modalias" || return 1
+ # Driver was ok but needs KMS disabled:
+ [ -n "$IS_KMS" ] || return 1
+ break
+ fi
+ done
+ done
+ done
+
return 0
}