1

Found out that I can't use ACPI on my Macbook Pro 5,3 (2009) with Ubuntu 13.04. I tested it with the 3.6.x and 3.8.x kernels, and with nVidia drivers 310 ("tested" driver in "Additional driver") and 313 (also available in "Additional drivers").

If I boot with ACPI=off, the system runs good, but I can't go in suspend mode, the screen stays alive when I close the screen, and when I shut down the computer the process stops after the "system halt" message (and I'm forced to long-press the power button to shut it down once and for all).

If I boot with ACPI on (that is, I delete the "ACPI=off" in Grub2), I can manage the battery, I see it in Parametres > energy, but the system suddenly freezes after a minute of two, whatever I'm doing at the moment. I'm forced to long press the power button to reboot the system...

Any idea how to fix it?

3
  • I tried the NOUVEAU opensource driver instead of the nVidia proprietary driver, with and without ACPI=OFF in GRUB2. Well, it's even worse. With it, the desktop is sluggish as hell and I have no control of the battery. Without it, the screen is unstable and with plenty of colorfull vibrating lines. So I guess the trouble lies between the "faux BIOS" of the Macbook Pro and the Ubuntu system...
    – greguti
    Commented Jul 9, 2013 at 17:45
  • Tried something new: added the parameter MAXCPUS=1 to the boot sequence in GRUB2, while removing the ACPI=OFF parameter. This makes the Macbook run with only one of his two CPUs. Well... it works! The screen doesn't freeze anymore. But I got a weird drawback: after few minutes, the touchpad lost his configuration, "tap to click" and "2 fingers scrolling" are gone... Well it's not really a solution anyway because the computer only uses one of its CPUs, making it slightly less powerfull in heavy duties...
    – greguti
    Commented Jul 9, 2013 at 20:19
  • Finally, the MAXCPUS=1 parameter works ok! The trouble with the touchpad pointer was something totally different with no relation with it, I managed to fix it. So my MBP runs good with the battery recognized, suspend and hibernate work ok too. Only drawback is that I run with only one CPU instead of 2. But for everyday life with the MBP it's not noticeable.
    – greguti
    Commented Jul 11, 2013 at 9:12

1 Answer 1

1

Here is a workaround... It's not THE solution but at least it allows for a nice management of the battery and suspend/hibernate. The trick it to tell the system there's only ONE CPU instead of TWO. So that's not really a solution because the computer is a little bit less powerfull with only one CPU, but for the everyday life (browsing, editing images, watching stuff...) you won't see the difference.

In order to run with only one CPU, you have change your GRUB2 configuration file so that when the computer is booting, GRUB2 says to Ubuntu that there's one CPU to handle.

In order to do that, you have to edit the grub2 config file, update grub2, and then reboot.

1 - Edit your GRUB2 config file.

You can do that with a terminal. Type sudo nano /etc/default/grub to open the config file. There is a line GRUB_CMDLINE_LINUX="blah blah blah", add the parameter MAXCPUS=1 (maximum CPUs is 1) and delete the parameter ACPI=OFF.

Editing GRUB configuration with Nano

Save the modification (Crtrl+O then press ENTER) and close the file (CTRL+X).

2 - Update your GRUB

Still in the terminal, just type update-grub and presse ENTER.

3 - Reboot!

You can do that in the terminal with the command sudo reboot

Now you should see the battery indicator in your menu bar and the battery management options in System Settings > Energy Saving.

Ubuntu manages the power at last!

Additionnaly, you can install the TLP utility that allows for a better battery management. You just have to install it and forget about it, it will tweak the power management for a longer battery life, see here for details: Is there a power saving application similar to Jupiter?

Let's hope some update to come will allow for a good power management of the Macbook Pro 5,3...

2
  • I tried another parameter in the GRUB2 config file: adding ACPI_OSI=Linux (instead of ACPI=OFF). This paremeter tells the kernel that the BIOS is Linux-ready. I had a strange behavior with it: the system did run as expected for few hours, including a suspend time, but when I opened a video file, it froze after a minute. I could still hear the sound of the video but nothing else responded and I finally had to hard reboot... (using nVidia 313-Updates driver).
    – greguti
    Commented Jul 13, 2013 at 19:54
  • I have changed Acoi_OSI to Darwin and my Ubuntu recognizes everything, confirmed on Ubuntu 22.10 upgraded to 23.04.
    – Marco
    Commented Apr 25 at 3:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .