1*4882a593Smuzhiyun============== 2*4882a593SmuzhiyunWhat is efifb? 3*4882a593Smuzhiyun============== 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunThis is a generic EFI platform driver for systems with UEFI firmware. The 6*4882a593Smuzhiyunsystem must be booted via the EFI stub for this to be usable. efifb supports 7*4882a593Smuzhiyunboth firmware with Graphics Output Protocol (GOP) displays as well as older 8*4882a593Smuzhiyunsystems with only Universal Graphics Adapter (UGA) displays. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSupported Hardware 11*4882a593Smuzhiyun================== 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun- iMac 17"/20" 14*4882a593Smuzhiyun- Macbook 15*4882a593Smuzhiyun- Macbook Pro 15"/17" 16*4882a593Smuzhiyun- MacMini 17*4882a593Smuzhiyun- ARM/ARM64/X86 systems with UEFI firmware 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunHow to use it? 20*4882a593Smuzhiyun============== 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunFor UGA displays, efifb does not have any kind of autodetection of your 23*4882a593Smuzhiyunmachine. 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunYou have to add the following kernel parameters in your elilo.conf:: 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun Macbook : 28*4882a593Smuzhiyun video=efifb:macbook 29*4882a593Smuzhiyun MacMini : 30*4882a593Smuzhiyun video=efifb:mini 31*4882a593Smuzhiyun Macbook Pro 15", iMac 17" : 32*4882a593Smuzhiyun video=efifb:i17 33*4882a593Smuzhiyun Macbook Pro 17", iMac 20" : 34*4882a593Smuzhiyun video=efifb:i20 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunFor GOP displays, efifb can autodetect the display's resolution and framebuffer 37*4882a593Smuzhiyunaddress, so these should work out of the box without any special parameters. 38*4882a593Smuzhiyun 39*4882a593SmuzhiyunAccepted options: 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun======= =========================================================== 42*4882a593Smuzhiyunnowc Don't map the framebuffer write combined. This can be used 43*4882a593Smuzhiyun to workaround side-effects and slowdowns on other CPU cores 44*4882a593Smuzhiyun when large amounts of console data are written. 45*4882a593Smuzhiyun======= =========================================================== 46*4882a593Smuzhiyun 47*4882a593SmuzhiyunOptions for GOP displays: 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunmode=n 50*4882a593Smuzhiyun The EFI stub will set the mode of the display to mode number n if 51*4882a593Smuzhiyun possible. 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun<xres>x<yres>[-(rgb|bgr|<bpp>)] 54*4882a593Smuzhiyun The EFI stub will search for a display mode that matches the specified 55*4882a593Smuzhiyun horizontal and vertical resolution, and optionally bit depth, and set 56*4882a593Smuzhiyun the mode of the display to it if one is found. The bit depth can either 57*4882a593Smuzhiyun "rgb" or "bgr" to match specifically those pixel formats, or a number 58*4882a593Smuzhiyun for a mode with matching bits per pixel. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyunauto 61*4882a593Smuzhiyun The EFI stub will choose the mode with the highest resolution (product 62*4882a593Smuzhiyun of horizontal and vertical resolution). If there are multiple modes 63*4882a593Smuzhiyun with the highest resolution, it will choose one with the highest color 64*4882a593Smuzhiyun depth. 65*4882a593Smuzhiyun 66*4882a593Smuzhiyunlist 67*4882a593Smuzhiyun The EFI stub will list out all the display modes that are available. A 68*4882a593Smuzhiyun specific mode can then be chosen using one of the above options for the 69*4882a593Smuzhiyun next boot. 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunEdgar Hucek <gimli@dark-green.com> 72