12 May 2009

Thanks, Yellow Dog! :-)

Executive summary:
If you are having trouble getting Debian Lenny to give you anything other than 800x600 resolution on a Macintosh Cube, try the xorg.conf file below.

The long version:
In a previous post, I mentioned how easy it was to tweak the Etch-based version of SkinnyDebbie so it worked on a Macintosh Cube. More recently, I've directed some energy into getting Lenny up and running on the Cube as a precursor to making the upcoming Lennified version of Skinny work on it as well.

My adventure started by installing the Xfce version of Lenny on the Cube, and it worked ... sort of. As long as I was happy with 800x600 resolution, it worked fine. As far as other resolutions go, there were none. 800x600 was the only thing available. Much Googling and dinking around with /etc/X11/xorg.conf changed nothing or made the situation worse.

So, I tried a full Gnome install. Same thing. I tried building a system from the ground up, adding all the bits and pieces incrementally. I got no further than installing xserver-xorg. Groan. More Googling and I learned that the r128 driver used by the ATI Rage 128 Pro card has been relegated to legacy status. Despondency ensues.

I then turned my attention to other distributions in the hope that whatever goofy thing was responsible for this was resolved there. Ubuntu? Nope. PPC no longer officially supported, and a recent install disk wouldn't even pass Go. Fedora? Worth a shot ... I downloaded the Xfce spin and ... exact same behavior. More despondency.

Then I remembered Yellow Dog Linux. YDL is a distribution specifically targeting PPC machines, including the Sony Playstation and older Macs. The number of packages supported by YDL is fairly limited, but, hey, a 1280x1024 Cube beats a 800x600 Cube even if it means having to compile everything yourself. So I gave it a shot ... and it worked! Oh, what glory. Gnome and Enlightment only, but it worked.

Then I had an idea. What if I take the display-related stuff in YDL's xorg.conf and use it in Lenny? I was fully expecting a catastrophic video fail with this, but maybe I would learn something in the process. And, much to my surprise, it worked!


Hoo-ray! Full resolution Macintosh Cube Lenny at last!

Now, I know I'm not the only one with this problem. I suspect there are at least ten of us that are in this boat. So for the benefit of the remaining nine, I present below the xorg.conf file that finally did the trick. I haven't spent any time trying to figure out what the magic change is, I'm just so jazzed that it works that I wanted to share.
# xorg.conf (X.Org 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 xorg.conf manual page.
# (Type "man 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 "InputDevice"
Identifier    "Generic Keyboard"
Driver        "kbd"
Option        "XkbRules"    "xorg"
Option        "XkbModel"    "pc104"
Option        "XkbLayout"    "us"

Section "InputDevice"
Identifier    "Configured Mouse"
Driver        "mouse"

Section "Device"

#Option    "ShadowFB"    "true"
#Option    "fbdev"    "/dev/fb0"
#BusID    "0:0:0"
Identifier  "Card0"
Driver      "fbdev"
Option        "UseFBDev" "true"

Section "Monitor"
### Comment all HorizSync and VertSync values to use DDC:
Identifier   "Monitor0"
ModelName    "Monitor Model"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync    30.0 - 81.0
VertRefresh  56.0 - 60.0
Option        "DPMS"

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth     24
SubSection "Display"
Depth     8
Modes    "1024x768"
SubSection "Display"
Depth     16
Modes    "1024x768"
SubSection "Display"
Depth     24
Modes    "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
SubSection "Display"
Depth     15
Modes    "1024x768"

#Section "DRI"
#    Group        0
#    Mode         0666


John Walker said...

I know you posted this years ago - but it has just helped me get the latest Xubuntu working on my G4 Cube. I had installed the PowerPC version of ubuntu server 13.04, upgraded to 13.10, and then installed Xubuntu over the top. But nothing had worked to get the screen going until I found your post. Thanks!

Mithat said...

@John: Glad it helped! It takes a community to raise a penguin.