Pages

May 12, 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!

Gasp.

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"
EndSection

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

Section "Device"

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


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"
EndSection

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

#Section "DRI"
#    Group        0
#    Mode         0666
#EndSection

May 04, 2009

Not all Xfce's are equal

I happened by chance onto a post in the CrunchBang Linux forum that led to an interesting article comparing Debian's and Ubuntu's Xfce-based desktop installs. And now that Wicd is available in Ubuntu 9.04 as well as in Debian testing and lenny-backports, I am starting to get unreasonably excited.

A .fonts.config file

For whatever it's worth, I've been having pretty good luck with the following .fonts.conf file after installing msttcorefonts in both Debian Lenny and in Ubunty 8.10 (Intrepid). I haven't really tried it in Ubuntu 9.04 (Jaunty), but it's worth noting that msttcorefonts is called ttf-mscorefonts-installer in 9.10.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit mode="assign" name="autohint">
<bool>false</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintfull</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>

April 04, 2009

CrunchBang Linux

The people over at CrunchBang Linux have put together what they promise is a lightweight Ubuntu-based distribution. It comes in Standard, Lite and Eee versions. I have yet to try it, but I absolutely love the minimalist default desktop and am very impressed by what I've read.

CrunchBang's approach to implementation and design differs a bit from what I'm trying to do (ever so slowly lately) with SkinnyDebbie. Implementation-wise, CrunchBang is a full distribution that is based on a standard distribution (Ubuntu); SkinnyDebbie is a configuration that sits on top of a standard (currently Debian) distribution. In terms of design, without actually trying it I can't say for sure, but it looks as though CrunchBang is aimed at users that have at least a bit of Linux familiarity and a tiny bit of hardware headroom.; the design philosophy behind SkinnyDebbie is to make it as useful and inviting as possible to computer newbies while using the lightest-weight core options that still get the job done.

Of course neither approach is better than the other; CrunchBang and Skinny are intended for slightly different audiences/flavors of users. If you are looking for a lightweight Linux distribution, please give CrunchBank a spin and let me know what you think. If CrunchBang had been around when I started Skinny, I might never have started it. :-)

March 12, 2009

SkinnyDebbie has moved

I've moved SkinnyDebbie to a new home. Skinny's new home will be able to give the project more of the services it wants and needs. From now on, the best place to get the Skinny is http://skinny.tuxfamily.org/ .

January 29, 2009

The Joy of X



I've been doing some work with Lenny in its current pre-released state. It's actually pretty stable and usable, with one 1000-pound gorilla exception: X.

In case you are as new to Linux as I was last year, the X Window System (or simply X) is the name of the service that provides graphics in Linux. There used to be competing flavors of X, but now the world has pretty much settled on the version offered by the X.Org project. In contrast with the myriad choices for file managers, text editors, window managers, etc. that characterizes the rest of Linux, if you want graphics (i.e., GUI), you need to deal with X, and you will almost certainly be dealing with X.Org's implementation.

Right now I kinda wish you didn't.

The 1000-pound issue with the latest (i.e., found in Lenny) version of X involves automatic modes detection. In Etch, when you installed X the installer ran a script that made a reasonable guess concerning what your video system was capable of and then asked you if it got it right. Then it would write the data to /etc/X11/xorg.conf and use that data when delivering services. If you changed/added monitors or video cards you had to rerun the config routine with

# dpkg-reconfigure -phigh xserver-xorg


(as root) and that would generate a new xorg.conf file. The syntax of the xorg.conf file is really painful, especially for your grandmother, but if for some reason you needed to optimize some settings manually, you could. This hasn't been needed on any of the four SkinnyDebbie systems I use. Overall, the arrangement was not ideal, but it was workable.

Then the X people decided to make it ideal. The idea(l) is that the video system should tell the X server what the video system is capable of when the X-session starts up, and X should then use that data. If you change/add hardware, all you need to do is restart your X session. Beautiful.

Except in my Lenny experience a lot of video cards and monitors (especially slightly older ones) do not (correctly) tell the system what they are able to do. And while you can still hand-edit the xorg.conf file to force it to tell X what the video system can do, there is no way to get the data into the xorg.conf file without teaching your grandmother the painful xorg.conf syntax. In other words as near as I can tell, dpkg-reconfigure -phigh xserver-xorg doesn't have a "manual override" mode. Ugh.

Just as bad:
The standard Linux program for resizing/rotating your display is called xrandr. Among its jobs are reporting back to you what the X system says you can set for resolution and refresh rate and allowing you to select the mode you want to use. Except it hasn't worked with any setup I've used using totally autoconfigured X.

I really, really hope this one gets worked out.