summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmake_boot_img2
-rw-r--r--perl-install/Xconfigurator.pm17
-rw-r--r--perl-install/Xconfigurator_consts.pm16
-rw-r--r--perl-install/mouse.pm7
4 files changed, 31 insertions, 11 deletions
diff --git a/make_boot_img b/make_boot_img
index 39518e4c3..4a27b0e9d 100755
--- a/make_boot_img
+++ b/make_boot_img
@@ -350,7 +350,7 @@ sub boot_img_ppc {
my ($extension) = $modz =~ /.*\/([^\/]+)/;
_ "mkdir -p $dir/$boot";
_ "cp -f $kern $dir/$boot/vmlinux";
- _ "cp -f all.rdz$extension $dir/boot/all.gz";
+ _ "cp -f images/all.rdz$extension $dir/boot/all.gz";
_ "cp -f tools/ppc/yaboot $dir/boot/yaboot";
output("$dir/$boot/yaboot.conf", "
diff --git a/perl-install/Xconfigurator.pm b/perl-install/Xconfigurator.pm
index 3c7839934..7819d3b93 100644
--- a/perl-install/Xconfigurator.pm
+++ b/perl-install/Xconfigurator.pm
@@ -195,7 +195,8 @@ sub cardConfigurationAuto() {
}
#- in case of only one cards, remove all busid reference, this will avoid
#- need of change of it if the card is moved.
- @cards == 1 and delete $cards[0]{busid};
+ #- on many PPC machines, card is on-board, busid is important, leave?
+ @cards == 1 and delete $cards[0]{busid} if arch() !~ /ppc/;
@cards;
}
@@ -262,6 +263,7 @@ What do you want to do?"), sub { translate($_[0]{text}) }, \@choices) or return;
$card->{identifier} =~ /Rage X[CL]/ ||
$card->{identifier} =~ /3D Rage (?:LT|Pro)/);
#- NOT WORKING $card->{type} =~ /Intel 810/);
+ $card->{Utah_glx} = '' if arch() =~ /ppc/; #- No #D XFree 3.3 for PPC
#- 3D acceleration configuration for XFree 3.3 using Utah-GLX but EXPERIMENTAL that may freeze the machine (FOR INFO NOT USED).
$card->{Utah_glx_EXPERIMENTAL} = ($card->{type} =~ /RIVA TNT/ || #- all RIVA/GeForce comes from NVIDIA and may freeze (gltron).
#$card->{type} =~ /RIVA128/ ||
@@ -452,7 +454,7 @@ sub monitorConfiguration(;$$) {
readMonitorsDB("$ENV{SHARE_PATH}/ldetect-lst/MonitorsDB");
- my $good_default = 'Generic|' . translate($good_default_monitor);
+ my $good_default = (arch() =~ /ppc/ ? 'Apple|' : 'Generic|') . translate($good_default_monitor);
$monitor->{type} ||=
($::auto_install ? $low_default_monitor :
$in->ask_from_treelist(_("Monitor"), _("Choose a monitor"), '|', ['Custom', keys %monitors], $good_default));
@@ -642,14 +644,13 @@ sub autoDefaultDepth($$) {
sub autoDefaultResolution {
return "1024x768" if detect_devices::hasPCMCIA;
- if (arch() =~ /ppc/) {
- my $mac_model = detect_devices::get_mac_model();
- return "1024x768" if $mac_model =~ /PowerBook1,1/; #- 800x600 not a pretty site on Powerbook
- }
+ if (arch() =~ /ppc/) {
+ return "1024x768" if detect_devices::get_mac_model =~ /^PowerBook|^iMac/;
+ }
my ($size) = @_;
$monitorSize2resolution[round($size || 14)] || #- assume a small monitor (size is in inch)
- $monitorSize2resolution[-1]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have
+ $monitorSize2resolution[-1]; #- no corresponding resolution for this size. It means a big monitor, take biggest we have
}
sub chooseResolutionsGtk($$;$) {
@@ -1059,6 +1060,7 @@ EndSection
print G $monitorsection_text1;
print F qq( Identifier "$O->{type}"\n);
print G qq( Identifier "$O->{type}"\n);
+ print G qq( UseModes "Mac Modes"\n) if arch() =~ /ppc/;
print F qq( VendorName "$O->{vendor}"\n);
print G qq( VendorName "$O->{vendor}"\n);
print F qq( ModelName "$O->{model}"\n\n);
@@ -1075,6 +1077,7 @@ EndSection
print F ($O->{modelines} || '') . ($o->{card}{type} eq "TG 96" ? $modelines_text_Trident_TG_96xx : $modelines_text);
print F "\nEndSection\n\n\n";
print G "\nEndSection\n\n\n";
+ print G $modelines_text_apple if arch() =~ /ppc/;
foreach (2..@{$o->{card}{cards} || []}) {
print G qq(Section "Monitor"\n);
print G qq( Identifier "monitor$_"\n);
diff --git a/perl-install/Xconfigurator_consts.pm b/perl-install/Xconfigurator_consts.pm
index 5bce19478..aad9fc13c 100644
--- a/perl-install/Xconfigurator_consts.pm
+++ b/perl-install/Xconfigurator_consts.pm
@@ -112,7 +112,8 @@ use common qw(:common);
__("16 MB or more") => 16384,
);
-$good_default_monitor = "High Frequency SVGA, 1024x768 at 70 Hz";
+$good_default_monitor = arch !~ /ppc/ ? "High Frequency SVGA, 1024x768 at 70 Hz" :
+ detect_devices::get_mac_model =~ /^iBook/ ? "iBook 800x600" : "iMac/PowerBook 1024x768";
$low_default_monitor = "Super VGA, 800x600 at 56 Hz";
%standard_monitors = (
@@ -654,6 +655,19 @@ Modeline "800x600" 50 800 856 976 1040 600 637 643 666 +hsync +vs
# 1024x768 @ 70 Hz, 56.5 kHz hsync
Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
';
+$modelines_text_apple = '
+Section "Modes"
+ Identifier "Mac Modes"
+ # Apple iMac modes
+ Modeline "1024x768" 78.525 1024 1049 1145 1312 768 769 772 800 +hsync +vsync
+ Modeline "800x600" 62.357 800 821 901 1040 600 601 604 632 +hsync +vsync
+ Modeline "640x480" 49.886 640 661 725 832 480 481 484 514 +hsync +vsync
+ # Apple monitors tend to do 832x624
+ Modeline "832x624" 57 832 876 940 1152 624 625 628 667 -hsync -vsync
+ # Apple PowerBook G3
+ Modeline "800x600" 100 800 816 824 840 600 616 624 640 -hsync -vsync
+EndSection
+';
$modelines_text = '
# This is a set of standard mode timings. Modes that are out of monitor spec
# are automatically deleted by the server (provided the HorizSync and
diff --git a/perl-install/mouse.pm b/perl-install/mouse.pm
index 08205213a..cdcc453f5 100644
--- a/perl-install/mouse.pm
+++ b/perl-install/mouse.pm
@@ -40,7 +40,8 @@ my %mice =
'USB' =>
[ [ 'usbmouse' ],
- [ [ 2, 'ps/2', 'PS/2', __("Generic") ],
+ [ if_(arch() eq 'ppc', [ 1, 'ps/2', 'PS/2', __("1 button") ]),
+ [ 2, 'ps/2', 'PS/2', __("Generic") ],
[ 5, 'ps/2', 'IMPS/2', __("Wheel") ],
]],
@@ -192,6 +193,8 @@ sub write {
$_ = '' if /^\Qdev.mac_hid.mouse_button/;
$_ .= $s if eof;
} "$prefix/etc/sysctl.conf";
+ #- hack - dev RPM symlinks to mouse0 - lands on mouse1 with new input layer on PPC input/mice will get both ADB and USB
+ symlinkf "/dev/input/mice", "$prefix/dev/usbmouse" if ($mouse->{device} eq "usbmouse");
}
}
@@ -227,7 +230,7 @@ sub detect() {
}
if (arch() eq "ppc") {
return fullname2mouse(detect_devices::hasMousePS2("usbmouse") ?
- "USB|Generic" :
+ "USB|1 button" :
# No need to search for an ADB mouse. If I did, the PPC kernel would
# find one whether or not I had one installed! So.. default to it.
"busmouse|1 button");