Archive for December, 2006

MacBook Pro status update

Wednesday, December 27th, 2006

I’ve been asked to keep my blog up to date with regard to Linux support of the MacBook Pro, so here are my latest findings. For more background, see the previous post on the same subject.

Anything that I don’t mention here or in another post can be assumed to work (or I just haven’t tested that particular thing yet, though I’m doing some extensive tests).

  • Sound: still nothing, none of the various patches floating are good enough
  • Battery life: no news here, 1h30 is the max you’ll get. You need to suspend to disk if you want to swap the battery, it’s not possible to do that in suspend to ram like it was on the PowerBook (G4 500, at least). Sad.
  • Heat/fan noise: catastrophic. Fans running at 4000-4200 rpm on a typical desktop or on my laps, down to 3000 rpm on a glass desktop. More on the SMC below.
  • ATI drivers: still suck. No PowerPLAY support on amd64, which means the GPU is running at the highest clock rate, consuming a lot of power and generating a lot of heat. XVideo makes the X server segfault, watching a short movie using vlc’s OpenGL output managed to crash the box hard, corrupting part of the kernel memory. fglrx kills the machine on resume.

In a previous post, I was reporting a lot of timeouts from the applesmc “driver”. After a (very) quick look at the AppleSMC kext for OS X, I know why this happens. It looks like the OS X driver uses an interrupt and configures the SMC for that. So it probably doesn’t poll the SMC 20 times per second like the applesmc “driver” does.

It also looks like the OS X driver uses SMC keys we know nothing about. I could also confirm that the SMC has access to temperature sensors for the CPU, GPU and memory, but it looks like we have no idea of the corresponding SMC keys. With this information, it’d be possible to switch the SMC to manual mode with a userspace governor.

What probably happens when we run Linux on this machine is that the SMC stays in automatic mode, and it’s very conservative in this mode. It won’t hesitate to run the fans at high speed to keep the machine safe. It is highly probable that the OS X driver is taking over the fan control to keep the machine both cool and quiet. This is mostly speculation, as the better device power management in OS X plays a role too, and the SMC could very well still be in automatic mode under OS X keeping the fans at low speed just because the machine generates way less heat.

Unfortunately, the AppleSMC kext isn’t released as part of Darwin, so we’ll have to wait until it is. Could be a long wait, though.

The SMC handles a lot of things. I don’t feel safe running an OS without a proper driver for the SMC on this machine. The fans probably aren’t designed to run at 4000+ rpm for 3 years and will probably fail early or something.

pommed v1.0

Sunday, December 24th, 2006

mbpeventd has just got a new name for Christmas, and it’s now called pommed :-)

I went toward a more generic name as we’re adding support for the PowerBook too (plus it’s a semi-private joke for Yves-Alexis and me). This should, by the way, make it in the next release or the one after the next.

New features:

  • Graphical clients ! Yay !
  • Fn mode can now be set by pommed
  • New -d option for debug

gpomme is a GTK+ client suitable for all environments; you should start it when your session starts.
wmpomme is a WindowMaker dockapp, as the name shows.

The next version will feature set methods in the DBus interface, and PowerBook support if it’s ready by then.

Due to the name change and new packages, the package is in NEW. You can grab it on http://people.debian.org/~jblache/pkg/pommed in the meantime.

This release means the mbpeventd-dbus branch is closed :-)

Merry Christmas to you all.

mbpeventd status update

Wednesday, December 20th, 2006

Here’s a quick status update for mbpeventd users; PowerBook users may be interested too ;-)

So, here we go:

  • DBus support is done
  • Graphical clients are available: mbpgtk for a GTK-based application similar to the pbbuttonsd client, wmmbp for a WindowMaker dockapp
  • PowerBook support: Yves-Alexis Perez is adding support for the latest PowerBooks with keyboard backlight, and he’s mostly done with it

The GTK client is complete but still needs a bit more work: configuration support, and changing the colors of the progress bar (currently the colors of the current GTK+ 2 theme are used).

Yves-Alexis could probably use some help on the PowerBook front, mainly for identifying the appropriate i2c device to use and other things. If you are interested by using mbpeventd on a PowerBook, check out the mbpeventd-ppc branch and give it a try.

Plan for upcoming releases:

  • DBus support and graphical clients
  • PowerBook support and graphical clients improvements
  • More PowerBook support (more machines supported)

As we’re adding PowerBook support, we’ll be renaming mbpeventd, so watch out for the new name when we’ll merge PowerBook support in :-)

Thanks to:

  • Yves-Alexis for the PPC support
  • Soeren Sonnenburg for the base of the GTK client

Source code, check it out using svn co :
DBus branch: http://svn.technologeek.org/repos/mbpeventd/branches/mbpeventd-dbus
PPC branch: http://svn.technologeek.org/repos/mbpeventd/branches/mbpeventd-ppc

mbpeventd v0.9: audio support

Saturday, December 16th, 2006

mpbeventd v0.9 is out featuring audio support, based on code contributed by Romain BEAUXIS.

Starting with this version, the initial backlight level setting is optional (see config file).

I’m opening a DBus branch based on this version; the goal is to have graphical clients reacting to the events sent through DBus, and eventually integrate with standard tools (HAL and gnome-power-manager have been mentionned).

If you have on opinion on that and want to help (ie, you are an mbpeventd user), feel free to contact me. If enough people are interested, I’ll move mbpeventd on Alioth.

Digi AccelePort drivers updated to 1.3-6

Friday, December 15th, 2006

I have just updated the dgap packages to dgap 1.3-6 (Digi part number 40002347_C).

Packages version 1.3.6-1 are available at the usual location, and apt-gettable using this source
deb http://debian.technologeek.org/ sarge non-free

I’ve added proper Release and Release.gpg files, the key used for signing being mine (0xF5D65169).

This release addresses the TTY flip buffer changes in kernel >= 2.6.16.

Previous releases are available in the old directory, should you need them; apt-get should be able to get the old packages if you explicitely specify the version.

If you are using these packages in a production environment and would like to see them land in Debian, even if in the non-free section, please drop me a mail. I’m mailing Digi again to try and solve the issues that prevent me from uploading the drivers into non-free.

mbpeventd v0.8

Thursday, December 14th, 2006

mpbeventd made it to unstable today, and I’ve just released version 0.8.

Changelog:

  • configuration file
  • Apple Remote support (optional)
  • small tweak on the ambient light sensors

Version 0.7 also fixed the machine identifier string for the Core2 Duo MacBook, which was wrong despite coming straight from the Apple Technote for the machine.

Tarball available on http://people.debian.org/~jblache/pkg/mbpeventd/

Browse the SVN repository or check it out from http://svn.technologeek.org/repos/mbpeventd/trunk

mbpeventd 0.6: MacBook support

Sunday, December 10th, 2006

mbeventd 0.6 is out, featuring support for the MacBook.

Thanks go to Ryan Lortie for his macbook-backlight tool, providing the backlight control routines for the Intel GMA950, and to Enrico Tassi for bringing this to my intention with his ITP (#402193) and testing the new version.

Thanks to Ludovic Rousseau who confirmed that mbpeventd was working on the Core Duo MacBook Pro.

Additionally, mbpeventd should now detect all versions of the Mac Intel laptops. If it doesn’t, please drop me a mail and the output of mbpeventd -f run as root. I’m still not sure that the SMBIOS detection will work when using an EFI-aware kernel.

Note: for the Core2 Duo machines, you need to use a kernel >= 2.6.19 for the function keys to work.

Version 0.6 AMD64 packages and sources: http://people.debian.org/~jblache/pkg/mbpeventd/

Still no sound support, it’s the next item on the TODO list. It’s going to be a bit tricky, and I’m not yet sure how that should work (wrt the fact that the laptops use 2 different outputs for the headphones and speakers).

ATI drivers suck

Saturday, December 9th, 2006

I am still trying to get the ATI drivers to work properly with my X1600 Mobility card.

And things are only getting worse.

I still cannot get the crt1 output to work, although the driver detects the VGA monitor connected to it. Enabling both lvds and crt1 doesn’t cut it. No, really, it doesn’t fucking work. No signal, no nothing.

But now I am getting segfaults every time I try to use a multimedia player, be it vlc or xine, even when explicitely using a good old x11 video output (ie, no XVideo), and the machine won’t resume anymore after a suspend to ram when fglrx is loaded.

Gee, instead of releasing such crappy drivers, can’t you just release the specs ?

Moreover they won’t accept bug reports from me because the machine is a laptop.

Morons.

mbpeventd v0.3 - MacBook Pro hotkeys event handler daemon

Friday, December 1st, 2006

mbpeventd is an event handler daemon for the hotkeys found on the MacBook Pro. It also handles the keyboard backlight, turning it on automatically when the ambient light is low. Volume adjustment is currently not supported, but will be supported in a future version.

Only the Core2 Duo MacBook Pro (MacBookPro2,2) is supported at the moment. If you own a Core Duo MacBookPro, please send me the output of the getSystemId or sysid command from the libsmbios-bin package so I can add support for this machine too (and you’ll volunteer to test the new version, of course ;-)).

Sources and AMD64 package available on http://people.debian.org/~jblache/pkg/mbpeventd/

As usual, no warranty, your laptop may crash, burn or explode while using this software and it may rape your goldfish or whatever pet your happen to own. Works for me ™.

Patches for MacBook support (LCD backlight for the Intel GPU) are welcome. Patches for ALSA sound support are welcome too.

mbpeventd includes the Radeon Mobility X1600 backlight routines written by Nicolas BOICHAT. Thanks !