Status of 'efi-mode' support

seeing this

Added initial support for restoration of efifb consoles on UEFI systems where the primary display is driven over VGA or TMDS (e.g. DVI, HDMI, or LVDS).

in the announcement for 319.12.
My question is, a) is this even related to ‘efi-mode’ support and b) when will there finally be support for said mode.
To clarify, with ‘efi-mode’, I mean booting the kernel directly via efistub.
Currently, this is, as far as I’ve been able to figure out a hit and miss situation, depending on the hardware. I’ve read somewhere, that officially this isn’t supported (yet), but that post was quite old, hence my renewed inquiry. Currentyl, at least with an oldish geforce 320m (apple mbp7.1) the beta 319.12 module crashes when X11 is starting, taking the server with it.

I’ve been searching far and wide for infos on this, any pointers are most welcome!

I have my system configured to directly boot a (custom) kernel with efistub. I don’t think that changelog item had anything to do with efistub, because it was working just fine for me before then. What the changelog entry means is that if you have a system that boots using EFI without the Compatibility Support Module (CSM), you can now switch back and forth between X and virtual terminals. That wasn’t possible before.

Speaking of this, I am having a problem where if I suspend and resume the system, the efifb console restoration no longer works.

Are there plans to add support for display port for efifb? I know it would be nice if my mcbook pro retina did not lose its console everytime X was started.

Could you please specify what you mean.
The boot process was of course also working fine for me, but when using the blob, the module would crash during X11 start-up. Does your system booting via efistub correctly initialize the hw, so that the blob can work??

But this implies that the blob actually works when the kernel is booting via efistub in efi-mode, which clearly is not the case, at lest with me…

This question was addressed not to me, but i answer. Yep, my system booting via efistub + efifb and works correct with nvidia blob too. This config is worked for me about year. And earlier i used grub-2 with efifb and nvidia blob

root@vortex ~# dmesg | egrep -i "efi|nvidia"
[    0.000000] efi: EFI v2.00 by American Megatrends
[    0.000000] efi:  SMBIOS=0xf0480  ACPI=0xbe944000  ACPI 2.0=0xbe944000  MPS=0xfcb90 
[    0.000000] efi: mem00: type=3, attr=0xf, range=[0x0000000000000000-0x0000000000008000) (0MB)
[    0.000000] efi: mem01: type=2, attr=0xf, range=[0x0000000000008000-0x0000000000011000) (0MB)
[    0.000000] efi: mem02: type=7, attr=0xf, range=[0x0000000000011000-0x0000000000077000) (0MB)
[    0.000000] efi: mem03: type=4, attr=0xf, range=[0x0000000000077000-0x0000000000078000) (0MB)
[    0.000000] efi: mem04: type=3, attr=0xf, range=[0x0000000000078000-0x00000000000a0000) (0MB)
[    0.000000] efi: mem05: type=7, attr=0xf, range=[0x0000000000100000-0x0000000001000000) (15MB)
[    0.000000] efi: mem06: type=2, attr=0xf, range=[0x0000000001000000-0x0000000001100000) (1MB)
[    0.000000] efi: mem07: type=4, attr=0xf, range=[0x0000000001100000-0x0000000001358000) (2MB)
[    0.000000] efi: mem08: type=3, attr=0xf, range=[0x0000000001358000-0x000000000135c000) (0MB)
[    0.000000] efi: mem09: type=4, attr=0xf, range=[0x000000000135c000-0x0000000001361000) (0MB)
[    0.000000] efi: mem10: type=3, attr=0xf, range=[0x0000000001361000-0x0000000001363000) (0MB)
[    0.000000] efi: mem11: type=4, attr=0xf, range=[0x0000000001363000-0x000000000137c000) (0MB)
[    0.000000] efi: mem12: type=3, attr=0xf, range=[0x000000000137c000-0x000000000137e000) (0MB)
[    0.000000] efi: mem13: type=4, attr=0xf, range=[0x000000000137e000-0x00000000013e8000) (0MB)
[    0.000000] efi: mem14: type=3, attr=0xf, range=[0x00000000013e8000-0x00000000013f4000) (0MB)
[    0.000000] efi: mem15: type=4, attr=0xf, range=[0x00000000013f4000-0x00000000013f9000) (0MB)
[    0.000000] efi: mem16: type=3, attr=0xf, range=[0x00000000013f9000-0x00000000013fb000) (0MB)
[    0.000000] efi: mem17: type=4, attr=0xf, range=[0x00000000013fb000-0x00000000013fd000) (0MB)
[    0.000000] efi: mem18: type=3, attr=0xf, range=[0x00000000013fd000-0x00000000013ff000) (0MB)
[    0.000000] efi: mem19: type=4, attr=0xf, range=[0x00000000013ff000-0x0000000002337000) (15MB)
[    0.000000] efi: mem20: type=3, attr=0xf, range=[0x0000000002337000-0x0000000002338000) (0MB)
[    0.000000] efi: mem21: type=4, attr=0xf, range=[0x0000000002338000-0x0000000002352000) (0MB)
[    0.000000] efi: mem22: type=3, attr=0xf, range=[0x0000000002352000-0x0000000002361000) (0MB)
[    0.000000] efi: mem23: type=4, attr=0xf, range=[0x0000000002361000-0x0000000002379000) (0MB)
[    0.000000] efi: mem24: type=3, attr=0xf, range=[0x0000000002379000-0x0000000002385000) (0MB)
[    0.000000] efi: mem25: type=4, attr=0xf, range=[0x0000000002385000-0x0000000002391000) (0MB)
[    0.000000] efi: mem26: type=3, attr=0xf, range=[0x0000000002391000-0x0000000002394000) (0MB)
[    0.000000] efi: mem27: type=4, attr=0xf, range=[0x0000000002394000-0x00000000023ac000) (0MB)
[    0.000000] efi: mem28: type=3, attr=0xf, range=[0x00000000023ac000-0x00000000023af000) (0MB)
[    0.000000] efi: mem29: type=4, attr=0xf, range=[0x00000000023af000-0x00000000023b3000) (0MB)
[    0.000000] efi: mem30: type=3, attr=0xf, range=[0x00000000023b3000-0x00000000023c2000) (0MB)
[    0.000000] efi: mem31: type=4, attr=0xf, range=[0x00000000023c2000-0x00000000023c9000) (0MB)
[    0.000000] efi: mem32: type=3, attr=0xf, range=[0x00000000023c9000-0x00000000023cb000) (0MB)
[    0.000000] efi: mem33: type=4, attr=0xf, range=[0x00000000023cb000-0x00000000023cd000) (0MB)
[    0.000000] efi: mem34: type=3, attr=0xf, range=[0x00000000023cd000-0x00000000023cf000) (0MB)
[    0.000000] efi: mem35: type=4, attr=0xf, range=[0x00000000023cf000-0x00000000023d0000) (0MB)
[    0.000000] efi: mem36: type=3, attr=0xf, range=[0x00000000023d0000-0x00000000023d7000) (0MB)
[    0.000000] efi: mem37: type=4, attr=0xf, range=[0x00000000023d7000-0x00000000023d9000) (0MB)
[    0.000000] efi: mem38: type=3, attr=0xf, range=[0x00000000023d9000-0x00000000023db000) (0MB)
[    0.000000] efi: mem39: type=4, attr=0xf, range=[0x00000000023db000-0x00000000023dd000) (0MB)
[    0.000000] efi: mem40: type=3, attr=0xf, range=[0x00000000023dd000-0x00000000023df000) (0MB)
[    0.000000] efi: mem41: type=4, attr=0xf, range=[0x00000000023df000-0x00000000023e3000) (0MB)
[    0.000000] efi: mem42: type=3, attr=0xf, range=[0x00000000023e3000-0x00000000023e5000) (0MB)
[    0.000000] efi: mem43: type=4, attr=0xf, range=[0x00000000023e5000-0x00000000023e7000) (0MB)
[    0.000000] efi: mem44: type=3, attr=0xf, range=[0x00000000023e7000-0x00000000023e9000) (0MB)
[    0.000000] efi: mem45: type=4, attr=0xf, range=[0x00000000023e9000-0x00000000023eb000) (0MB)
[    0.000000] efi: mem46: type=3, attr=0xf, range=[0x00000000023eb000-0x00000000023ee000) (0MB)
[    0.000000] efi: mem47: type=4, attr=0xf, range=[0x00000000023ee000-0x0000000002405000) (0MB)
[    0.000000] efi: mem48: type=3, attr=0xf, range=[0x0000000002405000-0x000000000240e000) (0MB)
[    0.000000] efi: mem49: type=4, attr=0xf, range=[0x000000000240e000-0x0000000002410000) (0MB)
[    0.000000] efi: mem50: type=3, attr=0xf, range=[0x0000000002410000-0x0000000002412000) (0MB)
[    0.000000] efi: mem51: type=4, attr=0xf, range=[0x0000000002412000-0x0000000002413000) (0MB)
[    0.000000] efi: mem52: type=3, attr=0xf, range=[0x0000000002413000-0x0000000002418000) (0MB)
[    0.000000] efi: mem53: type=4, attr=0xf, range=[0x0000000002418000-0x000000000241a000) (0MB)
[    0.000000] efi: mem54: type=3, attr=0xf, range=[0x000000000241a000-0x000000000241e000) (0MB)
[    0.000000] efi: mem55: type=4, attr=0xf, range=[0x000000000241e000-0x000000000242b000) (0MB)
[    0.000000] efi: mem56: type=3, attr=0xf, range=[0x000000000242b000-0x000000000242d000) (0MB)
[    0.000000] efi: mem57: type=4, attr=0xf, range=[0x000000000242d000-0x000000000242f000) (0MB)
[    0.000000] efi: mem58: type=3, attr=0xf, range=[0x000000000242f000-0x0000000002437000) (0MB)
[    0.000000] efi: mem59: type=4, attr=0xf, range=[0x0000000002437000-0x0000000002438000) (0MB)
[    0.000000] efi: mem60: type=3, attr=0xf, range=[0x0000000002438000-0x000000000243a000) (0MB)
[    0.000000] efi: mem61: type=4, attr=0xf, range=[0x000000000243a000-0x000000000243b000) (0MB)
[    0.000000] efi: mem62: type=3, attr=0xf, range=[0x000000000243b000-0x0000000002447000) (0MB)
[    0.000000] efi: mem63: type=4, attr=0xf, range=[0x0000000002447000-0x0000000002476000) (0MB)
[    0.000000] efi: mem64: type=3, attr=0xf, range=[0x0000000002476000-0x0000000002489000) (0MB)
[    0.000000] efi: mem65: type=4, attr=0xf, range=[0x0000000002489000-0x0000000002492000) (0MB)
[    0.000000] efi: mem66: type=3, attr=0xf, range=[0x0000000002492000-0x0000000002498000) (0MB)
[    0.000000] efi: mem67: type=4, attr=0xf, range=[0x0000000002498000-0x000000000285b000) (3MB)
[    0.000000] efi: mem68: type=3, attr=0xf, range=[0x000000000285b000-0x0000000002866000) (0MB)
[    0.000000] efi: mem69: type=4, attr=0xf, range=[0x0000000002866000-0x000000000286c000) (0MB)
[    0.000000] efi: mem70: type=3, attr=0xf, range=[0x000000000286c000-0x0000000002870000) (0MB)
[    0.000000] efi: mem71: type=4, attr=0xf, range=[0x0000000002870000-0x0000000002871000) (0MB)
[    0.000000] efi: mem72: type=3, attr=0xf, range=[0x0000000002871000-0x0000000002874000) (0MB)
[    0.000000] efi: mem73: type=4, attr=0xf, range=[0x0000000002874000-0x0000000002877000) (0MB)
[    0.000000] efi: mem74: type=3, attr=0xf, range=[0x0000000002877000-0x0000000002878000) (0MB)
[    0.000000] efi: mem75: type=4, attr=0xf, range=[0x0000000002878000-0x0000000002882000) (0MB)
[    0.000000] efi: mem76: type=3, attr=0xf, range=[0x0000000002882000-0x0000000002884000) (0MB)
[    0.000000] efi: mem77: type=4, attr=0xf, range=[0x0000000002884000-0x00000000028ce000) (0MB)
[    0.000000] efi: mem78: type=3, attr=0xf, range=[0x00000000028ce000-0x00000000028cf000) (0MB)
[    0.000000] efi: mem79: type=4, attr=0xf, range=[0x00000000028cf000-0x00000000028d2000) (0MB)
[    0.000000] efi: mem80: type=3, attr=0xf, range=[0x00000000028d2000-0x00000000028d5000) (0MB)
[    0.000000] efi: mem81: type=4, attr=0xf, range=[0x00000000028d5000-0x00000000028d6000) (0MB)
[    0.000000] efi: mem82: type=3, attr=0xf, range=[0x00000000028d6000-0x00000000028eb000) (0MB)
[    0.000000] efi: mem83: type=4, attr=0xf, range=[0x00000000028eb000-0x0000000002d35000) (4MB)
[    0.000000] efi: mem84: type=3, attr=0xf, range=[0x0000000002d35000-0x0000000002d3b000) (0MB)
[    0.000000] efi: mem85: type=4, attr=0xf, range=[0x0000000002d3b000-0x0000000002d3c000) (0MB)
[    0.000000] efi: mem86: type=3, attr=0xf, range=[0x0000000002d3c000-0x0000000002d40000) (0MB)
[    0.000000] efi: mem87: type=4, attr=0xf, range=[0x0000000002d40000-0x0000000002d51000) (0MB)
[    0.000000] efi: mem88: type=3, attr=0xf, range=[0x0000000002d51000-0x0000000002d5c000) (0MB)
[    0.000000] efi: mem89: type=4, attr=0xf, range=[0x0000000002d5c000-0x0000000002d62000) (0MB)
[    0.000000] efi: mem90: type=3, attr=0xf, range=[0x0000000002d62000-0x0000000002d63000) (0MB)
[    0.000000] efi: mem91: type=4, attr=0xf, range=[0x0000000002d63000-0x0000000002d64000) (0MB)
[    0.000000] efi: mem92: type=3, attr=0xf, range=[0x0000000002d64000-0x0000000002d68000) (0MB)
[    0.000000] efi: mem93: type=4, attr=0xf, range=[0x0000000002d68000-0x0000000002d74000) (0MB)
[    0.000000] efi: mem94: type=3, attr=0xf, range=[0x0000000002d74000-0x0000000002d76000) (0MB)
[    0.000000] efi: mem95: type=4, attr=0xf, range=[0x0000000002d76000-0x0000000002d80000) (0MB)
[    0.000000] efi: mem96: type=3, attr=0xf, range=[0x0000000002d80000-0x0000000002d82000) (0MB)
[    0.000000] efi: mem97: type=4, attr=0xf, range=[0x0000000002d82000-0x0000000002d83000) (0MB)
[    0.000000] efi: mem98: type=3, attr=0xf, range=[0x0000000002d83000-0x0000000002d88000) (0MB)
[    0.000000] efi: mem99: type=4, attr=0xf, range=[0x0000000002d88000-0x0000000002d8e000) (0MB)
[    0.000000] efi: mem100: type=3, attr=0xf, range=[0x0000000002d8e000-0x0000000002d91000) (0MB)
[    0.000000] efi: mem101: type=4, attr=0xf, range=[0x0000000002d91000-0x0000000002d95000) (0MB)
[    0.000000] efi: mem102: type=3, attr=0xf, range=[0x0000000002d95000-0x0000000002d9c000) (0MB)
[    0.000000] efi: mem103: type=4, attr=0xf, range=[0x0000000002d9c000-0x0000000002da3000) (0MB)
[    0.000000] efi: mem104: type=3, attr=0xf, range=[0x0000000002da3000-0x0000000002da5000) (0MB)
[    0.000000] efi: mem105: type=4, attr=0xf, range=[0x0000000002da5000-0x0000000002daa000) (0MB)
[    0.000000] efi: mem106: type=3, attr=0xf, range=[0x0000000002daa000-0x0000000002daf000) (0MB)
[    0.000000] efi: mem107: type=4, attr=0xf, range=[0x0000000002daf000-0x0000000002db7000) (0MB)
[    0.000000] efi: mem108: type=3, attr=0xf, range=[0x0000000002db7000-0x0000000002dbb000) (0MB)
[    0.000000] efi: mem109: type=4, attr=0xf, range=[0x0000000002dbb000-0x0000000002dce000) (0MB)
[    0.000000] efi: mem110: type=3, attr=0xf, range=[0x0000000002dce000-0x0000000002dd0000) (0MB)
[    0.000000] efi: mem111: type=4, attr=0xf, range=[0x0000000002dd0000-0x0000000002dd2000) (0MB)
[    0.000000] efi: mem112: type=3, attr=0xf, range=[0x0000000002dd2000-0x0000000002dd4000) (0MB)
[    0.000000] efi: mem113: type=4, attr=0xf, range=[0x0000000002dd4000-0x0000000002dd8000) (0MB)
[    0.000000] efi: mem114: type=3, attr=0xf, range=[0x0000000002dd8000-0x0000000002de6000) (0MB)
[    0.000000] efi: mem115: type=4, attr=0xf, range=[0x0000000002de6000-0x0000000002dec000) (0MB)
[    0.000000] efi: mem116: type=3, attr=0xf, range=[0x0000000002dec000-0x0000000002def000) (0MB)
[    0.000000] efi: mem117: type=4, attr=0xf, range=[0x0000000002def000-0x0000000002df0000) (0MB)
[    0.000000] efi: mem118: type=3, attr=0xf, range=[0x0000000002df0000-0x0000000002df5000) (0MB)
[    0.000000] efi: mem119: type=4, attr=0xf, range=[0x0000000002df5000-0x0000000002dfc000) (0MB)
[    0.000000] efi: mem120: type=3, attr=0xf, range=[0x0000000002dfc000-0x0000000002dfe000) (0MB)
[    0.000000] efi: mem121: type=4, attr=0xf, range=[0x0000000002dfe000-0x0000000002e04000) (0MB)
[    0.000000] efi: mem122: type=3, attr=0xf, range=[0x0000000002e04000-0x0000000002e07000) (0MB)
[    0.000000] efi: mem123: type=4, attr=0xf, range=[0x0000000002e07000-0x0000000002e0f000) (0MB)
[    0.000000] efi: mem124: type=3, attr=0xf, range=[0x0000000002e0f000-0x0000000002e11000) (0MB)
[    0.000000] efi: mem125: type=4, attr=0xf, range=[0x0000000002e11000-0x0000000002e12000) (0MB)
[    0.000000] efi: mem126: type=3, attr=0xf, range=[0x0000000002e12000-0x0000000002e17000) (0MB)
[    0.000000] efi: mem127: type=4, attr=0xf, range=[0x0000000002e17000-0x0000000002e1f000) (0MB)
[    0.000000] efi: mem128: type=3, attr=0xf, range=[0x0000000002e1f000-0x0000000002e23000) (0MB)
[    0.000000] efi: mem129: type=4, attr=0xf, range=[0x0000000002e23000-0x0000000002e43000) (0MB)
[    0.000000] efi: mem130: type=2, attr=0xf, range=[0x0000000002e43000-0x0000000002e44000) (0MB)
[    0.000000] efi: mem131: type=4, attr=0xf, range=[0x0000000002e44000-0x0000000002e45000) (0MB)
[    0.000000] efi: mem132: type=7, attr=0xf, range=[0x0000000002e45000-0x0000000002e46000) (0MB)
[    0.000000] efi: mem133: type=4, attr=0xf, range=[0x0000000002e46000-0x0000000002e4e000) (0MB)
[    0.000000] efi: mem134: type=3, attr=0xf, range=[0x0000000002e4e000-0x00000000037dd000) (9MB)
[    0.000000] efi: mem135: type=4, attr=0xf, range=[0x00000000037dd000-0x000000000396c000) (1MB)
[    0.000000] efi: mem136: type=3, attr=0xf, range=[0x000000000396c000-0x000000000396e000) (0MB)
[    0.000000] efi: mem137: type=4, attr=0xf, range=[0x000000000396e000-0x0000000003975000) (0MB)
[    0.000000] efi: mem138: type=3, attr=0xf, range=[0x0000000003975000-0x0000000003977000) (0MB)
[    0.000000] efi: mem139: type=4, attr=0xf, range=[0x0000000003977000-0x0000000003993000) (0MB)
[    0.000000] efi: mem140: type=3, attr=0xf, range=[0x0000000003993000-0x0000000003996000) (0MB)
[    0.000000] efi: mem141: type=4, attr=0xf, range=[0x0000000003996000-0x0000000003999000) (0MB)
[    0.000000] efi: mem142: type=3, attr=0xf, range=[0x0000000003999000-0x000000000399d000) (0MB)
[    0.000000] efi: mem143: type=4, attr=0xf, range=[0x000000000399d000-0x00000000039a3000) (0MB)
[    0.000000] efi: mem144: type=3, attr=0xf, range=[0x00000000039a3000-0x00000000039a7000) (0MB)
[    0.000000] efi: mem145: type=4, attr=0xf, range=[0x00000000039a7000-0x00000000039a8000) (0MB)
[    0.000000] efi: mem146: type=3, attr=0xf, range=[0x00000000039a8000-0x00000000039ba000) (0MB)
[    0.000000] efi: mem147: type=4, attr=0xf, range=[0x00000000039ba000-0x0000000003ffa000) (6MB)
[    0.000000] efi: mem148: type=2, attr=0xf, range=[0x0000000003ffa000-0x0000000004007000) (0MB)
[    0.000000] efi: mem149: type=7, attr=0xf, range=[0x0000000004007000-0x000000000400a000) (0MB)
[    0.000000] efi: mem150: type=4, attr=0xf, range=[0x000000000400a000-0x000000000402c000) (0MB)
[    0.000000] efi: mem151: type=2, attr=0xf, range=[0x000000000402c000-0x0000000004041000) (0MB)
[    0.000000] efi: mem152: type=7, attr=0xf, range=[0x0000000004041000-0x000000000418b000) (1MB)
[    0.000000] efi: mem153: type=4, attr=0xf, range=[0x000000000418b000-0x000000000994c000) (87MB)
[    0.000000] efi: mem154: type=7, attr=0xf, range=[0x000000000994c000-0x000000000a063000) (7MB)
[    0.000000] efi: mem155: type=1, attr=0xf, range=[0x000000000a063000-0x000000000a77a000) (7MB)
[    0.000000] efi: mem156: type=7, attr=0xf, range=[0x000000000a77a000-0x000000000b000000) (8MB)
[    0.000000] efi: mem157: type=2, attr=0xf, range=[0x000000000b000000-0x000000000c178000) (17MB)
[    0.000000] efi: mem158: type=7, attr=0xf, range=[0x000000000c178000-0x00000000be8fc000) (2855MB)
[    0.000000] efi: mem159: type=10, attr=0xf, range=[0x00000000be8fc000-0x00000000be944000) (0MB)
[    0.000000] efi: mem160: type=9, attr=0xf, range=[0x00000000be944000-0x00000000be94c000) (0MB)
[    0.000000] efi: mem161: type=6, attr=0x800000000000000f, range=[0x00000000be94c000-0x00000000bf3a9000) (10MB)
[    0.000000] efi: mem162: type=0, attr=0xf, range=[0x00000000bf3a9000-0x00000000bf5e2000) (2MB)
[    0.000000] efi: mem163: type=6, attr=0x800000000000000f, range=[0x00000000bf5e2000-0x00000000bf5e4000) (0MB)
[    0.000000] efi: mem164: type=0, attr=0xf, range=[0x00000000bf5e4000-0x00000000bf5f5000) (0MB)
[    0.000000] efi: mem165: type=5, attr=0x800000000000000f, range=[0x00000000bf5f5000-0x00000000bf5f6000) (0MB)
[    0.000000] efi: mem166: type=6, attr=0x800000000000000f, range=[0x00000000bf5f6000-0x00000000bf5f8000) (0MB)
[    0.000000] efi: mem167: type=7, attr=0xf, range=[0x00000000bf5f8000-0x00000000bf5fa000) (0MB)
[    0.000000] efi: mem168: type=0, attr=0xf, range=[0x00000000bf5fa000-0x00000000bf60a000) (0MB)
[    0.000000] efi: mem169: type=10, attr=0xf, range=[0x00000000bf60a000-0x00000000bf615000) (0MB)
[    0.000000] efi: mem170: type=5, attr=0x800000000000000f, range=[0x00000000bf615000-0x00000000bf617000) (0MB)
[    0.000000] efi: mem171: type=6, attr=0x800000000000000f, range=[0x00000000bf617000-0x00000000bf629000) (0MB)
[    0.000000] efi: mem172: type=5, attr=0x800000000000000f, range=[0x00000000bf629000-0x00000000bf637000) (0MB)
[    0.000000] efi: mem173: type=6, attr=0x800000000000000f, range=[0x00000000bf637000-0x00000000bf63a000) (0MB)
[    0.000000] efi: mem174: type=10, attr=0xf, range=[0x00000000bf63a000-0x00000000bf67d000) (0MB)
[    0.000000] efi: mem175: type=3, attr=0xf, range=[0x00000000bf67d000-0x00000000bf7f3000) (1MB)
[    0.000000] efi: mem176: type=4, attr=0xf, range=[0x00000000bf7f3000-0x00000000bf7f6000) (0MB)
[    0.000000] efi: mem177: type=3, attr=0xf, range=[0x00000000bf7f6000-0x00000000bf800000) (0MB)
[    0.000000] efi: mem178: type=7, attr=0xf, range=[0x0000000100000000-0x0000000440000000) (13312MB)
[    0.000000] efi: mem179: type=11, attr=0x8000000000000001, range=[0x00000000fed1c000-0x00000000fed20000) (0MB)
[    0.000000] efi: mem180: type=11, attr=0x8000000000000001, range=[0x00000000fed20000-0x00000000fed40000) (0MB)
[    0.000000] efi: mem181: type=11, attr=0x8000000000000001, range=[0x00000000ff000000-0x0000000100000000) (16MB)
[    0.234972] efifb: probing for efifb
[    0.235276] efifb: framebuffer at 0xd9000000, mapped to 0xffffc90011180000, using 3072k, total 3072k
[    0.235277] efifb: mode is 1024x768x32, linelength=4096, pages=1
[    0.235278] efifb: scrolling: redraw
[    0.235279] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    0.239694] fb0: EFI VGA frame buffer device
[    0.293710] EFI Variables Facility v0.08 2004-May-17
[    1.010219] nvidia: module license 'NVIDIA' taints kernel.
[    1.196466] tsc: Refined TSC clocksource calibration: 3092.973 MHz
[    1.273589] input: HDA NVidia HDMI as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input14
[    1.274345] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  313.30  Wed Mar 27 16:56:45 PDT 2013
[   13.843778] NVRM: on the primary VGA device. The NVIDIA Linux graphics driver
root@vortex ~# uname -a
Linux vortex 3.9.0-gentoo #1 SMP PREEMPT Tue Apr 30 23:22:17 MSK 2013 x86_64 Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz GenuineIntel GNU/Linux

Hmm, I guess this could mean that non-standard apple uefi- implementations suffer from this bug.
Which doesn’t answer the original question, ‘stauts of efi-mode’ support entirely.
As it stands, works with newer efi- implementations “efi: EFI v2.00 by American Megatrends”, does not with older/apple’s.

Any mac users out there??

Yes, “mbp 7,1” as well. I came here after reading the [url],1[/url] wiki and there said it’s impossible to run nvidia in efi-mode without crash… that happened to me in fact. But there were some errors while trying to install the “Nvidia script”, it point at some kind of negative to link some files (like to /dev/null. Indeed I go back to nouveau in my new Debian 7 Wheezy installation, any Ideas?

Me too - mbp “UnluckyMe” 7,1 - here. I’ve been trying to get an ernest Linux install on this laptop since I bought it in 2010, with very little luck. But the things got better in time; at the beginning there were any kind of troubles… memory leacks… thread loops… so battery draining and a general sloppyness, unresponsiveness. At this time I’m writing on Debian “Wheezy” 7.0.2 booted in pure EFI, using nouveau and I have fair 3d performances over a generally speaking good system. I haven’t tried nvidia blob yet. This is what I got searching around at this time:

  • Apple publishes a list of firmware updates ( About EFI and SMC firmware updates for Intel-based Mac computers - Apple Support ) with an “efi number” that doesn’t mean anything to us all because the Unified EFI Forum ( ) didn’t make it yet (last UEFI Specification is version 2.4, published July, 2013). I mean: I have Apple firmware version MBP71.0039.B0E (last available) but on that page they say “EFI 2.5”; as usual they added something “more” over the 2.4 standard specs. Messing up our lives ( xkcd: Standards ); well, I agree with Alan Kay (“To invent the future is easier than predict”) but that was at the time of Xerox Park, not 2013. Luckily after have abused of crocodile skin laptops and any other fancy design option, we, the people, will go back to do something new also. Real innovation. By now cocaine addicted Pepsi CEOs with too high wages, should be finished, all dead… I hope.

  • My Friends at are fast digging a tunnel under this huge Mountain of Lion’s Shit ( enable NVIDIA MCP89 chipset - Patchwork ). Hopefully we’ll be able soon ( Supported hardware - flashrom ) to get rid of all that Apple crap replacing their whole firmware.

  • if NVIDIA would release docs for their microcontroller (MCP89, 10de:0d80) we would already be able to safely write coreboot+tiano in the SST25VF032B flash chip and… peacefully end this blood bath. 4MB of flash memory are plenty to run an entire Lunar Module Operating System and instead we have to struggle to turn on a pixel on a monitor so that plenty room is left for government controllers and copyright stakeholders: shooting a mosquito down using an intercontinental nuclear missile. One day I’ll have to kamikaze myself to blow up the World Intellectual Property Organization headquarters.

Hope your laughing, cheers,