summaryrefslogtreecommitdiffstats
path: root/perl-install/Xconfig
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/Xconfig')
-rw-r--r--perl-install/Xconfig/card.pm15
1 files changed, 10 insertions, 5 deletions
diff --git a/perl-install/Xconfig/card.pm b/perl-install/Xconfig/card.pm
index 9387d9e74..da34d11bd 100644
--- a/perl-install/Xconfig/card.pm
+++ b/perl-install/Xconfig/card.pm
@@ -201,7 +201,10 @@ sub card_config__not_listed {
_("X server"), _("Choose a X server"), '|',
sub { $_[0] =~ /^Vendor\|($vendors_regexp)\s*-?(.*)/ ? "Vendor|$1|$2" :
$_[0] =~ /^Vendor\|(.*)/ ? "Vendor|Other|$1" : $_[0] },
- \@list, 'XFree 4|vesa') or return;
+ \@list,
+ exists $cards->{$card->{BoardName}} ? "Vendor|$card->{BoardName}" : 'XFree 4|vesa') or return;
+
+ $r eq "Vendor|$card->{BoardName}" and return 1; #- it is unchanged, don't modify $card
my ($kind, $s) = $r =~ /(.*?)\|(.*)/;
@@ -265,13 +268,14 @@ sub configure {
my ($in, $raw_X, $do_pkgs, $auto, $options) = @_;
my @cards = probe();
+ @cards or @cards = ({});
+
+ if (!$cards[0]{server} && !$cards[0]{Driver} || !$auto) {
+ card_config__not_listed($in, $cards[0], $options) or return;
+ }
my $card = multi_head_choose($in, @cards) or return;
$card->{Driver} = 'fbdev' if $options->{allowFB} && !$card->{server} && !$card->{Driver};
-
- if (!$card->{server} && !$card->{Driver}) {
- card_config__not_listed($in, $card, $options) or return;
- }
xfree_and_glx_choose($in, $card, $auto) or return;
@@ -496,6 +500,7 @@ sub add_to_card__using_Cards {
my ($card, $name) = @_;
my $cards = readCardsDB("$ENV{SHARE_PATH}/ldetect-lst/Cards+");
add2hash($card, $cards->{$name});
+ $card->{BoardName} = $card->{card_name};
delete @$card{'server'} if $force_xf4;