0018

Audio on the powerbook6,5 running Gentoo

Previously I have described, how to install Gentoo onto the iBook G4 (powerbook6,5). As you may have noticed, this did not include anything about audio capabilities. This has one simple reason - the kernel has to patched to get support. I have tried to submit a patch upstream, but nobody cared.

To patch the kernel to detec the audio chipset correctly, you have to create the patch file audio.patch at /usr/bin/src/linux/, put in the following content and patch the kernel using the command patch -p1 < audio.patch.

diff a/sound/aoa/fabrics/layout.c b/sound/aoa/fabrics/layout.c
--- a/sound/aoa/fabrics/layout.c
+++ b/sound/aoa/fabrics/layout.c
@@ -111,7 +111,9 @@ 
 MODULE_ALIAS("aoa-device-id-14");
 MODULE_ALIAS("aoa-device-id-22");
 MODULE_ALIAS("aoa-device-id-31");
 MODULE_ALIAS("aoa-device-id-35");
+MODULE_ALIAS("aoa-device-id-38");
+MODULE_ALIAS("aoa-device-id-40");
 MODULE_ALIAS("aoa-device-id-44");

 /* onyx with all but microphone connected */
@@ -368,7 +368,20 @@ 
        .connections = tas_connections_nolineout,
      },
    },
+   /* PowerBook6,4 */
+   { .device_id = 40,
+     .codecs[0] = {
+       .name = "tas",
+       .connections = tas_connections_all,
+     },
+   },
    /* PowerBook6,5 */
+   { .device_id = 38,
+     .codecs[0] = {
+       .name = "tas",
+       .connections = tas_connections_all,
+     },
+   },
    { .device_id = 44,
      .codecs[0] = {
        .name = "tas",
diff a/sound/aoa/soundbus/i2sbus/core.c b/sound/aoa/soundbus/i2sbus/core.c
--- a/sound/aoa/soundbus/i2sbus/core.c
+++ b/sound/aoa/soundbus/i2sbus/core.c
@@ -197,7 +197,7 @@ 
             * so restrict to those we do handle for now.
             */
            if (id && (*id == 22 || *id == 14 || *id == 35 ||
-                  *id == 31 || *id == 44)) {
+                  *id == 31 || *id == 44 || *id == 40 || *id == 38)) {
                snprintf(dev->sound.modalias, 32,
                     "aoa-device-id-%d", *id);
                ok = 1;

To activated ALSA, you have to add the alsa USE flag to /etc/portage/make.conf and update the system using emerge --ask --changed-use --deep @world.

After that you can continue to install media-sound/alsa-utils.

Note: For me, after installation, there was still no audio. I had to run alsamixer and set PCM to a reasonable volume.

To get XFCE integration you could install xfce4-alsa-plugin or pulseaudio, but adjusting the audio via alsamixer should work also.

Next Post Previous Post