• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Console support on 10.1 amd64 for 2014 MacBook Pro 15" Retina


Active Member

Thanks: 39
Messages: 102

I have a new MBP, and successfully installed FreeBSD 10-STABLE with boot to ZFS using the EFI partition to hold the boot loader.

At the boot loader console, I can choose "mode 2" and get a nice font that uses the full screen space. Beautiful!

However as soon as the loader runs, it switches into about a 1/4 screen size view that is almost unreadable due to small size. This happens even if I don't change the mode during boot loader BTW.

After booting, I can log in and switch to terminus font, but the screen real estate is still not full screen.

This is of course a haswell architecture, so there's no point trying to get X going, but I'd be very happy if there's a way to get the vt console to keep the screen size at max.

Any suggestions? config files follow, trimmed where appropriate. Photos to match the story coming soon.

# /boot/loader.conf console entries only
# let there be light
# boot time console
# this parameter has no effect
# dmesg
Copyright (c) 1992-2015 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
   The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.1-STABLE #0 r282689: Sat May  9 22:15:41 UTC 2015
  root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
VT: running with driver "efifb".
module_register: module at91_mci/mmc already exists!
Module at91_mci/mmc failed to register: 17
module_register: module sdhci_bcm/mmc already exists!
Module sdhci_bcm/mmc failed to register: 17
module_register: module sdhci_fdt/mmc already exists!
Module sdhci_fdt/mmc failed to register: 17
module_register: module sdhci_imx/mmc already exists!
Module sdhci_imx/mmc failed to register: 17
module_register: module sdhci_pci/mmc already exists!
Module sdhci_pci/mmc failed to register: 17
module_register: module sdhci_ti/mmc already exists!
Module sdhci_ti/mmc failed to register: 17
module_register: module ti_mmchs/mmc already exists!
Module ti_mmchs/mmc failed to register: 17
module_register: module mmc/mmcsd already exists!
Module mmc/mmcsd failed to register: 17
CPU: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz (2194.96-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x40661  Family=0x6  Model=0x46  Stepping=1
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x21<LAHF,ABM>
  Structured Extended Features=0x27ab<FSGSBASE,TSCADJ,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID>
  XSAVE Features=0x1<XSAVEOPT>
  TSC: P-state invariant, performance statistics
real memory  = 19316867072 (18422 MB)
avail memory = 16456269824 (15693 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <APPLE  Apple00>
FreeBSD/SMP: Multiprocessor System Detected: 8 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s) x 2 SMT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP): APIC ID:  3
 cpu4 (AP): APIC ID:  4
 cpu5 (AP): APIC ID:  5
 cpu6 (AP): APIC ID:  6
 cpu7 (AP): APIC ID:  7
ACPI BIOS Warning (bug): 32/64X length mismatch in FADT/Gpe0Block: 128/0 (20150410/tbfadt-644)
ioapic0 <Version 2.0> irqs 0-23 on motherboard
random: <Software, Yarrow> initialized
module_register_init: MOD_LOAD (vesa, 0xffffffff80d97a90, 0) error 19
kbd0 at kbdmux0
acpi0: <APPLE Apple00> on motherboard
acpi_ec0: <Embedded Controller: GPE 0x17, ECDT> port 0x62,0x66 on acpi0
acpi0: Power Button (fixed)
unknown: I/O range not supported
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
cpu0: <ACPI CPU> port 0x100-0x107 on acpi0
cpu1: <ACPI CPU> port 0x100-0x107 on acpi0
cpu2: <ACPI CPU> port 0x100-0x107 on acpi0
cpu3: <ACPI CPU> port 0x100-0x107 on acpi0
cpu4: <ACPI CPU> port 0x100-0x107 on acpi0
cpu5: <ACPI CPU> port 0x100-0x107 on acpi0
cpu6: <ACPI CPU> port 0x100-0x107 on acpi0
cpu7: <ACPI CPU> port 0x100-0x107 on acpi0
atrtc0: <AT realtime clock> port 0x70-0x77 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci5: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> at device 0.0 on pci5
pci6: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> at device 0.0 on pci6
pci7: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> at device 3.0 on pci6
pci8: <ACPI PCI bus> on pcib4
pcib5: <ACPI PCI-PCI bridge> at device 0.0 on pci8
pci9: <ACPI PCI bus> on pcib5
pcib6: <ACPI PCI-PCI bridge> at device 0.0 on pci9
pci10: <ACPI PCI bus> on pcib6
bge0: <Thunderbolt Ethernet, ASIC rev. 0x57766000> mem 0xacc00000-0xacc0ffff,0xacc10000-0xacc1ffff at device 0.0 on pci10
bge0: CHIP ID 0x57766000; ASIC REV 0x57766; CHIP REV 0x577660; PCI-E
miibus0: <MII bus> on bge0
brgphy0: <BCM57765 1000BASE-T media interface> PHY 1 on miibus0
brgphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
bge0: Using defaults for TSO: 65518/35/2048
bge0: Ethernet address: ac:87:a3:27:f5:44
pcib7: <ACPI PCI-PCI bridge> at device 4.0 on pci6
pci57: <ACPI PCI bus> on pcib7
pcib8: <ACPI PCI-PCI bridge> at device 5.0 on pci6
pci58: <ACPI PCI bus> on pcib8
pcib9: <ACPI PCI-PCI bridge> at device 6.0 on pci6
pci107: <ACPI PCI bus> on pcib9
vgapci0: <VGA-compatible display> port 0x1000-0x103f mem 0xa0000000-0xa03fffff,0x90000000-0x9fffffff at device 2.0 on pci0
vgapci0: Boot video device
hdac0: <Intel Haswell HDA Controller> mem 0xa0a10000-0xa0a13fff at device 3.0 on pci0
xhci0: <Intel Lynx Point USB 3.0 controller> mem 0xa0a00000-0xa0a0ffff at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
xhci0: Port routing mask set to 0xffffffff
usbus0 on xhci0
pci0: <simple comms> at device 22.0 (no driver attached)
hdac1: <Intel Lynx Point HDA Controller> mem 0xa0a14000-0xa0a17fff at device 27.0 on pci0
pcib10: <PCI-PCI bridge> at device 28.0 on pci0
pci1: <PCI bus> on pcib10
pcib11: <ACPI PCI-PCI bridge> at device 28.2 on pci0
pci2: <ACPI PCI bus> on pcib11
pci2: <network> at device 0.0 (no driver attached)
pcib12: <ACPI PCI-PCI bridge> at device 28.3 on pci0
pci3: <ACPI PCI bus> on pcib12
pci3: <multimedia> at device 0.0 (no driver attached)
pcib13: <ACPI PCI-PCI bridge> at device 28.4 on pci0
pci4: <ACPI PCI bus> on pcib13
ahci0: <AHCI SATA controller> mem 0xa0700000-0xa0701fff at device 0.0 on pci4
ahci0: AHCI v1.30 with 1 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
battery0: <ACPI Control Method Battery> on acpi0
acpi_acad0: <AC Adapter> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
ppc0: cannot reserve I/O port range
uart0: <8250 or 16450 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
est0: <Enhanced SpeedStep Frequency Control> on cpu0
coretemp1: <CPU On-Die Thermal Sensors> on cpu1
est1: <Enhanced SpeedStep Frequency Control> on cpu1
coretemp2: <CPU On-Die Thermal Sensors> on cpu2
est2: <Enhanced SpeedStep Frequency Control> on cpu2
coretemp3: <CPU On-Die Thermal Sensors> on cpu3
est3: <Enhanced SpeedStep Frequency Control> on cpu3
coretemp4: <CPU On-Die Thermal Sensors> on cpu4
est4: <Enhanced SpeedStep Frequency Control> on cpu4
coretemp5: <CPU On-Die Thermal Sensors> on cpu5
est5: <Enhanced SpeedStep Frequency Control> on cpu5
coretemp6: <CPU On-Die Thermal Sensors> on cpu6
est6: <Enhanced SpeedStep Frequency Control> on cpu6
coretemp7: <CPU On-Die Thermal Sensors> on cpu7
est7: <Enhanced SpeedStep Frequency Control> on cpu7
random: unblocking device.
usbus0: 5.0Gbps Super Speed USB v3.0
fuse-freebsd: version 0.4.4, FUSE ABI 7.8
ZFS filesystem version: 5
ZFS storage pool version: features support (5000)
Timecounters tick every 1.000 msec
hdacc0: <Intel Haswell HDA CODEC> at cad 0 on hdac0
hdaa0: <Intel Haswell Audio Function Group> at nid 1 on hdacc0
pcm0: <Intel Haswell (HDMI/DP 8ch)> at nid 3 on hdaa0
hdacc1: <Cirrus Logic (0x4208) HDA CODEC> at cad 0 on hdac1
hdaa1: <Cirrus Logic (0x4208) Audio Function Group> at nid 1 on hdacc1
pcm1: <Cirrus Logic (0x4208) (Analog 4.0/2.0)> at nid 18,19 and 24 on hdaa1
pcm2: <Cirrus Logic (0x4208) (Analog Headphones)> at nid 16 on hdaa1
pcm3: <Cirrus Logic (0x4208) (Digital)> at nid 33 on hdaa1
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ugen0.1: <0x8086> at usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0

Timecounter "TSC-low" frequency 1097480733 Hz quality 1000
Root mount waiting for: usbus0
uhub0: 21 ports with 21 removable, self powered
Root mount waiting for: usbus0
ugen0.2: <Apple Inc.> at usbus0
uhub1: <Apple Inc. BRCM20702 Hub, class 9/0, rev 2.00/1.00, addr 1> on usbus0
Root mount waiting for: usbus0
uhub1: 3 ports with 0 removable, self powered
ugen0.3: <vendor 0x05ac> at usbus0
ukbd0: <vendor 0x05ac product 0x820a, class 0/0, rev 2.00/1.00, addr 2> on usbus0
kbd1 at ukbd0
umass0:1:0:-1: Attached to scbus1ugen0.8: <Apple> at usbus0
umass1: <Apple Card Reader, class 0/0, rev 3.00/8.20, addr 7> on usbus0
umass1:  SCSI over Bulk-Only; quirks = 0x4000
umass1:2:1:-1: Attached to scbus2
Trying to mount root from zfs:tank/ROOT/default []...
(probe0:umass-sim1:1:0:0): REPORT LUNS. CDB: a0 00 00 00 00 00 00 00 00 10 00 00
(probe0:umass-sim1:1:0:0): CAM status: SCSI Status Error
(probe0:umass-sim1:1:0:0): SCSI status: Check Condition
(probe0:umass-sim1:1:0:0): SCSI sense: NOT READY asc:3a,0 (Medium not present)
(probe0:umass-sim1:1:0:0): Error 6, Unretryable error
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <APPLE SD Card Reader 3.00> Removable Direct Access SPC-4 SCSI device
da1: Serial Number 000000000820
da1: 400.000MB/s transfers
da1: Attempt to query device size failed: NOT READY, Medium not present
da1: quirks=0x2<NO_6_BYTE>
ums0: <vendor 0x05ac product 0x820b, class 0/0, rev 2.00/1.00, addr 3> on usbus0
ums0: 3 buttons and [XY] coordinates ID=2
ums1: <Touchpad> on usbus0
ums1: 3 buttons and [XY] coordinates ID=2
ubt0: <Apple Inc. Bluetooth USB Host Controller, rev 2.00/1.03, addr 4> on usbus0
wsp0: <Touchpad> on usbus0
WARNING: attempt to domain_add(bluetooth) after domainfinalize()
WARNING: attempt to domain_add(netgraph) after domainfinalize()
ugen0.3: <vendor 0x05ac> at usbus0 (disconnected)
ukbd0: at uhub1, port 1, addr 2 (disconnected)
ugen0.4: <vendor 0x05ac> at usbus0 (disconnected)
ums0: at uhub1, port 2, addr 3 (disconnected)
# /etc/rc.conf
ifconfig_bge0_ipv6="inet6 accept_rtadv"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable

# powerd: hiadaptive speed while on AC power, adaptive while on battery power
powerd_flags="-a hiadaptive -b adaptive"

# Enable BlueTooth

# Synchronize system time
# Let ntpd make time jumps larger than 1000sec



Active Member

Thanks: 39
Messages: 102

screen shots:

by default the EFI boot stage occupies the centre of the screen only:


however we can select `mode 2` and use the full screen with a very nice default font:


after the boot loader runs, we only use the top left corner of the screen and a very small font. The screen is also not fully cleared.


once in FreeBSD we can switch to a nicer console font like terminus, which is very readable, but still we are stuck in a quadrant.



Active Member

Thanks: 39
Messages: 102

trev good link but none of these address the mismatched console size.

Output of vidcontrol -i mode < /dev/console is garbage, full output https://dpaste.de/Wuub

[*] mode#  flags  type size  font window linear buffer
[*] 0 (0x000) 0x00000000 T 0x0  0x0  0x00000 -6k 6284k 0x7fffffffe780 -6k
[*] 1 (0x001) 0x00000000 T 0x0  0x0  0x00000 -6k 6284k 0x7fffffffe780 -6k
And as one might expect none of these modes are selectable. kldload i915kms succeeds but nothing else changes because Haswell I'm guessing.

Trying to boot with sc fails;

# /boot/loader.conf
doesn't get past loading kernel, screen never changes and there's no response from network ping after 1 minute or so in case its just a driver issue.



Thanks: 22
Messages: 86

I have been away from the MacBookPro11,4 for a few months.That aside …

Based on my most recent experience with an installation of PC-BSD 11.0-CURRENTAPR2016 (from PCBSD11.0-CURRENTAPRIL2016-03-31-2016-x64-DVD.iso (not from a USB flash drive)) on a Broadwell notebook (HP EliteBook 850 G2), with SCFB, I'd say that things have advanced reasonably well.

Will brightness be controllable? Maybe not at this stage.

That's all quite off-topic from the original subject (10.1 on a 2014 MacBook Pro 15" Retina) … apologies to the opening poster!


Active Member

Thanks: 39
Messages: 102

Any update on this? I am in essentially the same situation.
I'm happily running 11.0-CURRENT from 29 April 2016 with scfb driver for X, and i3 now, full screen. The original reduced size console issue is still present but now that I have X up & running it's really not a major problem. I can share config details if needed, but basically it's:

- full disk install of CURRENT with zfs all the way
- minimal xorg.conf from here https://wiki.freebsd.org/Graphics/SCFB
- slim & i3
- brightness & similar things can't be controlled but this is more than good enough for the moment

BTW I suspect this setup will work just fine with 10.3R as well, just I've not had the time to break things just yet by reverting.