home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / root / usr / share / sax / profile / MergedFB.pl < prev    next >
Perl Script  |  2006-11-29  |  2KB  |  63 lines

  1. #!/usr/bin/perl
  2.  
  3. use lib '/usr/share/sax/profile';
  4.  
  5. use strict;
  6. use Storable;
  7. use Profile;
  8.  
  9. #====================================
  10. # Functions...
  11. #------------------------------------
  12. sub getProfile {
  13.     my $config = "/var/cache/sax/files/config";
  14.     my $card   = 0;
  15.     my $hashref = retrieve($config);
  16.     if (! defined $hashref) {
  17.         die "MergedFB: can not load sax registry";
  18.     }
  19.     my %dialog = %{$hashref};
  20.     my $driver = $dialog{Device}{$card}{Driver};
  21.     my $dir = "/usr/share/sax/profile";
  22.     SWITCH: for ($driver) {
  23.         /^i810|i915/ && do {
  24.             return "$dir/Intel_DualHead_DriverOptions";
  25.         };
  26.         /^nvidia/    && do {
  27.             return "$dir/NVidia_DualHead_DriverOptions";
  28.         };
  29.         /^radeon/    && do {
  30.             return "$dir/Radeon_DualHead_DriverOptions";
  31.         };
  32.         /^fglrx/     && do {
  33.             return "$dir/FGLRX_DualHead_DriverOptions";
  34.         };
  35.         /^mga/       && do {
  36.             return "$dir/Matrox_DualHead_DriverOptions";
  37.         };
  38.         /^sis/       && do {
  39.             return "$dir/SiS_DualHead_DriverOptions";
  40.         };
  41.         die "MergedFB: no DualHead profile available";
  42.     }
  43. }
  44.  
  45. #====================================
  46. # Init profile script
  47. #------------------------------------
  48. my $profile = ProfileInitScript();
  49.  
  50. #====================================
  51. # Do the profile adaptions...
  52. #------------------------------------
  53. my $used = getProfile();
  54. print STDERR "MergedFB: selected profile: $used\n";
  55. if ( -f "$used.pl" ) {
  56.     print STDERR "MergedFB: calling profile script: $used.pl\n";
  57.     qx ($used.pl);
  58.     my $base = qx (basename $used);
  59.     chomp $base;
  60.     $used="/var/lib/sax/$base.tmp";
  61. }
  62. qx (cp $used $profile);
  63.