PDA

View Full Version : [ubuntu] iBook G3 unusable display


Orobouros
November 13th, 2008, 01:02 AM
I've decided to put Ubuntu on my iBook G3 500 MHz dual-USB late-2001 model. Installation (8.10) went great, and I was recommended to install xfce as a nice lightweight desktop. So I tried "sudo apt-get install xubuntu-desktop" and after leaving the laptop sit for an hour or so, came back to a command prompt. I restarted, hoping to see a login or desktop when it finished, but instead I got a mess. Granted, the installer exited with (1), not zero, but I figured if it was a critical error, the desktop wouldn't launch.

It's a bit hard to describe, but "rainbow vomit" sounds about right. Unlike others who seem to have this problem, my screen is 100% unusable. There are single-colored lines of various widths up and down, and the rest of the screen has some colored blotches in it.

I have ssh set up, and a computer to log in from, so I can get around to the xorg.conf file and such fairly easily. I've found a lot of threads here and elsewhere with people suffering from very similar problems, but none of their solutions have helped me. I hear it's a bad problem with the ATi rage mobility drivers.

I use Linux every day at work, but I've never managed it in any way. Here's my xorg.conf file:

#PPC xorg.conf that works
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/cyrillic"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizScrollDelta" "0"
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/wacom" # Change to
# /dev/input/event
# for USB
Option "Type" "stylus"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/wacom" # Change to
# /dev/input/event
# for USB
Option "Type" "eraser"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/wacom" # Change to
# /dev/input/event
# for USB
Option "Type" "cursor"
Option "ForceDevice" "ISDV4" # Tablet PC ONLY
EndSection

Section "Device"
Identifier "ATI Technologies, Inc. Rage Mobility M3 AGP 2x"
Driver "ati"
BusID "PCI:0:16:0"
Option "UseFBDev" "true"
EndSection

Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-51
VertRefresh 43-60
EndSection

Section "Screen"
Identifier "Default Screen"
Device "ATI Technologies, Inc. Rage Mobility M3 AGP 2x"
Monitor "Generic Monitor"
DefaultDepth 16
SubSection "Display"
Depth 1
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 4
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 15
Modes "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
# SubSection "Display"
# Depth 24
# Modes "1024x768" "800x600" "640x480"
# EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
InputDevice "Synaptics Touchpad"
EndSection

Section "DRI"
Mode 0666
EndSection

This is the same file found here: http://ubuntuforums.org/showthread.php?p=3227440#post3227440

stream303
November 13th, 2008, 05:01 AM
Copying over an older xorg.conf to Intrepid 8.10 may not be advisable, due to the new way the x server handles things. Amazingly, the xorg.conf you get from an initial Intrepid install contains nothing at all!

Using your old xorg.conf as a guide, you may want to experiment with this much simplified version - some things have been purposely left out, since the x server handles things differently. Even though it shows the values for my G5 iMac, you can customize it to your needs:

http://ubuntuforums.org/showthread.php?t=978303

One thing I'd do is try the "r128" driver instead of ati, and definitely try it without glx or dri as indicated as disabled in the example in that thread. I'd also verify the vertical and horizontal freqs.

On boot, try
Linux video=ofonly nosplash
and see how far that gets you as well. If it works, you can modify your yaboot.conf to take care of it from then on. There are a few threads showing how to make the system aware of yaboot.conf edits with sudo ybin -v

Be sure to see the faqs:
https://wiki.ubuntu.com/PowerPCKnownIssues
and
https://wiki.ubuntu.com/PowerPCFAQ

Being able to get into it via ssh is great rather than go through the rescue-mode like I've done way too many times over the years.. :)

Orobouros
November 13th, 2008, 08:28 PM
Thanks for the ideas. They've worked somewhat so far. I had to edit yaboot.conf making two changes. First the mentioned "nosplash" (at the very bottom) and second changing "append="quiet splash"" to just "quiet". I'm not sure if one alone does the trick, but this is working so far.

## yaboot.conf generated by the Ubuntu installer
##
## run: "man yaboot.conf" for details. Do not make changes until you have!!
## see also: /usr/share/doc/yaboot/examples for example configurations.
##
## For a dual-boot menu, add one or more of:
## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ

boot=/dev/hda2
device=/pci@f2000000/mac-io@17/ata-4@1f000/disk@0:
partition=3
root=/dev/hda3
timeout=50
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot

image=/boot/vmlinux
label=Linux
read-only
initrd=/boot/initrd.img
append="quiet"

image=/boot/vmlinux.old
label=old
read-only
initrd=/boot/initrd.img.old
append="nosplash fb=false"

video=ofonly nosplash


I also edited the xorg.conf file as follows, based largely on your suggestion.

## THIS IS FOR MY late-2001 iBook G3 500 dual-USB -- change accordingly!

# Choose either the rage128 or ati drivers; comment out the other option
Section "Device"
Identifier "ATI Technologies, Inc. Rage Mobility M3 AGP 2x"
Driver "r128"
# Driver "ati""
BusID "PCI:0:16:0"
Option "UseFBDev" "true"
EndSection

# I got these values from another iBook xorg.conf file
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 28-51
VertRefresh 43-60
EndSection

# I manually put in 16bit display and the iBook screen size
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
EndSection

# Don't know if these need to be disabled,
# but I figure it's one less thing to go wrong
Section "Module"
Disable "glx"
Disable "dri"
EndSection


I'm still trying to figure out why this puts it in "low graphics mode," but at least the screen is readable. Once I get more improvements, I'll post here, but wanted to at least get the basics in, should anybody else be facing this problem.

stream303
November 14th, 2008, 04:00 AM
Note that any changes you make to yaboot.conf won't be recognized by the system until you do:

sudo ybin -v

afterwards. I see two small problems here:

image=/boot/vmlinux
label=Linux
read-only
initrd=/boot/initrd.img
append="quiet"

image=/boot/vmlinux.old
label=old
read-only
initrd=/boot/initrd.img.old
append="nosplash fb=false"

video=ofonly nosplash

When you find a combination of kernel parameters you like, you'll probably want to apply it to both of "append =" lines in both of the kernel image sections, not just one.

Also, the line
video=ofonly nosplash
won't work stand alone like that in yaboot.conf. Those kinds of options only go into the "append=" lines. So take that last line out, perhaps correct your first kernel image append= line to include what options you want, and then follow up with a sudo ybin -v

Typically one experiments with kernel options at the second-stage boot: prompt, by hitting TAB to stop the automatic countdown, and then trying various options like Linux video=ofonly nosplash - and if that works well, put it into the append= lines in yaboot.conf, followed by sudo ybin -v, and you'll never be bothered by it at boot time.

I also edited the xorg.conf file as follows, based largely on your suggestion.

Looks ok, although I wonder if commenting out the BusID line would work since you got the xorg.conf from another machine. Also, need to doublecheck those horizontal and vertical freqs. Not all ibooks are the same, and some may mistakenly report and ibook when they really meant powerbook and visca versca. It may also be worthwhile to change the xorg.conf fbdev to false. I'll have to dig through some of the archived read-only ppc forum threads for more hints.

And even if graphics don't come up, you may be able to get into a virtual terminal and take a look at /var/log/Xorg.0.log and see what's causing the hiccups.