# The Ubuntu Forum Community > Ubuntu Specialised Support > Apple Hardware Users > [SOLVED] Please run this command to improve out-of-the-box Linux support for all Mac models

## metatechbe

WARNING : Deprecated approach, see http://ubuntuforums.org/showpost.php...6&postcount=99


Hello,

Can I kindly ask you to run the following command from a Terminal under MacOS X 10.5 or 10.6.  This will allow the "pure EFI boot" on Linux to work "out of the box" (ie without recompiling the Linux kernel) on all Mac models, by populating the "efifb_dmi_info" missing entries in the Linux kernel framebuffer driver (drivers/video/efifb.c).  Sorry, it cannot be launched from a Linux terminal, it is a chicken-and-egg problem) :

sudo ioreg -lw0 |grep manufacturer|cut -b25-80;sudo ioreg -lw0|grep "product-name"|cut -b 25-80;sudo dtrace -qn 'BEGIN{boot_args=((struct boot_args*)(`PE_state).bootArgs);printf("FrameBuff  erBase: 0x%08x\nPixelsPerScanLine: %d\nHorizontalResolution: %d\nVerticalResolution: %d", boot_args->Video.v_baseAddr, boot_args->Video.v_rowBytes/4, boot_args->Video.v_width, boot_args->Video.v_height);exit(0)} '


*This command does not change anything to your system, it only reads the low-level EFI video values with the "ioreg" and the "dtrace" command and displays their values.
So basically the risk is 0.
*
I am sure that with all the Mac passionates on this forum, in a few days we can cover all Apple models…


*Model           FBB         PPSL  HR    VR    Manufacturer*
Macmini1,1         ???
Macmini2,1         ???
Macmini3,1      0x40010000  1024  1024  768   Apple Inc. # 1 GB RAM 
Macmini3,1      0x80010000  2048  1360 768   Apple Inc. # 2 GB RAM
Macmini3,1      0xc0010000  2048  1280  800   Apple Inc. # 4 GB RAM
Macmini3,1      0xc0010000  1024  1024  768   Apple Inc. # 4 GB RAM 
Macmini4,1      0xc0010000  2048  1920  1200   Apple Inc.
MacPro1,1       0xe0010000  2048  1680  1050  Apple Computer, Inc.
MacPro1,1       0xe0060000  2048  1920  1200  Apple Computer, Inc.
MacPro2,1       0xe0010000  2560  2560  1600  Apple Computer, Inc.
MacPro3,1       0x80060000  2048  1680  1050  Apple Inc.
MacPro4,1         ???
MacPro5,1       0x80010000  1280  1280  1024  Apple Inc.
iMac4,1         ???
iMac4,2         ???
iMac5,1         0x80010000  1472  1440  900   Apple Computer, Inc.  # 2 GB RAM
iMac5,1         0xc0010000  1472  1440  900   Apple Computer, Inc.  # 4 GB RAM
iMac5,2         ???
iMac6,1         ???
iMac7,1         0x80010000  1728  1680  1050  Apple Inc. # 2 GB RAM
iMac8,1         0x80010000  1728 1680  1050  Apple Inc. # 2 GB RAM
iMac8,1         0xc0010000  1728 1680  1050  Apple Inc. # 4 GB RAM
iMac8,1         0xc0060000  2048  1920  1200  Apple Inc.
iMac9,1        0xc0010000  2048  1680  1050  Apple Inc.
iMac9,1        0xc0030000  2048  1920  1200  Apple Inc.
iMac9,1        0xc0060000  2048  1920  1200  Apple Inc.
 iMac10,1        0xc0010000  1920  1920  1080  Apple Inc.
iMac10,1        0xc0010000  2048  1920  1080  Apple Inc.
iMac11,1        0xc0010000  2560  2560  1440  Apple Inc.
iMac11,2        0xc0010000  1920  1920  1080  Apple Inc.
iMac11,3        0xc0010000  2560  2560  1440  Apple Inc.
Xserve1,1      0x40010000  1280  1280  800   Apple Inc.
Xserve1,1      0x80010000  1280  1280  800   Apple Inc.
Xserve2,1      0x80010000  1024  1024  768   Apple Inc.
Xserve3,1      0x80030000  2048  1600  1200   Apple Inc.
MacBook1,1      0x80000000  2048  1280  800   Apple Computer, Inc.
MacBook2,1      0x80000000  2048  1280  800   Apple Inc.
MacBook3,1      0x40000000  2048  1280  800   Apple Inc. # 1 GB RAM
MacBook3,1      0x80000000  2048  1280  800   Apple Inc. # 2 GB RAM
MacBook3,1      0xc0000000  2048  1280  800   Apple Inc. # 4 GB RAM
MacBook4,1      0xc0000000  2048  1280  800   Apple Inc.
MacBook5,1      0x80010000  2048  1280  800   Apple Inc. # 2 GB RAM
MacBook5,1      0xc0010000  2048  1280  800   Apple Inc. # 4 GB RAM
MacBook5,2      0xc0010000  2048  1280  800   Apple Inc. # 4 GB RAM
MacBook6,1      0x80010000  2048  1280  800   Apple Inc. # 2 GB RAM
MacBook6,1      0xc0010000  2048  1280  800   Apple Inc. # 4 GB RAM
MacBook7,1      0x80010000  2048  1280  800   Apple Inc. # 2 GB RAM
MacBookAir1,1         ???
MacBookAir2,1      0x80010000  2048  1280  800   Apple Inc.
MacBookAir3,1      0x80010000  2048  1366  768   Apple Inc. # 2 GB RAM
MacBookAir3,1      0xc0010000  2048  1366  768   Apple Inc. # 4 GB RAM
MacBookAir3,2      0x80010000  2048  1440  900   Apple Inc. # 2 GB RAM
MacBookAir3,2      0xc0010000  2048  1440  900   Apple Inc. # 4 GB RAM
MacBookPro1,1   0x80010000  1472  1440  900   Apple Computer, Inc.
MacBookPro1,2         ???
MacBookPro2,1         ???
MacBookPro2,2   0x80010000  1472  1440  900   Apple Computer, Inc.
MacBookPro3,1   0xc0030000  2048  1440  900   Apple Inc.
MacBookPro4,1   0x80060000  2048  1440  900   Apple Inc. # 2 GB RAM
MacBookPro4,1   0xc0030000  2048  1440  900   Apple Inc. # 4 GB RAM
MacBookPro4,1   0xc0060000  2048  1440  900   Apple Inc. # 4 GB RAM
MacBookPro5,1   0x90010000  2048  1440  900   Apple Inc. # ?
MacBookPro5,1   0xc0010000  2048  1440  900   Apple Inc. # Discrete graphics
MacBookPro5,1  0xb0030000  2048  1440  900   Apple Inc. # Integrated graphics
MacBookPro5,2   0xc0010000  2048  1920  1200  Apple Inc. # Discrete graphics
MacBookPro5,2  0xb0030000  2048  1920  1200  Apple Inc. # Integrated graphics
MacBookPro5,3   0xd0010000  2048  1440  900   Apple Inc. # Discrete graphics
MacBookPro5,3  0xc0030000  2048  1440  900   Apple Inc. # Integrated graphics
MacBookPro5,4   0xc0010000  2048  1440  900   Apple Inc. 
MacBookPro5,5   0xc0010000  2048  1280  800   Apple Inc.
MacBookPro6,1   0x90030000  2048  1920  1200  Apple Inc. # Discrete graphics
MacBookPro6,2   0x90030000  2048  1680  1050  Apple Inc. # Discrete graphics
MacBookPro7,1   0xc0010000  2048  1280  800   Apple Inc.

Submissions from all remaining Intel-based Mac models are welcome.
Different values are possible on the same model, depending on the amount of RAM.

On my machine, when the 9400M is active at boot time the output is the following :


```
<"Apple Inc.">
<"MacBookPro5,3">
FrameBufferBase: 0xd0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900
```

On my machine, when the 9600M is active at boot time the output is the following :


```
<"Apple Inc.">
<"MacBookPro5,3">
FrameBufferBase: 0xc0030000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900
```

If your machine has 2 graphics cards and the graphic card is switched after boot time (in "Energy Saving" preference pane or with gfxCardStatus), the FrameBufferBase value does not change anymore, it keeps its previous value, so it is really needed to do a full reboot.

Please copy the terminal output on your machine and paste it in a reply to this post !
As soon as the output is collected for all models, I will consolidate them and submit it as a patch to the Linux kernel.

Many thanks in advance for your help in this collaborative work !

metatech

----------


## kennethsime

I would be happy to test on MBP 5,5 if I better understood what exactly this did, and if it could harm my mac partition or not.

----------


## metatechbe

> I would be happy to test on MBP 5,5 if I better understood what exactly this did, and if it could harm my mac partition or not.


kennethsime,

This command does not change anything to your system, it only reads the low-level EFI video values with the "ioreg" and the "dtrace" command.
So basically the risk is 0.

Thanks in advance for your submission,

metatech

----------


## kennethsime

This is with the 9400m. I'm not sure if I have two cards, or how to check the 9600 if I do.



```
 <"Apple Inc.">
 <"MacBookPro5,5">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800
```

----------


## Nikos.Alexandris

> This is with the 9400m. I'm not sure if I have two cards, or how to check the 9600 if I do.


According to http://www.everymac.com/systems/appl...ody-specs.html and/or http://www.everymac.com/systems/appl...ody-specs.html

the mbp 5,5 has only an integrated 9400M card.

----------


## Nikos.Alexandris

> ...
> 
> Please copy the terminal output on your machine and paste it in a reply to this post !
> As soon as the output is collected for all models, I will consolidate them and submit it as a patch to the Linux kernel.
> 
> ...
> 
> P.S. : Dear forum moderators, could this post be "sticky" for 2 weeks, so that all people have their chance to see it and contribute their value ? Thanks !


Maybe add in this thread (first post) a link to the "previous" thread http://ubuntuforums.org/showthread.php?t=1076879 and a link in the "previous" thread pointing to the current thread?

(I randomly came in to the current thread)

----------


## Nikos.Alexandris

Something interesting (which you already might know):

http://git.kernel.org/?p=linux/kerne...90093b3817f6e0

Regards, Nikos

----------


## metatechbe

> Something interesting (which you already might know):
> 
> http://git.kernel.org/?p=linux/kerne...90093b3817f6e0
> 
> Regards, Nikos


Nikos,

Yes, for my investigation I used the following pieces of information : 
- alexmurray's findings in the rEFIt shell in the Ubuntu forum 
- Thomas Gerlach's contribution to the Linux framebuffer driver
- dtrace examples from on the blog of Amit Singh, author or "Mac OS X Internals: A Systems Approach"
- Apple BootX open source code

After my method was tested successfully by several other people in the initial thread, I also contributed it to : 
- Grub2 Wiki
- Red Hat bug 528232

I hope to collect information on as many Mac hardware models as possible

Regards,

metatech

----------


## Nikos.Alexandris

metatech,

you know very well what you are doing. I am just trying to help by making sure important information (I read) is on your list since I am not able to truly help (with coding, etc.).

Thank you for your efforts, Nikos

----------


## furok23

hey man id love to help, but im when i run the command i get the same output for both of my graphics cards.. or at least what i think is both cards...

 <"Apple Inc.">
 <"MacBookPro6,2">
FrameBuff erBase: 0x90030000
PixelsPerScanLine: 2048
HorizontalResolution: 1680
VerticalResolution: 1050

im prolly doing it wrong ya?

----------


## ZeroLinux

<"Apple Inc.">
 <"iMac10,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 1920
HorizontalResolution: 1920
VerticalResolution: 1080

----------


## metatechbe

> hey man id love to help, but im when i run the command i get the same output for both of my graphics cards.. or at least what i think is both cards…
> 
> im prolly doing it wrong ya?


Furok23,

Thanks for trying hard to help...

In order to get the other FrameBufferBase value, you should go the the "Energy saving" preference pane and change the radio button there ("("better battery life" or "higher performance"), then do a full reboot. 
If you cannot find the radio button or it does not work, it probably means MacBook 2010 models have automatic switching based on graphic workload, and, at boot time, the selected graphic card is always the integrated one (Intel in this model).  
Do you see the radio button or not ?

Thanks,

metatech

----------


## siepo

<"Apple Computer, Inc.">
 <"MacBook1,1">
FrameBuff erBase: 0x80000000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

----------


## furok23

> Furok23,
> 
> Thanks for trying hard to help...
> 
> In order to get the other FrameBufferBase value, you should go the the "Energy saving" preference pane and change the radio button there ("("better battery life" or "higher performance"), then do a full reboot. 
> If you cannot find the radio button or it does not work, it probably means MacBook 2010 models have automatic switching based on graphic workload, and, at boot time, the selected graphic card is always the integrated one (Intel in this model).  
> Do you see the radio button or not ?
> 
> Thanks,
> ...


yea i was in there. interestingly enough, i still get the same buffer value for both settings...
my process was:
evergy save mode on (integrated graphics switching), run code

energy save mode off (high performance graphics always on), restart, confirm high performance graphics, run code. 

same values. shenanigans i say
any other mpb 6,2 users confirm this?

----------


## v41

<"Apple Inc.">
<"MacBook4,1">
FrameBuff erBase: 0xc0000000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

----------


## Sidolin

> yea i was in there. interestingly enough, i still get the same buffer value for both settings...
> my process was:
> evergy save mode on (integrated graphics switching), run code
> 
> energy save mode off (high performance graphics always on), restart, confirm high performance graphics, run code. 
> 
> same values. shenanigans i say
> any other mpb 6,2 users confirm this?


Same on my mbp 6,2. I'll post the output from tinkering with the efi shell later, maybe that helps.

Edit: See the attachment for efi information, especially dff7 and dfh9.

----------


## metatechbe

> Same on my mbp 6,2. I'll post the output from tinkering with the efi shell later, maybe that helps.
> 
> Edit: See the attachment for efi information, especially dff7 and dfh9.


Sidolin,

Thanks for the rEFIt shell outputs.
It looks like the MBP 2010 have the following behaviour : the discrete NVIDIA graphic card is activated during the boot, and it switches dynamically to the integrated Intel afterwards.

On my MBP 2009, depending on the "Energy saving" radio button, the activated card at boot time shows its properties (FrameBufferBase, PixelsPerScanLine, ...) in rEFIt shell and the deactivated card does not show them.

In order to get the FrameBufferBase of the integrated graphics on a MBP 2010, it seems that another method is needed... 

Can you confirm that your "Energy saving" radio button was in the "on" position during your test ?

Regards,

metatech

----------


## metatechbe

Sidolin,

With the NVIDIA address do you manage to specify the "BusID" of the Intel one in xorg.conf ? Does it actually use the Intel graphics or not ?

Regards,

metatetch

----------


## alphaamanitin

metatechabe, not that I do not trust you, but I for one would feel much better if a mod came in here and confirmed what appears to me, to be a harmless command, is harmless.  Still, it requires sudo so that in itself is enough to give me pause.  I won't be of any help either way though as I do not use a Mac.  Well that is not true.  I do use a mac desktop at work runing OSX 10.5 or something.  Would that help?  I don't know the model or anything about it really as I am a PC guy.

AlphaA

----------


## DBO

alphaamanitin,

I am not a mod but I do work for Canonical. The command metatechbe is having people run is primarily a diagnostics command, it should not harm your computer. That said, I would always advise caution. If you are uncomfortable it is always the best practice to not run a foreign command.

metatechbe,
I have a macbook pro 6,2. If you want to hop on IRC I would be happy to do some live debugging work with you on the macbook 6,2.

Jason "DBO" Smith

----------


## lael

<"Apple Inc.">
 <"MacBookPro5,2">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1200

Identical for both the 9400M and the 9600M GT cards.

----------


## lael

<"Apple Inc.">
 <"MacBookPro6,1">
FrameBuff erBase: 0x90030000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1200

I get the same result when using the Intel HD Graphics or the Nvidia GeForce GT 330M card (can see which one in the system profiler)

----------


## lael

> hey man id love to help, but im when i run the command i get the same output for both of my graphics cards.. or at least what i think is both cards...
> 
>  <"Apple Inc.">
>  <"MacBookPro6,2">
> FrameBuff erBase: 0x90030000
> PixelsPerScanLine: 2048
> HorizontalResolution: 1680
> VerticalResolution: 1050
> 
> im prolly doing it wrong ya?


I saw the same exact result with my MacBookPro6,1, I tried a bunch of stuff, and even ran some HD 1080p content that would scale up the larger graphics card.

I don't know much about this, but from what I read about how the seamless graphics switching, it makes sense that they both use the same memory location isn't that how they seamlessly switch between cards, by utilizing the same buffer space?

http://www.anandtech.com/show/2934/n...-asus-ul50vf/3

----------


## metatechbe

lael,

Thanks for your (double) contribution !
For the MacBookPro 5,2, are you sure you did a full reboot after switching the graphic card ? On my 5,3, it is really needed (gfxCardStatus or logout/login is not enough)...

Thanks,

metatech

----------


## metatechbe

Hello,

From the kernel source it seems that it is not needed to recompile the kernel, adding this kernel parameter should be enough (the values are specific to your model, coming from the ioreg/dtrace output) :



```
video=efifb:base:0xc0030000,stride:2048,width:1440,height:900
```

I still need to test it.  I plan to add it /etc/default/grub in the GRUB_CMDLINE_LINUX_DEFAULT option.

Regards,

metatech

----------


## lael

> lael,
> 
> Thanks for your (double) contribution !
> For the MacBookPro 5,2, are you sure you did a full reboot after switching the graphic card ? On my 5,3, it is really needed (gfxCardStatus or logout/login is not enough)...
> 
> Thanks,
> 
> metatech


You are right. Rebooting did make a difference.
9400M:
<"Apple Inc.">
<"MacBookPro5,2">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1200

9600M GT:
<"Apple Inc.">
<"MacBookPro5,2">
FrameBuff erBase: 0xb0030000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1200

----------


## lael

> Hello,
> 
> From the kernel source it seems that it is not needed to recompile the kernel, adding this kernel parameter should be enough (the values are specific to your model, coming from the ioreg/dtrace output) :
> 
> 
> 
> ```
> video=efifb:base:0xd001000,stride:2048,width:1440,height:900
> ```
> ...


Does this mean that it will be possible to boot directly into GRUB2 skipping rEFIt?

I like that rEFIt exists, but I don't like seeing 2 boot screens on every boot.

----------


## doctorjames

<"Apple Inc.">
 <"Macmini3,1">
FrameBufferBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

 <"Apple Inc.">
 <"MacBookPro4,1">
FrameBuff erBase: 0xc0060000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

----------


## Hiram

<"Apple Inc.">
 <"MacBook5,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

----------


## Nikos.Alexandris

> Does this mean that it will be possible to boot directly into GRUB2 skipping rEFIt?
> 
> I like that rEFIt exists, but I don't like seeing 2 boot screens on every boot.


If this works there will be a 20+ seconds cut-off from waiting rEFIt, etc. Then again, e.g. when in need to check for firmware updates (=boot in OSX), booting OSX won't be possible, right?

----------


## linuxopjemac

<"Apple Inc.">
 <"MacBook2,1">
sudo: dtrace: command not found

I am still on Tiger by the way...

----------


## linuxopjemac

<"Apple Inc.">
 <"MacBook2,1">
sudo: dtrace: command not found

I am still on Tiger, maybe that's the reason I get this error?

----------


## davidryderuk

<"Apple Inc.">
 <"MacBook7,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

----------


## metatechbe

<"Apple Inc.">
 <"iMac11,1">
FrameBufferBase: 0xc0010000
PixelsPerScanLine: 2560
HorizontalResolution:2560
VerticalResolution: 1440

----------


## mohaas05

<"Apple Inc.">
<"MacBookPro7,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

----------


## foal3x

<"Apple Inc.">
 <"iMac10,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 1600
HorizontalResolution: 1600
VerticalResolution: 900

 ATI Radeon HD 4670

----------


## entangled

<"Apple Inc.">
 <"iMac11,2">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 1920
HorizontalResolution: 1920
VerticalResolution: 1080

----------


## unixninja92

<"Apple Inc.">
 <"MacBookPro5,4">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

----------


## bLax169

9400 after statup

 <"MacBookPro5,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

9600GT after startup

<"Apple Inc.">
 <"MacBookPro5,1">
FrameBuff erBase: 0xb0030000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

----------


## jooooooon

<"Apple Inc.">
 <"iMac7,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050

(yes, that space in "FrameBuff er" is output by the command)

----------


## nick100

> Hello,
> 
> Can I kindly ask you to run the following command from a Terminal under MacOS X.  This will allow the "pure EFI boot" on Linux to work "out of the box" (ie without recompiling the Linux kernel) on all Mac models, by populating the "efifb_dmi_info" missing entries in the Linux kernel framebuffer driver (drivers/video/efifb.c).  Sorry, it cannot be launched from a Linux terminal, it is a chicken-and-egg problem) :
> 
> sudo ioreg -lw0 |grep manufacturer|cut -b25-80;sudo ioreg -lw0|grep "product-name"|cut -b 25-80;sudo dtrace -qn 'BEGIN{boot_args=((struct boot_args*)(`PE_state).bootArgs);printf("FrameBuff  erBase: 0x%08x\nPixelsPerScanLine: %d\nHorizontalResolution: %d\nVerticalResolution: %d", boot_args->Video.v_baseAddr, boot_args->Video.v_rowBytes/4, boot_args->Video.v_width, boot_args->Video.v_height);exit(0)} '
> 
> 
> *This command does not change anything to your system, it only reads the low-level EFI video values with the "ioreg" and the "dtrace" command and displays their values.
> So basically the risk is 0.
> ...


PixelsPerScanLine: 512
HorizontalResolution: 1680
VerticalResolution: 1050
ubuntu:~ nick$

----------


## nick100

PixelsPerScanLine: 512
HorizontalResolution: 1680
VerticalResolution: 1050
ubuntu:~ nick$

----------


## cybercookie72

<"Apple Computer, Inc.">
 <"MacBookPro1,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1472
HorizontalResolution: 1440
VerticalResolution: 900

----------


## loukingjr

late 2007 imac

 <"Apple Computer, Inc.">
 <"iMac5,1">
FrameBufferBase: 0xc0010000
PixelsPerScanLine: 1472
HorizontalResolution: 1440
VerticalResolution: 900

----------


## funkwurm

Every little helps


 <"Apple Computer, Inc.">
 <"MacBookPro1,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1472
HorizontalResolution: 1440
VerticalResolution: 900

----------


## fseoer2010

That's a very good post! I have learnt so much from this post! And I will tell my friends this website. Thanx for your sharing.

----------


## Robert Biloute

<"Apple Inc.">
 <"MacBookPro6,2">
FrameBuff erBase: 0x90030000
PixelsPerScanLine: 2048
HorizontalResolution: 1680
VerticalResolution: 1050

----------


## itismike

<"Apple Inc.">
 <"MacBookPro6,2">
FrameBuff erBase: 0x90030000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

The above was identical immediately after booting up and also a few minutes after playing an OpenGL-intensive flight simulator.

----------


## jaysmc

<"Apple Inc.">
 <"MacPro3,1">
FrameBuff erBase: 0x80060000
PixelsPerScanLine: 2048
HorizontalResolution: 1680
VerticalResolution: 1050

----------


## linuxway

I got the following message:
"sudo: dtrace: command not found"

----------


## logandzwon

NVIDIA GeForce 9600M GT;

 <"Apple Inc.">
 <"MacBookPro5,3">
FrameBuff erBase: 0xc0030000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900



I think my model was already posted. I'll try to post up a macmini4,1 server before next week though.-

In case anyone is wondering what the command does, it's just running "ioreg -lw0" as root, all the other stuff just cuts out and then formats the output into the desired format.

----------


## ipc

<"Apple Inc.">
 <"MacPro5,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1280
HorizontalResolution: 1280
VerticalResolution: 1024

----------


## heluani

```
 <"Apple Inc.">
 <"MacBookAir2,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800
```

Macbook Air 2,1 booting fine into grub2 without refit for about a year now.

PS. If you know how to deal with the EFI shell, I'd love if you could pm me (or in another thread) to commands dealing with audio to activate the mic.

----------


## jamesey

I purcahsed an imac9,1 within a week of it's release in march 2009. Here are my results



```
 <"Apple Inc.">
 <"iMac9,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1680
VerticalResolution: 1050
```

----------


## SeineDudeheit

Macbook Pro 5,3 with 9400m activated.


```
 <"Apple Inc.">
 <"MacBookPro5,3">
FrameBuff erBase: 0xd0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900
```

looking forward to activate the 9400m in linux to safe up some battery time...  :Wink:

----------


## logandzwon

<"Apple Inc.">
 <"Macmini4,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1080

----------


## peterx14

<"Apple Inc.">
 <"MacBook3,1">
FrameBuff erBase: 0x40000000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

Best wishes!  :Smile: 

Update: This machine only has it's factory default 1GB of RAM.... dunno if it makes any difference!

----------


## metatechbe

Originally submitted by RickvanderZwet on grub wiki
<"Apple Inc.">
 <"MacBookPro4,1">
FrameBufferBase: 0xc0030000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

Remark : the value is different than the one reported by doctorjames for the same model (0xc0030000). A difference is in the first hex digit is generally due to the amount of physical RAM in the machine, but a difference in the fourth hex digit is not explained yet.  Anyone has ideas ? Maybe it is due to which PCI devices are active ?

Thanks.

----------


## SuperDodge

<"Apple Inc.">
 <"MacBookAir3,2">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

----------


## ebsi

Macbook Air 11"

<"Apple Inc.">
<"MacBookAir3,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1366
VerticalResolution: 768

----------


## wiml

A few more entries:



```
 <"Apple Computer, Inc.">
 <"MacPro2,1">
FrameBuff erBase: 0xe0010000
PixelsPerScanLine: 2560
HorizontalResolution: 2560
VerticalResolution: 1600
```



```
 <"Apple Inc.">
 <"Xserve2,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1024
HorizontalResolution: 1024
VerticalResolution: 768
```



```
 <"Macmini3,1">
 <"Apple Inc.">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 1024
HorizontalResolution: 1024
VerticalResolution: 768
```

----------


## WanderingOak

<"Apple Inc.">
 <"iMac7,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050

----------


## t0dbld

<"Apple Inc.">
 <"Macmini4,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1680
VerticalResolution: 1050

Im currently on snow leopard server and the command did not work, it still goes blank after selecting any of the option menus in live disk or after selecting install from the efi boot menu

----------


## BOYerchen

From my Mac Mini at work:



```
 <"Apple Inc.">
 <"Macmini3,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1080
```

----------


## fearphage

From new iMac at work:



```
<"Apple Inc.">
 <"iMac11,3">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2560
HorizontalResolution: 2560
VerticalResolution: 1440
```

----------


## JammyZ

```
 <"Apple Inc.">
 <"MacBook2,1">
FrameBuff erBase: 0x80000000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800
```

----------


## Gordonta

Code:                                                                                                                                                    <"Apple Inc."> 
<" iMac 9,1 ">
FrameBuff erBase:  0xc0030000
PixelsPerScanLine:  2048
HorizontalResolution:  1920
VerticalResolution:  1200

iMac 24", 2.93 GHz Intel Core2Duo, 4 GB Ram, NVidia GeForce GT 120

----------


## apoth

```
 <"Apple Inc.">
 <"MacBookAir3,2">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900
```

New MacBook Air, 13" with 4GB RAM.

----------


## teh603

<"Apple Inc.">
 <"Macmini3,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1360
VerticalResolution: 768


Didn't see this one listed, and figured you might want to add it.

----------


## forbes

Will this be part of 11.04?

MacBook Air 11" with 4GB of RAM:



```
 <"Apple Inc.">
 <"MacBookAir3,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1366
VerticalResolution: 768
```

----------


## nikdzl

<"MacBookPro5,1">
FrameBuff erBase: 0x90010000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

----------


## larsribe

<"Apple Inc.">
 <"Xserve3,1">
FrameBufferBase: 0x80030000
PixelsPerScanLine: 2048
HorizontalResolution: 1600
VerticalResolution: 1200

----------


## metatechbe

> <"MacBookPro5,1">
> FrameBuff erBase: 0x90010000
> PixelsPerScanLine: 2048
> HorizontalResolution: 1440
> VerticalResolution: 900


Thanks nikdzl. 
This value has never been reported before for this model.
How much RAM do have ?
Which graphic card was active when you ran the command ?
Do you have unusual devices connected (USB or other) ?

Thanks.

metatech

----------


## tctc

<"iMac8,1">
FrameBufferBase: 0xc0010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050
iMac:~ user$ 

4GB memory

 <"Apple Inc.">
 <"MacBook5,1">
FrameBufferBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800
MacBook:~ user$ 

4GB memory

----------


## Drudus

<"Apple Computer, Inc.">
 <"MacPro1,1">
FrameBuff erBase: 0xe0060000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1200


Mac Pro 1,1 with replaced NVIDIA 8800GT

----------


## tctc

<"Apple Inc.">
 <"iMac8,1">
FrameBufferBase: 0x80010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050
iMac:~ user$ 2GB memory

----------


## anunn2001

<"Apple Computer, Inc.">
 <"MacPro1,1">
FrameBuff erBase: 0xe0020000
PixelsPerScanLine: 2560
HorizontalResolution: 2560
VerticalResolution: 1600

----------


## mackaframa85

<"Apple Inc.">
 <"iMac7,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 1280
HorizontalResolution: 1280
VerticalResolution: 800

----------


## dpny

<"Apple Inc.">
 <"MacPro5,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1920
HorizontalResolution: 1920
VerticalResolution: 1080

8 GB RAM
1 GB 5870

----------


## mark.i.r.muir

<"Apple Inc.">
 <"Macmini2,1">
FrameBuff erBase: 0x80000000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 1024

----------


## srs5694

Here's mine, from a Mac Mini with 1 GiB of RAM:

<"Apple Computer, Inc.">
 <"Macmini1,1">
FrameBuff erBase: 0x80000000
PixelsPerScanLine: 2048
HorizontalResolution: 800
VerticalResolution: 600

Note that I was booted via EFI already; I don't know if that makes any difference. I mention it mainly because my actual video resolution is 1280x1024, not the reported 800x600 -- but maybe that's just a default or something....

----------


## derflooh

<"Apple Inc.">
 <"MacBookPro3,1">
FrameBufferBase: 0x80030000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

2GB Ram

----------


## uced

MacMini 2GHz Intel Core 2 Duo
Memory: 4 GB 1067 MHz DDR3

<"Apple Inc.">
 <"Macmini3,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 1024

----------


## racan

For iMac with 4 GB ram the output is


 <"Apple Inc.">
 <"iMac7,1">
FrameBufferBase: 0xc0010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050

----------


## ruiferreira

<"Apple Inc.">
 <"MacBookPro8,1">
FrameBuff erBase: 0x90000000
PixelsPerScanLine: 1280
HorizontalResolution: 1280
VerticalResolution: 800

----------


## aka TRAP

<"Apple Inc.">
 <"MacBook7,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

----------


## jeremybar

```
 <"Apple Inc.">
 <"MacBookPro7,1">
FrameBufferBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800
```

----------


## gforster

Macbook Pro 8,2 (15" model with hi-res anti-glare screen, AMD Radeon HD 6750M; 4GB RAM)



```
 <"Apple Inc.">
 <"MacBookPro8,2">
FrameBuff erBase: 0x90010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050
```

----------


## TheShanthan

<"Apple Inc.">
 <"MacBookPro5,5">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800


I took your word for it. Please dont do anything to my comp.

----------


## zencoder

Thread is l-o-o-o-o-ng, not sure if this model has been posted yet...

Mac mini Server (Mid 2010) 8GB ram

I was running the server 'headless' and got the first result via an ssh shell.

 <"Apple Inc.">
 <"Macmini4,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 1024
HorizontalResolution: 1024
VerticalResolution: 768


I rebooted with an HDMI connection to an ASUS VH242H. It came up in a native, low res mode, so I changed the display refresh rate to 60 Hertz NTSC (was set to 50/PAL) and the resolution to 1080p. This is the result after changing those settings but NOT rebooting:

 <"Apple Inc.">
 <"Macmini4,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 720


I then performed a reboot, logged in locally to the desktop, opened an ssh shell, and ran the command via the ssh shell and got this result:

 <"Apple Inc.">
 <"Macmini4,1">
FrameBuff erBase: 0xc0010000
PixelsPerScanLine: 2048
HorizontalResolution: 1920
VerticalResolution: 1080
hqosx01:~ admin$

Does *any* of this help? Any further actions required, please let me know and I'll do what I can.

----------


## macsforever2000

I didn't see this result for my 2008 Mac Pro (8 GB RAM, ATI Radeon HD 2600):

<"Apple Inc.">
 <"MacPro3,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1920
HorizontalResolution: 1920
VerticalResolution: 1200

----------


## DarkCloud2015

<"Apple Inc.">
 <"MacBook7,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 800

----------


## hanfi

```
<"Apple Inc.">
<"MacBookPro4,1">
FrameBufferBase: 0x80060000 
PixelsPerScanLine: 2048 
HorizontalResolution: 1920 
VerticalResolution: 1200
```

----------


## hostile

<"Apple Computer, Inc.">
 <"iMac5,1">
FrameBuff erBase: 0x80010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050

----------


## Nitram-TM

Here's mine, hope it helps.

<"Apple Inc.">
<"MacBookPro8,1">
FrameBufferBase: 0x90000000
PixelsPerScanLine: 1280
HorizontalResolution: 1280
VerticalResolution: 800

----------


## Slowpokemon

```
<"Apple Computer, Inc.">
<"Macmini1,1">
FrameBufferBase: 0x80000000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 1024
```

1 GB 667 MHz DDR2 SDRAM

----------


## Slowpokemon

```
<"Apple Inc.">
<"Macmini2,1">
FrameBuff erBase: 0x80000000
PixelsPerScanLine: 2048
HorizontalResolution: 1280
VerticalResolution: 1024
```

----------


## polarbear10

MacbookPro 2Ghz i7 (purchased April 2011)

 <"Apple Inc.">
 <"MacBookPro8,2">
FrameBuff erBase: 0x90010000
PixelsPerScanLine: 1728
HorizontalResolution: 1680
VerticalResolution: 1050

----------


## metatechbe

All,
For the record, I came to the conclusion that the "efifb.c patching" is the
wrong approach. 
Normally the bootloader is responsible for querying the graphics hardware
properties (FrameBufferBase, PixelsPerScanLine, HorizontalResolution,
VerticalResolution), and then it passes them to the kernel through the
"linux_kernel_params" structure.
Grub2 can do that, for both UGA (PCI scanning trick) or GOP (returned by the
official EFI API).
The kernel should not have this list of hard-coded values.  Furthermore, these
values are not unique for a Mac model, but can very depending on the amount of
RAM and possibly also on the connected devices at boot time.
See user submissions in this thread.
On top of that, these values in efifb.c are really misleading : someone looking
for a reason why the EFI boot does not work on a brand new model might think
that his model is missing in the list and that causes the problem, which is a
wrong track.
I think we should remove these hard-coded values from the kernel and only rely
on values passed by the booloader (which should be dynamically queried), so
that it will work on all models.
Regards,
metatech

----------


## nicholas

This is the output from my 17" MacBook Pro (early 2008), 4GB RAM, 512MB NVidia 8600M GT.



```
 <"Apple Inc.">
 <"MacBookPro4,1">
FrameBuff erBase: 0xc0060000
PixelsPerScanLine: 2048
HorizontalResolution: 1680
VerticalResolution: 1050
```

----------


## izzo

<"Apple Inc.">
 <"MacBookPro6,2">
FrameBuff erBase: 0xc0030000
PixelsPerScanLine: 2048
HorizontalResolution: 1440
VerticalResolution: 900

----------


## heat33330

This is only for intel Macs, you should change the end to "all intel Mac models".

----------


## StampU

<"Apple Inc.">
 <"MacBookPro9,1">
FrameBuff erBase: 0x90020000
PixelsPerScanLine: 2048
HorizontalResolution: 1680
VerticalResolution: 1050

----------

