summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS3
-rw-r--r--tools/display_driver_helper16
2 files changed, 19 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 78040f4..f278e51 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,9 @@
X server in that case
o load radeon module with modeset=0 when no firmware is installed
(see mga#3466)
+ o report KMS as not allowed with --is-kms-allowed on radeon hardware
+ without radeon firmware, so that 'nokmsboot' will be used on such
+ cases
Version 0.99 - 18 December 2011
- default to 24bit with QXL driver (16 bit doesn't work)
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
}