[HOWTO] 2012 Retina Display Macbook Pro and openSUSE Linux

I just wanted to share how I got openSUSE running on my 2012 Retina display Macbook Pro.

**What I have working so far:
**

  • Retina Display
  • openSUSE looks fantastic at 2880x1800! - Booting in emulated BIOS mode
  • Booting in EFI mode
  • Keyboard and Trackpad - full support including the function key on the keyboard, the keyboard backlight and multifinger support on the trackpad
  • Sound - this is a fantastic sounding laptop
  • 3D Acceleration - via the NVidia 650m graphics card
  • Sensors - including temperatures and fan speeds
  • Bluetooth

What I don’t have working yet:

  • 3D acceleration using the integrated Intel graphics card
  • Screen backlight control
  • Suspend and Hibernate
  • Built-in wireless card
  • Thunderbolt

What I haven’t tested yet:

  • Webcam
  • Card reader
  • External Monitor

I will be filling in this post over the next few days. If anyone has any questions feel free to ask them here and I will do my best to answer.

Many thanks to the openSUSE and SUSE teams for creating the best all-around distribution for serious professionals and hackers.

Ugh… This forum doesn’t let you edit your own posts???

On Fri, 22 Jun 2012 04:06:02 +0000, clipcarl wrote:

> Ugh… This forum doesn’t let you edit your own posts???

Please see the forum FAQ, it explains why.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Hello. I’m very interested in your progress.
Please keep us informed by updating this thread!

Some questions I have:

  1. “3D acceleration using the integrated Intel graphics card”
    Did you boot with the HD4000 and have you tried to disable the nVidia?

  2. Suspend and Hibernate
    Does it work with nVidia disabled?

  3. “Built-in wireless card”
    Is it supported in theory by Linux?

  4. “Thunderbolt”
    Do you have the Thunderbold ethernet adapter?

Can you send me (or post) the output of lspci and lsusb (to get an idea of the used hardware)?

Regards
Sven

I read the the reason in the FAQ, and maybe the advantages of letting people edit their posts outweighs the advantage of syncing to an NNTP news feed. First, no one uses NNTP anymore (at least not for this sort of thing). It is 2012 after all! Second, When searching forums for threads like this, it’s much more useful if there is one post with all the consolidated information at the top so that people don’t have to read pages and pages of posts to glean scraps of useful information here and there. I think you should reconsider this policy because it would make these forums more useful and bring it to parity with other forums on the internet. Also, the forum says that an Administrator can allow you to edit your post after the 10 minute window. Perhaps you could give me that right for this post?

Thank you,
Carl Thompson

OK, will do.

I’m not sure how to disable the NVIDIA card. I believe the apple-mux driver would need to be working for that and I haven’t figured out how to patch it for the MacbookPro10,1 yet.

See above.

It’s the same Broadcom bcm4331 used in last year’s MacbookPro8,x. I have one of those 17 inch models and I seem to remember having that card working under Linux (I could be wrong). However, I swapped the glossy screen on mine for the matte screen from the previous year’s model. When I did that I also swapped the wireless card because the antenna leads were different. So I’m now using a different card in that laptop.

For sure the Broadcom wl driver does not work with the 4331 and currently the in-kernel brcmsmac driver also does not work. However, the Linux Wireless folks say that 4331 support is on the near-term short list for support in the brcmsmac driver so we shouldn’t have long to wait.

I’ll fiddle with some stuff and see if I can get it to work. For the moment I’m using a tiny USB wireless card that’s so small it barely pokes out of the USB port.

I do have the adapter, and nothing happens when I plug it in. I have not looked at the kernel yet (I’m running a modified 3.4-pf2 kernel) to see if there even support in Linux for Thunderbolt yet.

[root@tweak ~]# lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 0411:01a2 BUFFALO INC. (formerly MelCo., Inc.) WLI-UC-GNM Wireless LAN Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 05ac:8510 Apple, Inc.
Bus 002 Device 003: ID 0424:2512 Standard Microsystems Corp. USB 2.0 Hub
Bus 002 Device 008: ID 05ac:8286 Apple, Inc.
Bus 002 Device 004: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)
Bus 002 Device 005: ID 05ac:0262 Apple, Inc.

[root@tweak ~]# lspci
00:00.0 Host bridge: Intel Corporation Ivy Bridge DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Ivy Bridge PCI Express Root Port (rev 09)
00:01.1 PCI bridge: Intel Corporation Ivy Bridge PCI Express Root Port (rev 09)
00:01.2 PCI bridge: Intel Corporation Ivy Bridge PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Ivy Bridge Graphics Controller (rev 09)
00:14.0 USB controller: Intel Corporation Panther Point USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation Panther Point MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation Panther Point High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Panther Point LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation Panther Point 6 port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation Panther Point SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 0fd5 (rev a1)
01:00.1 Audio device: NVIDIA Corporation Device 0e1b (rev a1)
03:00.0 Ethernet controller: Broadcom Corporation Device 16a3 (rev 10)
03:00.1 SD Host controller: Broadcom Corporation NetXtreme BCM57765 Memory Card Reader (rev 10)
04:00.0 Network controller: Broadcom Corporation BCM4331 802.11a/b/g/n (rev 02)

Thanks,
Carl

Here’s a a link to the obligatory screenshot (embedding it here doesn’t seem to work):

Screenshot

Output of lsusb -vv](https://docs.google.com/open?id=0B_TqpycqH1iHZlpQWEw5QlQ0RkE)
**
Output of lspci -vv**](https://docs.google.com/open?id=0B_TqpycqH1iHZWdfREFxMzZxR2c)

Booting the install CD:

  • Obviously, you’ll need an external USB CD drive as this machine does not have an internal optical drive.
  • You need the nomodeset
    kernel command line option to keep the screen from freaking out - You need the nointremap
    kernel command line option to keep the system from locking up as soon as the kernel loads - I recommend the vga=0x361
    kernel command line option to run the install at 1280x800 resolution - I used the beta 12.2 snapshot live CD to install. I don’t know if it will work with older install images (warning:
    the beta install works fine but the installed system has some serious problems related to glibc. I couldn’t do any package management without segfaults. I’m sure that will be fixed soon but I ended up wiping it out and restoring a backup of one of my other macbook’s Tumbleweed install and going from there.)

After you boot the CD you should be able to install somewhat normally. The graphical install works using the framebuffer driver. The keyboard and trackpad work for the install (barely). After the install I fixed them to work perfectly with kernel patches.

> I read the the reason in the FAQ, and maybe the advantages of letting
> people edit their posts outweighs the advantage of syncing to an NNTP
> news feed. First, no one uses NNTP anymore (at least not for this sort
> of thing). It is 2012 after all!
Really??? I use it, and I’m not the only one

Does bumblebee (Bumblebee - NVIDIA Optimus support for Linux!) help here?

To my information, Thunderbold devices should appear as PCI devices. Maybe you need PCI Hotplug support enabled? And rescan the PCI bus?

Thanks for this!

Regards
Sven

Really? You use an NNTP news reader to read the openSUSE forums? So why are you using your web browser to read this thread? Or are you using NNTP now? I stand corrected if so. But I still think the advantages of being able to edit a post outweigh it. After all, the web is supposed to be a fluid medium and they could always sync modified posts to NNTP too.

Thanks,
Carl

See for yourself,


Path:
kozak.provo.novell.com!kortar.provo.novell.com!kozak.provo.novell.com.POSTED!53ab2750!not-for-mail
From: VampirD <vampird@no-mx.forums.opensuse.org>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120428
Firefox/12.0 SeaMonkey/2.9.1
MIME-Version: 1.0
Newsgroups: opensuse.org.help.hardware.laptop
Subject: Re: [HOWTO] 2012 Retina Display Macbook Pro and openSUSE Linux
References: <clipcarl.5ejke0@no-mx.forums.opensuse.org>
<clipcarl.5ejls0@no-mx.forums.opensuse.org>
<lYSEr.98$U81.22@kozak.provo.novell.com>
<clipcarl.5ekey1@no-mx.forums.opensuse.org>
In-Reply-To: <clipcarl.5ekey1@no-mx.forums.opensuse.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Lines: 6
Message-ID: <wv0Fr.119$U81.28@kozak.provo.novell.com>
Date: Fri, 22 Jun 2012 15:50:52 GMT
NNTP-Posting-Host: 201.217.132.98
X-Trace: kozak.provo.novell.com 1340380252 201.217.132.98 (Fri, 22 Jun
2012 09:50:52 MDT)
NNTP-Posting-Date: Fri, 22 Jun 2012 09:50:52 MDT
Xref: kortar.provo.novell.com opensuse.org.help.hardware.laptop:15931

> I read the the reason in the FAQ, and maybe the advantages of letting
> people edit their posts outweighs the advantage of syncing to an NNTP
> news feed. First, no one uses NNTP anymore (at least not for this sort
> of thing). It is 2012 after all!
Really??? I use it, and I'm not the only one

all my post are from Seamonkey or Knode (I know that my web browser is
not the only app, its just a browser), but I think you’re more concerned
about the method used by the users to post here than fix your own
configuration problem, you may read all the FAQ… for example the
following extract of the FAQ Why can’t I edit my message?

…Second, editing a post after it has replies could invalidate those
replies because the original information changed. Posting a follow up
reply with additional/changed information allows any previous reply to
stay in context.

I think this thread is a bit troll >_0

On Fri, 22 Jun 2012 14:36:03 +0000, clipcarl wrote:

> I read the the reason in the FAQ, and maybe the advantages of letting
> people edit their posts outweighs the advantage of syncing to an NNTP
> news feed. First, no one uses NNTP anymore (at least not for this sort
> of thing).

I do, and I’m not the only one. It’s far more efficient for me to use
(and others find it that way). This discussion has been had many, many
times, and for now, the NNTP interface is going to stay.

> It is 2012 after all! Second, When searching forums for
> threads like this, it’s much more useful if there is one post with all
> the consolidated information at the top so that people don’t have to
> read pages and pages of posts to glean scraps of useful information here
> and there. I think you should reconsider this policy because it would
> make these forums more useful and bring it to parity with other forums
> on the internet. Also, the forum says that an Administrator can allow
> you to edit your post after the 10 minute window. Perhaps you could give
> me that right for this post?

I would suggest working the content out in a discussion thread, then
combine it together into a single coherent post and ask if it can be
promoted to an article. Once it’s an article, then it falls to a
different location on the site and if it needs to be updated then, it can
be.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

On Fri, 22 Jun 2012 16:26:02 +0000, clipcarl wrote:

> Really? You use an NNTP news reader to read the openSUSE forums? So why
> are you using your web browser to read this thread? Or are you using
> NNTP now? I stand corrected if so.

Yes. The gateway passes messages back and forth between the web
interface and an NNTP server. I help maintain that gateway, in fact.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

I haven’t that yet. I’ll give it a try this weekend.

It looks like I have the pciehp and pci_hotplug modules but they weren’t loaded. I assumed that they would be auto-loaded but maybe not. I’ll manually load them and give it another try when I get home tonight (I don’t have the adapter with me).

Also, I hear that Apple just released a Thunderbolt update to support the ethernet adapter. I didn’t think I needed it Linux, but I’ll install it anyway in case it actually modifies the firmware / ACPI / whatever in some way. I still have OS X on an external drive so I should be able to install it with no problem.

OK, I’ll do that.

Thanks,
Carl

What configuration problem are you suggesting that I have?

I did read that and it is self-justifying nonsense in my opinion. Thus I didn’t respond to it.

This thread is a troll? I’m trying to document how to run openSUSE on the this laptop as it’s not an easy process and requires several kernel patches. What useful information have you contributed to this thread? Yet you’re calling me a troll?

On Fri, 22 Jun 2012 17:26:02 +0000, clipcarl wrote:

> VampirD;2470764 Wrote:
>>
>> I think this thread is a bit troll >_0
>>
> This thread is a troll? I’m trying to document how to run openSUSE on
> the this laptop as it’s not an easy process and requires several kernel
> patches. What useful information have you contributed to this thread?
> Yet you’re calling me a troll?

OK, this stops now. Let’s keep the thread on topic. The question about
why the 10 minute editing window has been answered and that topic no
longer needs further discussion here.

If either of you have any questions about what is and isn’t permitted
behaviour here, see the link in my signature.

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

I’ve modified several kernel drivers to support this laptop. Here is a patch against the vanilla 3.4 kernel.

  • For bluetooth support btusb.c
    was patched - For full trackpad and keyboard support bcm5974.c
    , hid-apple.c, hid-core.c and hid-ids.h were patched - for sensors and keyboard backlight support applesmc.c
    was patched

For screen backlight and maybe graphics switching apple-gmux.c needs to patched but I haven’t gotten around to that