From c61397fbd9ccea27c9879b6951cc518b664666e8 Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Thu, 5 Apr 2012 02:49:43 +0000 Subject: display_driver_helper: return false for --is-kms-allowed when radeon firmware is needed but not installed --- NEWS | 3 +++ tools/display_driver_helper | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) 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 } -- cgit v1.2.1