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 :
Code:
<"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 :
Code:
<"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
Bookmarks