Wednesday, September 11, 2013

A Debian Jessie Update

Since Wheezy turned stable, I've been running Jessie on a spare iBook with varying degrees of success/heartbreak, so I figured I'd throw in a progress report for those of you who are curious about upgrading (DON'T!!!!!!!!!!). I keeed.

It's actually been smooth running except for a few very slightly minor bugs. Like sound, for instance. Completely broken. I don't know if this affects every sound card, but mine isn't detected with the new kernel. Also, suspend to RAM has a very slight, minor bug. Also completely broken. I left two bug reports, No sound on PowerPC with Jessie upgrade and Suspend fails on iBook G3 Dual USB PowerPC, in case anyone wants to add to the crickets left by Debian's kernel maintainers.

Both of these problems can be dealt with, fortunately, by an easy workaround. If you upgraded from Wheezy to Jessie, you can boot into the previous kernel (3.2.0-4) by hitting tab at the second yaboot prompt and typing in "old". Afterward, sound and suspend should be back to normal. You can also install the 3.2.0-4 kernel from a clean Jessie install by adding:

deb http://security.debian.org/debian-security wheezy/updates main

(that's a space between debian-security and wheezy/updates, not a carriage return) to your /etc/apt/sources.list. After installing, follow the instructions on the sixth post on this Ubuntu thread about editing yaboot.conf to tell it to boot a specific kernel.

I suppose those problems will be eventually fixed, but with the latest update I saw even worse news. Xserver-xorg-video-radeon was updated to a KMS-only version, meaning if you have a Radeon GPU and don't have KMS activated, it throws it back to the fbdev driver, meaning video playback will suck and you'll only see 8 bit colors. You can fix the 8 bit colors problem by passing the yaboot parameter "video=radeonfb:1024x24-32@60" at start up (replace 1024x768 with your native resolution). This is familiar to anybody who followed zen's guide to installing Lubuntu. However, this won't help you speed up video playback which, as mentioned, sucks with fbdev.

You can always activate KMS with the yaboot parameter "video=radeonfb:off", but there are downsides (along with the upside of enabling 3d). First, KMS breaks suspend on PowerPC and I found no indication work is being done to correct this. Also, your keyboard brightness keys may not work. But worst of all, when I tried enabling KMS on two of my machines, I got a black screen (iBook) and persistant system freezes after boot (Sawtooth). So KMS is totally unusable for me. So how do I get back my fast 2d desktop with decent video playback that I had with the old radeon driver?

(UPDATE: You can greatly improve window-dragging performance by running Compton ["compton -b" to run it as a daemon])

Fortunately you can downgrade select packages. I'm sure there's a more elegant way by using dpkg, but here's my quick and dirty way of downgrading to the previous radeon driver. First, edit your /etc/apt/sources.list and change all the listings from jessie to wheezy. Then do a sudo aptitude update to update the repositories, then switch to a console and kill X with sudo /etc/init.d/yourloginmanager stop, and then (on one line):

sudo aptitude remove xserver-xorg-video-radeon

Aptitude told me it needed to remove two dependencies, xserver-xorg-video-all and xserver-xorg-video-ati as well, so I said fine and proceeded. Next, I reinstalled the drivers using the old wheezy repositories with (one line):

sudo aptitude install xserver-xorg-video-radeon xserver-xorg-video-all xserver-xorg-video-ati

There's one more step and that's to put a hold on the radeon driver, that is, to tell your package manager to keep it at that version and never upgrade it. I found the instructions for that at Not So Frequently Asked Questions, but it's basically:

sudo -s

to make yourself root. And then (on one line):

echo xserver-xorg-video-radeon hold | dpkg --set-selections

and to confirm the new setting:

dpkg --get-selections xserver-xorg-video-radeon

Finally you'll want to revert back to the Testing repositories by restoring your edits to /etc/apt/sources.list and running sudo aptitude update again.

Afterward when I did a full-upgrade to upgrade all my packages, the video-all and video-ati packages were upgraded, which I didn't care about, but the radeon package remained at its old version. Now when you startx or reboot, your desktop should be back to its old snappy self.

I should note here, you should be cautious about putting holds on packages. It's possible you can have a cascading amount of packages held back from upgrades as the dependencies on that original held package build up. But in this case with the radeon package it hasn't been a problem, but it's something to keep an eye on. I just made sure to save a note about how to hold and unhold packages from the above link.

^
^
^
No.

One more snafu you should be aware of, the new gtk-3-0 update will break some themes causing gtk3 applications to quit immediately upon open. I'm not sure this is a bug that will ever be fixed since the problem is supposedly with the themes themselves. So if yours breaks, you can either wait for the theme maintainer to release an update or find a new theme (and given I hate all themes, except one which I find satisfactory but which is now broken, this is an unfortunate burden). --UPDATE: or you could take the gtk-3.0 folder out of your theme folder from ~/.themes and use gtk3 apps without a theme.

I didn't bother downgrading gtk-3-0 because it had too many dependencies. It would've gotten too weird.

^
Looks like this bug is fixed.

So that's where Jessie is. I admit to being discouraged and depressed about it, especially on the graphics side. A few years ago I had this vision of Linux on PowerPC always getting better and better, but with support for older graphics cards being dropped left and right, and now this KMS-only business, it looks like we'll be patching together systems with sticks and chewing gum for the foreseeable future.

Maybe the Debian team can be convinced to realize they found perfection with Wheezy and to maintain it with security updates and backports for like the next ten years, or at least until our PATA hard drives burn out ;)

9 comments:

  1. Here's my yaboot.conf to get the KMS drivers working. On an iBook, you might try agpmode 4 since there's a quirk for that in the driver. I'm running a Mac Mini G4 which only works in PCI mode (agpmode = -1)

    image=/boot/vmlinux
    label=Linux
    read-only
    initrd=/boot/initrd.img
    append="quiet splash video=radeonfb:off video=offb:off radeon.modeset=1 radeon.agpmode=-1"

    You might also try the option radeon.dynclks=1, that should reduce power consumption somewhat.

    Cheers !

    ReplyDelete
  2. Don't fret, Dan. Jessie is still at least 18 months from being stable if history hold true. Since Debian is one of the last truly supported Linux on PowerPC, it's the one most of the remaining developers have gravitated to.

    Those of us loyal to Debian use also need to be vocal enough, and say that there is a need for these older GPU to be supported for years to come. If it ever truly comes down to band-aids and bubble gum, then I will do my part as I'm sure you will also.

    Regardless, Wheezy in 10 years will still be more capable and secure than whatever the newest Windows and Mac OS are then.

    ReplyDelete
    Replies
    1. At least Debian isn't the last to support PowerPC. We could always switch to Finnix ;)

      Delete
  3. Test versions of anything can be frustrating. Remember last December when the Wheezy installer started setting you up with a system that displayed white text on a white background? Yes, there was a workaround, but that problem lasted for months. Today the latest Jessie daily-build netinst.iso refused to boot because of an "Unknown or corrupt file system". Hmm... It just makes things more interesting, right?

    ReplyDelete
    Replies
    1. Ouch. I've been avoiding the Jessie installers. I used the Wheezy installer and then upgraded.

      Delete
  4. Things are are not getting any better.
    I just tried a dist-upgrade to jessie, and the system was truely a mess. After 2 hours, I just shook my fist at the screen, did a backup and popped the wheezy cd in for a clean reinstall. I ran testing without any issues for years on my p3 laptop, but with ppc, it is a different experience...
    >>>
    "Maybe the Debian team can be convinced to realize they found perfection with Wheezy and to maintain it with security updates and backports for like the next ten years"
    <<<
    Well, debian lts for 6.0 squeeze was announced just recently. Bummer it is planned only for i386 and amd64 ... so far; let's hope they can fit in another architecture. If not, there is also Netbsd, worth a shot.

    ReplyDelete
  5. Hi. Just a quick update from by iBook G3 800 MHz dual USB port. I had been using wheezy via a linux mint install for about 1.5 years - it all worked fine until I did some updates to install a driver for a USB wlan device (which did not work in the end anyway).

    I then tried both jessie and even stretch. They do work, as long as you want to use your ibook as a server, i.e. you don't get to work the screen. Sound worked on jessie "out of the box", I tried it with a vncserver on the ibook running. Furthermore, the apple airport card works fine. However, the system remains in an unusable state and none of the many suggestions to fix the display actually worked. I found some downgrading hacks to Xorg software (by using older versions) which is why I feel now more comfortable by re-installing wheezy from an install ISO burned to CD-ROM.

    I would like to thank all who contributed information but unfortunately, for the iBook G3 model I have I seem to be out of luck. At least I could still serve as a server at a later time point. But right now I'd like to have it as a laptop.

    If anyone gets any current debian (jessie / stretch / next one) to work with graphics on this ibook G3 PPC 14 inch dual USB, I would be grateful for a hint (juergen.hench(at)gmail.com).

    ReplyDelete
    Replies
    1. What were the symptoms? Black screen? Frozen login screen? Getting kicked back to a console?

      Delete
    2. Hi Dan

      thanks for the reply. The following applied to debian jessie and stretch on ibook G3 14 inch dual USB. The symptom is a black screen, i.e. non-working graphics after the xserver turns on (I suppose). Suspend is broken, hibernate, too. Sound works, network / airport works (all tested through a vnc4server session).

      I then downloaded Debian 7.8 (as an old install iso) and guess what:
      It installs fine, video works out of the box, sound works. Hibernate works. But: suspend does not work and Airport (installed card) does not work after wake up from suspend. Battery level is no longer indicated properly.

      I am wondering now what happened between debian wheezy <7.8 (which is what I installed originally and ALL worked) and 7.8 (last, "current"). Something must have changed. I am also wondering what would happen if I installed from a pre 7.8 iso. What would I need to pin down to prevent updates? I have no clue what exactly breaks suspend, and this is quite impairing.

      What I could do (as a last resort since I mostly want to use xvnc4viewer and the CD ROM drive) is to install from a pre 7.8 debian ISO and not update anything. It should leave me with a system I had working until 07-2015. Any other suggestions that do not involve serious patching (not really worth it, I think)?

      The hardware is anyway too slow and too limited even for iceweasel browsing, and libreoffice (to use it for writing) works surprisingly well.

      Furthermore, the airport card is much much worse than a cheap USB wifi stick, e.g. ZYDAS variants. I cannot recommend rtlwifi devices, though, from realtek with the ibook - they are recognized but the connection is not really formed.

      Delete