sub hwdetect_getvideo() { print getStr('video_probe') . ": "; my @probed_cards; eval { @probed_cards = Xconfig::card::probe() }; print scalar(@probed_cards) . " " . getStr('found'); my $probed_card; if (scalar @probed_cards) { print_success(); foreach $card (@probed_cards) { my ($probed_vendor, $_probed_desc) = split(/\|/, $card->{description}); my $module = 'unknown'; unless ($probed_card) { # one card only :( $probed_card = $card; if (defined($cmdline{xdrv})) { $probed_card->{Driver} = $cmdline{xdrv}; $probed_card->{Driver2} = $probed_card->{Driver}; } if ($probed_card->{Driver2} eq 'nvidia' && -e "/usr/X11R6/lib/modules/drivers/nvidia_drv.o" && -e "/usr/X11R6/lib/modules/extensions/libglx.so" && (-e "/lib/modules/$kernel_ver/kernel/drivers/char/nvidia.o.gz" || -e "/lib/modules/$kernel_ver/kernel/drivers/video/nvidia.ko" || -e "/lib/modules/$kernel_ver/kernel/drivers/video/nvidia.o")) { $probed_card->{Driver} = $probed_card->{Driver2}; $probed_card->{DRI_GLX_SPECIAL} = 1; $module = $probed_card->{Driver2}; $modules_conf->set_alias("/dev/nvidia*", $module); } if ($probed_card->{Driver2} eq 'fglrx' && -e "/usr/X11R6/lib/modules/dri/fglrx_dri.so" && -e "/usr/X11R6/lib/modules/drivers/fglrx_drv.o" && (-e "/lib/modules/$kernel_ver/kernel/drivers/char/fglrx.o.gz" || -e "/lib/modules/$kernel_ver/kernel/drivers/video/fglrx.ko" || -e "/lib/modules/$kernel_ver/kernel/drivers/video/fglrx.o")) { $probed_card->{Driver} = $probed_card->{Driver2}; $probed_card->{use_DRI_GLX} = 1; $module = $probed_card->{Driver2}; } } $card->{VideoRam} = $cmdline{xram} if defined($cmdline{xram}); hwdetect_loadmod($module, $probed_vendor, $card->{card_name}); print_hash($card) if $debug; } } else { print_warning(); $probed_card = { Driver => 'fbdev', description => 'Linux|Default Framebuffer Device', VideoRam => 4096 }; my ($probed_vendor, $_probed_desc) = split(/\|/, $card->{description}); $probed_card->{Driver} = $cmdline{xdrv} if defined($cmdline{xdrv}); $probed_card->{VideoRam} = $cmdline{xram} if defined($cmdline{xram}); hwdetect_loadmod($module, $probed_vendor, $card->{card_name}); } $probed_card; }