# MacBookPro6,2 Graphic drivers not working. [PART. SOLVED]

## ESF

Hello there, gentoo community!

After some time using Snow Leopard on my MBP, I decided to take the most of this computer and, in an act of complete stubbornness, eventually decided to install gentoo on it. (I'm not telling why because it's not relevant)

I've put together lots of pieces: reading through posts, wikis, guides, etc. and got it up and running.

BUT I can't get the Graphic Drivers to work. I am perfectly able to start the X server using fbdev drivers, but as you surely know that works just for emergencies, there is no point on wasting CPU power on graphics when the machine has specific hardware to fulfill that task.

I've tried with both drivers, intel and nvidia (propietary) in both powersave modes,  "full graphics" and "on demand".

As of readability I will include all the logs at the end of the post.

¿Would you be so kind of shedding some light on this issue? I would like to know what is exactly not working as it should/could and, if you know how to solve it, please share it with us.

Hardware:

MBP6,2 Wikipedia Specs

Boot sequence:

Apple EFI-1.10 + rEFIt 0.14 + Grub1.99-rc2 + gentoo-sources-3.2.12 video=efifb

Intel Drivers:

The effect is the same in both powersave modes: once the module i915 is loaded, the laptop screen freezes, the cursor stops blinking but the system can still be accessed through SSH.

"On demand" dmesg:

```
[  646.205424] [drm] Initialized drm 1.1.0 20060810

[  646.208102] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

[  646.208107] i915 0000:00:02.0: setting latency timer to 64

[  646.261684] i915 0000:00:02.0: irq 44 for MSI/MSI-X

[  646.261697] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).

[  646.261698] [drm] Driver supports precise vblank timestamp query.

[  646.261714] i915 0000:00:02.0: Invalid ROM contents

[  646.261716] [drm:intel_parse_bios] *ERROR* VBT signature missing

[  646.261718] [drm] failed to find VBIOS tables

[  646.261768] [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions

[  646.261787] [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions

[  646.350122] parse error at position 4 in video mode 'efifb'

[  646.350126] parse error at position 4 in video mode 'efifb'

[  646.350130] parse error at position 4 in video mode 'efifb'

[  646.378062] No connectors reported connected with modes

[  646.378069] [drm] Cannot find any crtc or sizes - going 1024x768

[  646.384956] checking generic (90030000 834000) vs hw (b0000000 10000000)

[  646.385057] fbcon: inteldrmfb (fb1) is primary device

[  646.385064] fbcon: Remapping primary device, fb1, to tty 1-63

[  646.491777] fb1: inteldrmfb frame buffer device

[  646.491779] drm: registered panic notifier

[  646.492450] fixme: max PWM is zero.

[  646.492564] acpi device:06: registered as cooling_device4

[  646.492795] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input9

[  646.492821] ACPI: Video Device [IGPU] (multi-head: yes  rom: no  post: no)

[  646.492866] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0

[  646.493106] modprobe used greatest stack depth: 3824 bytes left
```

"Full Graphics" dmesg: 

```
[    2.553224] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[    2.554679] usb 2-1.1: Product: Built-in iSight

[    2.556133] usb 2-1.1: Manufacturer: Apple Inc.

[    2.557586] usb 2-1.1: SerialNumber: 8JA9T1H0DDCLKA00

[    2.559291] usb 2-1.1: usb_probe_device

[    2.559297] usb 2-1.1: configuration #1 chosen from 1 choice

[    2.559519] usb 2-1.1: adding 2-1.1:1.0 (config #1, interface 0)

[    2.617886] usb 2-1.1: adding 2-1.1:1.1 (config #1, interface 1)

[    2.618182] usb 2-1.1: adding 2-1.1:1.2 (config #1, interface 2)

[    2.618284] drivers/usb/core/inode.c: creating file '003'

[    2.618438] hub 2-1:1.0: port 2, status 0301, change 0000, 1.5 Mb/s

[    2.629016] hub 2-1:1.0: port 2 not reset yet, waiting 10ms

[    2.690834] usb 2-1.2: new low-speed USB device number 4 using ehci_hcd

[    2.703808] hub 2-1:1.0: port 2 not reset yet, waiting 10ms

[    2.780555] usb 2-1.2: skipped 1 descriptor after interface

[    2.781179] usb 2-1.2: default language 0x0409

[    2.783931] usb 2-1.2: udev 4, busnum 2, minor = 131

[    2.783936] usb 2-1.2: New USB device found, idVendor=05ac, idProduct=8242

[    2.785461] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    2.786897] usb 2-1.2: Product: IR Receiver

[    2.788331] usb 2-1.2: Manufacturer: Apple Computer, Inc.

[    2.789881] usb 2-1.2: usb_probe_device

[    2.789883] usb 2-1.2: configuration #1 chosen from 1 choice

[    2.791742] usb 2-1.2: adding 2-1.2:1.0 (config #1, interface 0)

[    2.791861] usbhid 2-1.2:1.0: usb_probe_interface

[    2.791865] usbhid 2-1.2:1.0: usb_probe_interface - got id

[    2.795416] usbhid 2-1.2:1.0: looking for a minor, starting at 96

[    2.795512] apple 0003:05AC:8242.0003: hiddev0,hidraw2: USB HID v1.11 Device [Apple Computer, Inc. IR Receiver] on usb-0000:00:1d.7-1.2/input0

[    2.797047] drivers/usb/core/inode.c: creating file '004'

[    2.797241] hub 2-1:1.0: port 3, status 0101, change 0000, 12 Mb/s

[    2.807618] hub 2-1:1.0: port 3 not reset yet, waiting 10ms

[    2.869524] usb 2-1.3: new high-speed USB device number 5 using ehci_hcd

[    2.882510] hub 2-1:1.0: port 3 not reset yet, waiting 10ms

[    2.957886] usb 2-1.3: default language 0x0409

[    2.960630] usb 2-1.3: udev 5, busnum 2, minor = 132

[    2.960634] usb 2-1.3: New USB device found, idVendor=1bcf, idProduct=0c31

[    2.963118] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[    2.965931] usb 2-1.3: Product: USB to Serial-ATA bridge

[    2.968728] usb 2-1.3: Manufacturer: Sunplus Innovation Technology

[    2.971582] usb 2-1.3: SerialNumber: FAFFFFF0FFF2F8F1FBA0026

[    2.974685] usb 2-1.3: usb_probe_device

[    2.974690] usb 2-1.3: configuration #1 chosen from 1 choice

[    2.975762] usb 2-1.3: adding 2-1.3:1.0 (config #1, interface 0)

[    2.976777] uas 2-1.3:1.0: usb_probe_interface

[    2.976782] uas 2-1.3:1.0: usb_probe_interface - got id

[    2.976798] usb-storage 2-1.3:1.0: usb_probe_interface

[    2.976806] usb-storage 2-1.3:1.0: usb_probe_interface - got id

[    2.976911] scsi5 : usb-storage 2-1.3:1.0

[    2.979722] drivers/usb/core/inode.c: creating file '005'

[    2.979732] hub 1-1.1:1.0: state 7 ports 3 chg 000e evt 0000

[    2.980039] hub 1-1.1:1.0: port 1, status 0101, change 0000, 12 Mb/s

[    3.042192] usb 1-1.1.1: new full-speed USB device number 6 using ehci_hcd

[    3.117939] usb 1-1.1.1: ep0 maxpacket = 8

[    3.121602] usb 1-1.1.1: skipped 1 descriptor after interface

[    3.121608] usb 1-1.1.1: udev 6, busnum 1, minor = 5

[    3.121612] usb 1-1.1.1: New USB device found, idVendor=05ac, idProduct=820a

[    3.123114] usb 1-1.1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    3.124714] usb 1-1.1.1: usb_probe_device

[    3.124717] usb 1-1.1.1: configuration #1 chosen from 1 choice

[    3.124863] usb 1-1.1.1: adding 1-1.1.1:1.0 (config #1, interface 0)

[    3.124959] usbhid 1-1.1.1:1.0: usb_probe_interface

[    3.124961] usbhid 1-1.1.1:1.0: usb_probe_interface - got id

[    3.126763] input: HID 05ac:820a as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/input/input5

[    3.128252] usb 1-1.1.1: link qh8-0e01/ffff880166573700 start 4 [1/2 us]

[    3.128401] generic-usb 0003:05AC:820A.0004: input,hidraw3: USB HID v1.11 Keyboard [HID 05ac:820a] on usb-0000:00:1a.7-1.1.1/input0

[    3.129899] drivers/usb/core/inode.c: creating file '006'

[    3.130063] hub 1-1.1:1.0: port 2, status 0101, change 0000, 12 Mb/s

[    3.191994] usb 1-1.1.2: new full-speed USB device number 7 using ehci_hcd

[    3.267696] usb 1-1.1.2: ep0 maxpacket = 8

[    3.271362] usb 1-1.1.2: skipped 1 descriptor after interface

[    3.271367] usb 1-1.1.2: udev 7, busnum 1, minor = 6

[    3.271370] usb 1-1.1.2: New USB device found, idVendor=05ac, idProduct=820b

[    3.273877] usb 1-1.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    3.276930] usb 1-1.1.2: usb_probe_device

[    3.276935] usb 1-1.1.2: configuration #1 chosen from 1 choice

[    3.277126] usb 1-1.1.2: adding 1-1.1.2:1.0 (config #1, interface 0)

[    3.277508] usbhid 1-1.1.2:1.0: usb_probe_interface

[    3.277511] usbhid 1-1.1.2:1.0: usb_probe_interface - got id

[    3.279100] input: HID 05ac:820b as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/input/input6

[    3.281898] generic-usb 0003:05AC:820B.0005: input,hidraw4: USB HID v1.11 Mouse [HID 05ac:820b] on usb-0000:00:1a.7-1.1.2/input0

[    3.283488] drivers/usb/core/inode.c: creating file '007'

[    3.283655] hub 1-1.1:1.0: port 3, status 0101, change 0000, 12 Mb/s

[    3.345739] usb 1-1.1.3: new full-speed USB device number 8 using ehci_hcd

[    3.382443] scsi 4:0:0:0: Direct-Access     APPLE    SD Card Reader   1.00 PQ: 0 ANSI: 0

[    3.385541] sd 4:0:0:0: Attached scsi generic sg2 type 0

[    3.388865] sd 4:0:0:0: [sdb] Attached SCSI removable disk

[    3.424346] usb 1-1.1.3: skipped 1 descriptor after interface

[    3.424897] usb 1-1.1.3: default language 0x0409

[    3.426114] usb 1-1.1.3: udev 8, busnum 1, minor = 7

[    3.426119] usb 1-1.1.3: New USB device found, idVendor=05ac, idProduct=8218

[    3.427716] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    3.429239] usb 1-1.1.3: Product: Bluetooth USB Host Controller

[    3.430754] usb 1-1.1.3: Manufacturer: Apple Inc.

[    3.432490] usb 1-1.1.3: usb_probe_device

[    3.432496] usb 1-1.1.3: configuration #1 chosen from 1 choice

[    3.432683] usb 1-1.1.3: adding 1-1.1.3:1.0 (config #1, interface 0)

[    3.432791] usb 1-1.1.3: adding 1-1.1.3:1.1 (config #1, interface 1)

[    3.432847] usb 1-1.1.3: adding 1-1.1.3:1.2 (config #1, interface 2)

[    3.432900] usb 1-1.1.3: adding 1-1.1.3:1.3 (config #1, interface 3)

[    3.432941] drivers/usb/core/inode.c: creating file '008'

[    3.432954] hub 2-1:1.0: state 7 ports 3 chg 0000 evt 0004

[    3.433082] hub 1-1.1:1.0: state 7 ports 3 chg 0000 evt 0004

[    3.989388] scsi 5:0:0:0: Direct-Access     SAMSUNG  HN-M101MBB       0200 PQ: 0 ANSI: 4

[    3.993038] sd 5:0:0:0: Attached scsi generic sg3 type 0

[    3.996049] sd 5:0:0:0: [sdc] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)

[    4.005708] sd 5:0:0:0: [sdc] Write Protect is off

[    4.008495] sd 5:0:0:0: [sdc] Mode Sense: 38 00 00 00

[    4.015554] sd 5:0:0:0: [sdc] No Caching mode page present

[    4.018634] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    4.036722] sd 5:0:0:0: [sdc] No Caching mode page present

[    4.038311] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    6.044925]  sdc: sdc1 sdc2 sdc3

[    6.061721] sd 5:0:0:0: [sdc] No Caching mode page present

[    6.063303] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    6.064804] sd 5:0:0:0: [sdc] Attached SCSI disk

[    6.190797] md: Waiting for all devices to be available before autodetect

[    6.192347] md: If you don't use raid, use raid=noautodetect

[    6.194045] md: Autodetecting RAID arrays.

[    6.195546] md: Scanned 0 and added 0 devices.

[    6.196998] md: autorun ...

[    6.197000] md: ... autorun DONE.

[    6.216048] EXT3-fs (sdc2): error: couldn't mount because of unsupported optional features (240)

[    6.229380] EXT2-fs (sdc2): error: couldn't mount because of unsupported optional features (240)

[    6.265072] EXT4-fs (sdc2): mounted filesystem with ordered data mode. Opts: (null)

[    6.266614] VFS: Mounted root (ext4 filesystem) readonly on device 8:34.

[    6.269121] Freeing unused kernel memory: 648k freed

[    6.271668] Write protecting the kernel read-only data: 10240k

[    6.282487] Freeing unused kernel memory: 1328k freed

[    6.286143] Freeing unused kernel memory: 56k freed

[    7.350580] kbd_mode used greatest stack depth: 5392 bytes left

[    7.385474] loadkeys used greatest stack depth: 4928 bytes left

[    7.387146] init-early.sh used greatest stack depth: 4416 bytes left

[    8.294181] udevd[1259]: starting version 171

[    8.411142] udevadm used greatest stack depth: 4272 bytes left

[    9.217471] [drm] Initialized drm 1.1.0 20060810

[    9.309789] bcm5974 1-1.2:1.2: usb_probe_interface

[    9.309793] bcm5974 1-1.2:1.2: usb_probe_interface - got id

[    9.309843] input: bcm5974 as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2/1-1.2:1.2/input/input7

[    9.309890] usbcore: registered new interface driver bcm5974

[    9.371680] brcmsmac 0000:03:00.0: bus 3 slot 0 func 0 irq 0

[    9.371724] brcmsmac 0000:03:00.0: enabling device (0000 -> 0002)

[    9.371744] brcmsmac 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[    9.371753] brcmsmac 0000:03:00.0: setting latency timer to 64

[    9.375871] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)

[    9.375886] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22

[    9.375947] snd_hda_intel 0000:00:1b.0: irq 42 for MSI/MSI-X

[    9.375982] snd_hda_intel 0000:00:1b.0: setting latency timer to 64

[    9.519251] applesmc: key=358 fan=2 temp=18 acc=1 lux=2 kbd=1

[    9.523502] Found chip type AI (0x1381a8d8)

[    9.581750] Applying 43224B0+ WARs

[    9.583942] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

[    9.602149] input: applesmc as /devices/platform/applesmc.768/input/input8

[    9.602213] Registered led device: smc::kbd_backlight

[    9.607766] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)

[    9.607771] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

[    9.607780] i915 0000:00:02.0: setting latency timer to 64

[    9.607782] snd_hda_intel 0000:01:00.1: PCI INT A -> GSI 16 (level, low) -> IRQ 16

[    9.607784] hda_intel: Disabling MSI

[    9.607843] snd_hda_intel 0000:01:00.1: setting latency timer to 64

[    9.665622] i915 0000:00:02.0: irq 43 for MSI/MSI-X

[    9.665630] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).

[    9.665632] [drm] Driver supports precise vblank timestamp query.

[    9.665644] i915 0000:00:02.0: Invalid ROM contents

[    9.665646] [drm:intel_parse_bios] *ERROR* VBT signature missing

[    9.665648] [drm] failed to find VBIOS tables

[    9.665688] [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions

[    9.665701] [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions

[    9.665714] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=none:owns=io+mem

[    9.665716] vgaarb: transferring owner from PCI:0000:00:02.0 to PCI:0000:01:00.0

[    9.752880] parse error at position 4 in video mode 'efifb'

[    9.752885] parse error at position 4 in video mode 'efifb'

[    9.752888] parse error at position 4 in video mode 'efifb'

[    9.780784] No connectors reported connected with modes

[    9.780791] [drm] Cannot find any crtc or sizes - going 1024x768

[    9.787444] checking generic (90030000 834000) vs hw (b0000000 10000000)

[    9.787491] fbcon: inteldrmfb (fb1) is primary device

[    9.787493] fbcon: Remapping primary device, fb1, to tty 1-63

[    9.907280] fb1: inteldrmfb frame buffer device

[    9.907282] drm: registered panic notifier

[    9.907960] fixme: max PWM is zero.

[    9.908074] acpi device:06: registered as cooling_device4

[    9.908203] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input9

[    9.908224] ACPI: Video Device [IGPU] (multi-head: yes  rom: no  post: no)

[    9.908256] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0

[    9.908461] modprobe used greatest stack depth: 3824 bytes left

[   10.044409] HDMI status: Codec=0 Pin=5 Presence_Detect=0 ELD_Valid=0

[   10.053394] HDMI status: Codec=1 Pin=5 Presence_Detect=0 ELD_Valid=0

[   10.062379] HDMI status: Codec=2 Pin=5 Presence_Detect=0 ELD_Valid=0

[   10.071361] HDMI status: Codec=3 Pin=5 Presence_Detect=0 ELD_Valid=0

[   23.339024] EXT4-fs (sdc2): re-mounted. Opts: (null)

[   24.239730] Adding 1048572k swap on /swapfile.  Priority:-1 extents:7 across:2473980k

[   24.435683] tg3 0000:02:00.0: irq 44 for MSI/MSI-X

[   25.200935] ADDRCONF(NETDEV_UP): eth0: link is not ready

[   39.556214] tg3 0000:02:00.0: eth0: Link is up at 100 Mbps, full duplex

[   39.556216] tg3 0000:02:00.0: eth0: Flow control is on for TX and on for RX

[   39.556499] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

[   49.613521] eth0: no IPv6 routers present
```

Nvidia Drivers:

This drivers don't work either, but screen goes blank just in "Full Graphics" mode.

"On demand" dmesg:

```
[    1.621947] hub 1-1.1:1.0: port 2: status 0101 change 0001

[    1.622419] hub 1-1.1:1.0: port 3: status 0101 change 0001

[    1.681132] usb 1-1.2: ep0 maxpacket = 8

[    1.685318] usb 1-1.2: skipped 1 descriptor after interface

[    1.685323] usb 1-1.2: skipped 1 descriptor after interface

[    1.685326] usb 1-1.2: skipped 1 descriptor after interface

[    1.685687] usb 1-1.2: default language 0x0409

[    1.687813] usb 1-1.2: udev 4, busnum 1, minor = 3

[    1.687818] usb 1-1.2: New USB device found, idVendor=05ac, idProduct=0237

[    1.689199] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    1.690511] usb 1-1.2: Product: Apple Internal Keyboard / Trackpad

[    1.691822] usb 1-1.2: Manufacturer: Apple Inc.

[    1.693267] usb 1-1.2: usb_probe_device

[    1.693270] usb 1-1.2: configuration #1 chosen from 1 choice

[    1.693732] usb 1-1.2: adding 1-1.2:1.0 (config #1, interface 0)

[    1.694932] usbhid 1-1.2:1.0: usb_probe_interface

[    1.694936] usbhid 1-1.2:1.0: usb_probe_interface - got id

[    1.698475] input: Apple Inc. Apple Internal Keyboard / Trackpad as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2/1-1.2:1.0/input/input4

[    1.699926] usb 1-1.2: link qh8-0e01/ffff880165aba600 start 2 [1/2 us]

[    1.700013] apple 0003:05AC:0237.0001: input,hidraw0: USB HID v1.11 Keyboard [Apple Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:1a.7-1.2/input0

[    1.701427] usb 1-1.2: adding 1-1.2:1.1 (config #1, interface 1)

[    1.702130] usbhid 1-1.2:1.1: usb_probe_interface

[    1.702133] usbhid 1-1.2:1.1: usb_probe_interface - got id

[    1.722013] usb 1-1.1: link qh128-0e01/ffff880165aba880 start 3 [1/2 us]

[    2.205785] apple 0003:05AC:0237.0002: hidraw1: USB HID v1.11 Device [Apple Inc. Apple Internal Keyboard / Trackpad] on usb-0000:00:1a.7-1.2/input1

[    2.207208] usb 1-1.2: adding 1-1.2:1.2 (config #1, interface 2)

[    2.207937] usbhid 1-1.2:1.2: usb_probe_interface

[    2.207939] usbhid 1-1.2:1.2: usb_probe_interface - got id

[    2.207959] drivers/usb/core/inode.c: creating file '004'

[    2.208200] hub 1-1:1.0: port 3, status 0101, change 0000, 12 Mb/s

[    2.219413] hub 1-1:1.0: port 3 not reset yet, waiting 10ms

[    2.281345] usb 1-1.3: new high-speed USB device number 5 using ehci_hcd

[    2.294304] hub 1-1:1.0: port 3 not reset yet, waiting 10ms

[    2.370927] usb 1-1.3: default language 0x0409

[    2.373543] usb 1-1.3: udev 5, busnum 1, minor = 4

[    2.373547] usb 1-1.3: New USB device found, idVendor=05ac, idProduct=8403

[    2.375043] usb 1-1.3: New USB device strings: Mfr=3, Product=4, SerialNumber=2

[    2.376470] usb 1-1.3: Product: Card Reader

[    2.377891] usb 1-1.3: Manufacturer: Apple

[    2.379327] usb 1-1.3: SerialNumber: 000000009833

[    2.381019] usb 1-1.3: usb_probe_device

[    2.381024] usb 1-1.3: configuration #1 chosen from 1 choice

[    2.381635] usb 1-1.3: adding 1-1.3:1.0 (config #1, interface 0)

[    2.381739] uas 1-1.3:1.0: usb_probe_interface

[    2.381741] uas 1-1.3:1.0: usb_probe_interface - got id

[    2.381750] usb-storage 1-1.3:1.0: usb_probe_interface

[    2.381754] usb-storage 1-1.3:1.0: usb_probe_interface - got id

[    2.381794] scsi4 : usb-storage 1-1.3:1.0

[    2.383354] drivers/usb/core/inode.c: creating file '005'

[    2.383365] hub 1-1:1.0: state 7 ports 4 chg 0000 evt 0002

[    2.383462] hub 2-1:1.0: state 7 ports 3 chg 000e evt 0000

[    2.383678] hub 2-1:1.0: port 1, status 0101, change 0000, 12 Mb/s

[    2.394108] hub 2-1:1.0: port 1 not reset yet, waiting 10ms

[    2.456036] usb 2-1.1: new high-speed USB device number 3 using ehci_hcd

[    2.469011] hub 2-1:1.0: port 1 not reset yet, waiting 10ms

[    2.551747] usb 2-1.1: skipped 1 descriptor after configuration

[    2.551751] usb 2-1.1: skipped 4 descriptors after interface

[    2.551755] usb 2-1.1: skipped 1 descriptor after endpoint

[    2.551758] usb 2-1.1: skipped 9 descriptors after interface

[    2.552121] usb 2-1.1: default language 0x0409

[    2.553494] usb 2-1.1: udev 3, busnum 2, minor = 130

[    2.553499] usb 2-1.1: New USB device found, idVendor=05ac, idProduct=8507

[    2.555002] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[    2.556452] usb 2-1.1: Product: Built-in iSight

[    2.557886] usb 2-1.1: Manufacturer: Apple Inc.

[    2.559425] usb 2-1.1: SerialNumber: 8JA9T1H0DDCLKA00

[    2.561085] usb 2-1.1: usb_probe_device

[    2.561091] usb 2-1.1: configuration #1 chosen from 1 choice

[    2.561326] usb 2-1.1: adding 2-1.1:1.0 (config #1, interface 0)

[    2.561967] usb 2-1.1: adding 2-1.1:1.1 (config #1, interface 1)

[    2.562178] usb 2-1.1: adding 2-1.1:1.2 (config #1, interface 2)

[    2.562263] drivers/usb/core/inode.c: creating file '003'

[    2.562451] hub 2-1:1.0: port 2, status 0301, change 0000, 1.5 Mb/s

[    2.572857] hub 2-1:1.0: port 2 not reset yet, waiting 10ms

[    2.634754] usb 2-1.2: new low-speed USB device number 4 using ehci_hcd

[    2.647713] hub 2-1:1.0: port 2 not reset yet, waiting 10ms

[    2.724583] usb 2-1.2: skipped 1 descriptor after interface

[    2.725193] usb 2-1.2: default language 0x0409

[    2.727823] usb 2-1.2: udev 4, busnum 2, minor = 131

[    2.727825] usb 2-1.2: New USB device found, idVendor=05ac, idProduct=8242

[    2.729364] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    2.730891] usb 2-1.2: Product: IR Receiver

[    2.732363] usb 2-1.2: Manufacturer: Apple Computer, Inc.

[    2.733994] usb 2-1.2: usb_probe_device

[    2.733996] usb 2-1.2: configuration #1 chosen from 1 choice

[    2.735910] usb 2-1.2: adding 2-1.2:1.0 (config #1, interface 0)

[    2.736191] usbhid 2-1.2:1.0: usb_probe_interface

[    2.736194] usbhid 2-1.2:1.0: usb_probe_interface - got id

[    2.740273] usbhid 2-1.2:1.0: looking for a minor, starting at 96

[    2.740456] apple 0003:05AC:8242.0003: hiddev0,hidraw2: USB HID v1.11 Device [Apple Computer, Inc. IR Receiver] on usb-0000:00:1d.7-1.2/input0

[    2.742055] drivers/usb/core/inode.c: creating file '004'

[    2.742244] hub 2-1:1.0: port 3, status 0101, change 0000, 12 Mb/s

[    2.753518] hub 2-1:1.0: port 3 not reset yet, waiting 10ms

[    2.816427] usb 2-1.3: new high-speed USB device number 5 using ehci_hcd

[    2.829410] hub 2-1:1.0: port 3 not reset yet, waiting 10ms

[    2.904655] usb 2-1.3: default language 0x0409

[    2.907408] usb 2-1.3: udev 5, busnum 2, minor = 132

[    2.907412] usb 2-1.3: New USB device found, idVendor=1bcf, idProduct=0c31

[    2.908969] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[    2.910458] usb 2-1.3: Product: USB to Serial-ATA bridge

[    2.911954] usb 2-1.3: Manufacturer: Sunplus Innovation Technology

[    2.913435] usb 2-1.3: SerialNumber: FAFFFFF0FFF2F8F1FBA0026

[    2.915201] usb 2-1.3: usb_probe_device

[    2.915208] usb 2-1.3: configuration #1 chosen from 1 choice

[    2.916272] usb 2-1.3: adding 2-1.3:1.0 (config #1, interface 0)

[    2.917124] uas 2-1.3:1.0: usb_probe_interface

[    2.917126] uas 2-1.3:1.0: usb_probe_interface - got id

[    2.917134] usb-storage 2-1.3:1.0: usb_probe_interface

[    2.917137] usb-storage 2-1.3:1.0: usb_probe_interface - got id

[    2.917177] scsi5 : usb-storage 2-1.3:1.0

[    2.918792] drivers/usb/core/inode.c: creating file '005'

[    2.918804] hub 1-1.1:1.0: state 7 ports 3 chg 000e evt 0000

[    2.919024] hub 1-1.1:1.0: port 1, status 0101, change 0000, 12 Mb/s

[    2.981158] usb 1-1.1.1: new full-speed USB device number 6 using ehci_hcd

[    3.056839] usb 1-1.1.1: ep0 maxpacket = 8

[    3.060154] usb 1-1.1.1: skipped 1 descriptor after interface

[    3.060160] usb 1-1.1.1: udev 6, busnum 1, minor = 5

[    3.060164] usb 1-1.1.1: New USB device found, idVendor=05ac, idProduct=820a

[    3.061686] usb 1-1.1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    3.063240] usb 1-1.1.1: usb_probe_device

[    3.063243] usb 1-1.1.1: configuration #1 chosen from 1 choice

[    3.063433] usb 1-1.1.1: adding 1-1.1.1:1.0 (config #1, interface 0)

[    3.063552] usbhid 1-1.1.1:1.0: usb_probe_interface

[    3.063555] usbhid 1-1.1.1:1.0: usb_probe_interface - got id

[    3.065288] input: HID 05ac:820a as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.1/1-1.1.1:1.0/input/input5

[    3.066843] usb 1-1.1.1: link qh8-0e01/ffff880165aba000 start 4 [1/2 us]

[    3.067023] generic-usb 0003:05AC:820A.0004: input,hidraw3: USB HID v1.11 Keyboard [HID 05ac:820a] on usb-0000:00:1a.7-1.1.1/input0

[    3.068501] drivers/usb/core/inode.c: creating file '006'

[    3.068762] hub 1-1.1:1.0: port 2, status 0101, change 0000, 12 Mb/s

[    3.130915] usb 1-1.1.2: new full-speed USB device number 7 using ehci_hcd

[    3.143906] hub 1-1.1:1.0: port 2 not reset yet, waiting 10ms

[    3.217569] usb 1-1.1.2: ep0 maxpacket = 8

[    3.221401] usb 1-1.1.2: skipped 1 descriptor after interface

[    3.221407] usb 1-1.1.2: udev 7, busnum 1, minor = 6

[    3.221411] usb 1-1.1.2: New USB device found, idVendor=05ac, idProduct=820b

[    3.222963] usb 1-1.1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0

[    3.224556] usb 1-1.1.2: usb_probe_device

[    3.224558] usb 1-1.1.2: configuration #1 chosen from 1 choice

[    3.224749] usb 1-1.1.2: adding 1-1.1.2:1.0 (config #1, interface 0)

[    3.224869] usbhid 1-1.1.2:1.0: usb_probe_interface

[    3.224871] usbhid 1-1.1.2:1.0: usb_probe_interface - got id

[    3.226794] input: HID 05ac:820b as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/input/input6

[    3.228616] generic-usb 0003:05AC:820B.0005: input,hidraw4: USB HID v1.11 Mouse [HID 05ac:820b] on usb-0000:00:1a.7-1.1.2/input0

[    3.230122] drivers/usb/core/inode.c: creating file '007'

[    3.230355] hub 1-1.1:1.0: port 3, status 0101, change 0000, 12 Mb/s

[    3.292646] usb 1-1.1.3: new full-speed USB device number 8 using ehci_hcd

[    3.305604] hub 1-1.1:1.0: port 3 not reset yet, waiting 10ms

[    3.382491] usb 1-1.1.3: skipped 1 descriptor after interface

[    3.382976] usb 1-1.1.3: default language 0x0409

[    3.383987] usb 1-1.1.3: udev 8, busnum 1, minor = 7

[    3.383993] usb 1-1.1.3: New USB device found, idVendor=05ac, idProduct=8218

[    3.385597] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0

[    3.387301] usb 1-1.1.3: Product: Bluetooth USB Host Controller

[    3.387367] scsi 4:0:0:0: Direct-Access     APPLE    SD Card Reader   1.00 PQ: 0 ANSI: 0

[    3.387690] sd 4:0:0:0: Attached scsi generic sg2 type 0

[    3.392184] usb 1-1.1.3: Manufacturer: Apple Inc.

[    3.393929] usb 1-1.1.3: usb_probe_device

[    3.393931] usb 1-1.1.3: configuration #1 chosen from 1 choice

[    3.394049] usb 1-1.1.3: adding 1-1.1.3:1.0 (config #1, interface 0)

[    3.394152] usb 1-1.1.3: adding 1-1.1.3:1.1 (config #1, interface 1)

[    3.394212] usb 1-1.1.3: adding 1-1.1.3:1.2 (config #1, interface 2)

[    3.394265] usb 1-1.1.3: adding 1-1.1.3:1.3 (config #1, interface 3)

[    3.394277] sd 4:0:0:0: [sdb] Attached SCSI removable disk

[    3.394348] drivers/usb/core/inode.c: creating file '008'

[    3.394360] hub 2-1:1.0: state 7 ports 3 chg 0000 evt 0002

[    3.394543] hub 1-1.1:1.0: state 7 ports 3 chg 0000 evt 0008

[    3.929290] scsi 5:0:0:0: Direct-Access     SAMSUNG  HN-M101MBB       0200 PQ: 0 ANSI: 4

[    3.931438] sd 5:0:0:0: Attached scsi generic sg3 type 0

[    3.933100] sd 5:0:0:0: [sdc] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)

[    3.941760] sd 5:0:0:0: [sdc] Write Protect is off

[    3.943430] sd 5:0:0:0: [sdc] Mode Sense: 38 00 00 00

[    3.950340] sd 5:0:0:0: [sdc] No Caching mode page present

[    3.952055] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    3.968648] sd 5:0:0:0: [sdc] No Caching mode page present

[    3.970266] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    6.005297]  sdc: sdc1 sdc2 sdc3

[    6.022145] sd 5:0:0:0: [sdc] No Caching mode page present

[    6.023737] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    6.025275] sd 5:0:0:0: [sdc] Attached SCSI disk

[    6.026905] md: Waiting for all devices to be available before autodetect

[    6.028496] md: If you don't use raid, use raid=noautodetect

[    6.030231] md: Autodetecting RAID arrays.

[    6.031683] md: Scanned 0 and added 0 devices.

[    6.033105] md: autorun ...

[    6.034502] md: ... autorun DONE.

[    6.054364] EXT3-fs (sdc2): error: couldn't mount because of unsupported optional features (240)

[    6.069429] EXT2-fs (sdc2): error: couldn't mount because of unsupported optional features (240)

[    6.125576] EXT4-fs (sdc2): mounted filesystem with ordered data mode. Opts: (null)

[    6.127134] VFS: Mounted root (ext4 filesystem) readonly on device 8:34.

[    6.129660] Freeing unused kernel memory: 648k freed

[    6.131257] Write protecting the kernel read-only data: 10240k

[    6.136145] Freeing unused kernel memory: 1328k freed

[    6.138149] Freeing unused kernel memory: 56k freed

[    7.211159] kbd_mode used greatest stack depth: 5392 bytes left

[    7.246187] loadkeys used greatest stack depth: 4928 bytes left

[    7.247870] init-early.sh used greatest stack depth: 4416 bytes left

[    8.128648] udevd[1261]: starting version 171

[    8.249265] udevadm used greatest stack depth: 4272 bytes left

[    8.957533] bcm5974 1-1.2:1.2: usb_probe_interface

[    8.957538] bcm5974 1-1.2:1.2: usb_probe_interface - got id

[    8.957585] input: bcm5974 as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2/1-1.2:1.2/input/input7

[    8.957653] usbcore: registered new interface driver bcm5974

[    8.969473] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)

[    8.969490] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22

[    8.969559] snd_hda_intel 0000:00:1b.0: irq 42 for MSI/MSI-X

[    8.969592] snd_hda_intel 0000:00:1b.0: setting latency timer to 64

[    9.213525] applesmc: key=358 fan=2 temp=18 acc=1 lux=2 kbd=1

[    9.245294] input: applesmc as /devices/platform/applesmc.768/input/input8

[    9.245426] Registered led device: smc::kbd_backlight

[    9.419694] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)

[    9.419704] snd_hda_intel 0000:01:00.1: PCI INT A -> GSI 16 (level, low) -> IRQ 16

[    9.419706] hda_intel: Disabling MSI

[    9.419760] snd_hda_intel 0000:01:00.1: setting latency timer to 64

[    9.672417] brcmsmac 0000:03:00.0: bus 3 slot 0 func 0 irq 0

[    9.672459] brcmsmac 0000:03:00.0: enabling device (0000 -> 0002)

[    9.672478] brcmsmac 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[    9.672487] brcmsmac 0000:03:00.0: setting latency timer to 64

[    9.976249] HDMI status: Codec=0 Pin=5 Presence_Detect=0 ELD_Valid=0

[    9.985231] HDMI status: Codec=1 Pin=5 Presence_Detect=0 ELD_Valid=0

[    9.994219] HDMI status: Codec=2 Pin=5 Presence_Detect=0 ELD_Valid=0

[   10.003201] HDMI status: Codec=3 Pin=5 Presence_Detect=0 ELD_Valid=0

[   10.391996] Found chip type AI (0x1381a8d8)

[   10.450196] Applying 43224B0+ WARs

[   10.452382] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

[   10.662502] nvidia: module license 'NVIDIA' taints kernel.

[   10.662506] Disabling lock debugging due to kernel taint

[   10.700414] nvidia 0000:01:00.0: enabling device (0002 -> 0003)

[   10.700424] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

[   10.700436] nvidia 0000:01:00.0: setting latency timer to 64

[   10.700441] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=none

[   10.700574] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  295.49  Mon Apr 30 23:46:33 PDT 2012

[   12.036066] EXT4-fs (sdc2): re-mounted. Opts: (null)

[   13.243040] Adding 1048572k swap on /swapfile.  Priority:-1 extents:7 across:2473980k

[   13.456304] tg3 0000:02:00.0: irq 43 for MSI/MSI-X

[   14.232768] ADDRCONF(NETDEV_UP): eth0: link is not ready

[   22.044666] tg3 0000:02:00.0: eth0: Link is up at 100 Mbps, full duplex

[   22.044668] tg3 0000:02:00.0: eth0: Flow control is on for TX and on for RX

[   22.044956] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

[   32.777354] eth0: no IPv6 routers present
```

"Full Graphics" dmesg: 

```
[    2.723585] usbhid 2-1.2:1.0: looking for a minor, starting at 96

[    2.723708] apple 0003:05AC:8242.0003: hiddev0,hidraw2: USB HID v1.11 Device                                                                              [Apple Computer, Inc. IR Receiver] on usb-0000:00:1d.7-1.2/input0

[    2.725222] drivers/usb/core/inode.c: creating file '004'

[    2.725429] hub 2-1:1.0: port 3, status 0101, change 0000, 12 Mb/s

[    2.735933] hub 2-1:1.0: port 3 not reset yet, waiting 10ms

[    2.797835] usb 2-1.3: new high-speed USB device number 5 using ehci_hcd

[    2.810808] hub 2-1:1.0: port 3 not reset yet, waiting 10ms

[    2.886068] usb 2-1.3: default language 0x0409

[    2.888841] usb 2-1.3: udev 5, busnum 2, minor = 132

[    2.888845] usb 2-1.3: New USB device found, idVendor=1bcf, idProduct=0c31

[    2.890420] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber                                                                             =3

[    2.891925] usb 2-1.3: Product: USB to Serial-ATA bridge

[    2.893430] usb 2-1.3: Manufacturer: Sunplus Innovation Technology

[    2.894934] usb 2-1.3: SerialNumber: FAFFFFF0FFF2F8F1FBA0026

[    2.896729] usb 2-1.3: usb_probe_device

[    2.896735] usb 2-1.3: configuration #1 chosen from 1 choice

[    2.897788] usb 2-1.3: adding 2-1.3:1.0 (config #1, interface 0)

[    2.898695] uas 2-1.3:1.0: usb_probe_interface

[    2.898697] uas 2-1.3:1.0: usb_probe_interface - got id

[    2.898704] usb-storage 2-1.3:1.0: usb_probe_interface

[    2.898708] usb-storage 2-1.3:1.0: usb_probe_interface - got id

[    2.898789] scsi5 : usb-storage 2-1.3:1.0

[    2.900495] drivers/usb/core/inode.c: creating file '005'

[    2.900506] hub 1-1.1:1.0: state 7 ports 3 chg 000e evt 0000

[    2.900708] hub 1-1.1:1.0: port 1, status 0101, change 0000, 12 Mb/s

[    2.962592] usb 1-1.1.1: new full-speed USB device number 6 using ehci_hcd

[    3.038289] usb 1-1.1.1: ep0 maxpacket = 8

[    3.041675] usb 1-1.1.1: skipped 1 descriptor after interface

[    3.041680] usb 1-1.1.1: udev 6, busnum 1, minor = 5

[    3.041683] usb 1-1.1.1: New USB device found, idVendor=05ac, idProduct=820a

[    3.043221] usb 1-1.1.1: New USB device strings: Mfr=0, Product=0, SerialNumb                                                                             er=0

[    3.044861] usb 1-1.1.1: usb_probe_device

[    3.044863] usb 1-1.1.1: configuration #1 chosen from 1 choice

[    3.045066] usb 1-1.1.1: adding 1-1.1.1:1.0 (config #1, interface 0)

[    3.045179] usbhid 1-1.1.1:1.0: usb_probe_interface

[    3.045180] usbhid 1-1.1.1:1.0: usb_probe_interface - got id

[    3.046739] input: HID 05ac:820a as /devices/pci0000:00/0000:00:1a.7/usb1/1-1                                                                             /1-1.1/1-1.1.1/1-1.1.1:1.0/input/input5

[    3.048296] usb 1-1.1.1: link qh8-0e01/ffff880166b93e80 start 4 [1/2 us]

[    3.048440] generic-usb 0003:05AC:820A.0004: input,hidraw3: USB HID v1.11 Key                                                                             board [HID 05ac:820a] on usb-0000:00:1a.7-1.1.1/input0

[    3.049961] drivers/usb/core/inode.c: creating file '006'

[    3.050135] hub 1-1.1:1.0: port 2, status 0101, change 0000, 12 Mb/s

[    3.112310] usb 1-1.1.2: new full-speed USB device number 7 using ehci_hcd

[    3.188036] usb 1-1.1.2: ep0 maxpacket = 8

[    3.191561] usb 1-1.1.2: skipped 1 descriptor after interface

[    3.191566] usb 1-1.1.2: udev 7, busnum 1, minor = 6

[    3.191569] usb 1-1.1.2: New USB device found, idVendor=05ac, idProduct=820b

[    3.193188] usb 1-1.1.2: New USB device strings: Mfr=0, Product=0, SerialNumb                                                                             er=0

[    3.193271] usb 1-1.1.2: usb_probe_device

[    3.193273] usb 1-1.1.2: configuration #1 chosen from 1 choice

[    3.193492] usb 1-1.1.2: adding 1-1.1.2:1.0 (config #1, interface 0)

[    3.193547] usbhid 1-1.1.2:1.0: usb_probe_interface

[    3.193548] usbhid 1-1.1.2:1.0: usb_probe_interface - got id

[    3.196236] input: HID 05ac:820b as /devices/pci0000:00/0000:00:1a.7/usb1/1-1                                                                             /1-1.1/1-1.1.2/1-1.1.2:1.0/input/input6

[    3.198018] generic-usb 0003:05AC:820B.0005: input,hidraw4: USB HID v1.11 Mou                                                                             se [HID 05ac:820b] on usb-0000:00:1a.7-1.1.2/input0

[    3.199584] drivers/usb/core/inode.c: creating file '007'

[    3.199787] hub 1-1.1:1.0: port 3, status 0101, change 0000, 12 Mb/s

[    3.262068] usb 1-1.1.3: new full-speed USB device number 8 using ehci_hcd

[    3.341055] usb 1-1.1.3: skipped 1 descriptor after interface

[    3.341454] usb 1-1.1.3: default language 0x0409

[    3.342309] usb 1-1.1.3: udev 8, busnum 1, minor = 7

[    3.342314] usb 1-1.1.3: New USB device found, idVendor=05ac, idProduct=8218

[    3.343880] usb 1-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumb                                                                             er=0

[    3.345372] usb 1-1.1.3: Product: Bluetooth USB Host Controller

[    3.346870] usb 1-1.1.3: Manufacturer: Apple Inc.

[    3.348675] usb 1-1.1.3: usb_probe_device

[    3.348680] usb 1-1.1.3: configuration #1 chosen from 1 choice

[    3.348927] usb 1-1.1.3: adding 1-1.1.3:1.0 (config #1, interface 0)

[    3.349136] usb 1-1.1.3: adding 1-1.1.3:1.1 (config #1, interface 1)

[    3.349309] usb 1-1.1.3: adding 1-1.1.3:1.2 (config #1, interface 2)

[    3.349422] usb 1-1.1.3: adding 1-1.1.3:1.3 (config #1, interface 3)

[    3.349486] drivers/usb/core/inode.c: creating file '008'

[    3.349500] hub 2-1:1.0: state 7 ports 3 chg 0000 evt 0002

[    3.349679] hub 1-1.1:1.0: state 7 ports 3 chg 0000 evt 0008

[    3.368389] scsi 4:0:0:0: Direct-Access     APPLE    SD Card Reader   1.00 PQ                                                                             : 0 ANSI: 0

[    3.370210] sd 4:0:0:0: Attached scsi generic sg2 type 0

[    3.373452] sd 4:0:0:0: [sdb] Attached SCSI removable disk

[    3.909787] scsi 5:0:0:0: Direct-Access     SAMSUNG  HN-M101MBB       0200 PQ                                                                             : 0 ANSI: 4

[    3.911972] sd 5:0:0:0: Attached scsi generic sg3 type 0

[    3.913996] sd 5:0:0:0: [sdc] 1953525168 512-byte logical blocks: (1.00 TB/93                                                                             1 GiB)

[    3.922571] sd 5:0:0:0: [sdc] Write Protect is off

[    3.924281] sd 5:0:0:0: [sdc] Mode Sense: 38 00 00 00

[    3.931199] sd 5:0:0:0: [sdc] No Caching mode page present

[    3.932822] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    3.949415] sd 5:0:0:0: [sdc] No Caching mode page present

[    3.950987] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    5.943841]  sdc: sdc1 sdc2 sdc3

[    5.960885] sd 5:0:0:0: [sdc] No Caching mode page present

[    5.962469] sd 5:0:0:0: [sdc] Assuming drive cache: write through

[    5.963980] sd 5:0:0:0: [sdc] Attached SCSI disk

[    6.168112] md: Waiting for all devices to be available before autodetect

[    6.169681] md: If you don't use raid, use raid=noautodetect

[    6.171449] md: Autodetecting RAID arrays.

[    6.172894] md: Scanned 0 and added 0 devices.

[    6.174295] md: autorun ...

[    6.175690] md: ... autorun DONE.

[    6.203309] EXT3-fs (sdc2): error: couldn't mount because of unsupported opti                                                                             onal features (240)

[    6.212697] EXT2-fs (sdc2): error: couldn't mount because of unsupported opti                                                                             onal features (240)

[    6.263159] EXT4-fs (sdc2): mounted filesystem with ordered data mode. Opts:                                                                              (null)

[    6.264604] VFS: Mounted root (ext4 filesystem) readonly on device 8:34.

[    6.267049] Freeing unused kernel memory: 648k freed

[    6.268608] Write protecting the kernel read-only data: 10240k

[    6.273379] Freeing unused kernel memory: 1328k freed

[    6.275319] Freeing unused kernel memory: 56k freed

[    7.326843] kbd_mode used greatest stack depth: 4512 bytes left

[    7.355198] init-early.sh used greatest stack depth: 4416 bytes left

[    8.222634] udevd[1260]: starting version 171

[    8.367171] udevadm used greatest stack depth: 4272 bytes left

[    9.069630] bcm5974 1-1.2:1.2: usb_probe_interface

[    9.069633] bcm5974 1-1.2:1.2: usb_probe_interface - got id

[    9.069679] input: bcm5974 as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/1-1.2                                                                             /1-1.2:1.2/input/input7

[    9.069726] usbcore: registered new interface driver bcm5974

[    9.108315] [drm] Initialized drm 1.1.0 20060810

[    9.237449] snd_hda_intel 0000:00:1b.0: enabling device (0000 -> 0002)

[    9.237466] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> I                                                                             RQ 22

[    9.237552] snd_hda_intel 0000:00:1b.0: irq 42 for MSI/MSI-X

[    9.237590] snd_hda_intel 0000:00:1b.0: setting latency timer to 64

[    9.277635] brcmsmac 0000:03:00.0: bus 3 slot 0 func 0 irq 0

[    9.277677] brcmsmac 0000:03:00.0: enabling device (0000 -> 0002)

[    9.277700] brcmsmac 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17

[    9.277710] brcmsmac 0000:03:00.0: setting latency timer to 64

[    9.298198] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)

[    9.298207] snd_hda_intel 0000:01:00.1: PCI INT A -> GSI 16 (level, low) -> I                                                                             RQ 16

[    9.298209] hda_intel: Disabling MSI

[    9.298262] snd_hda_intel 0000:01:00.1: setting latency timer to 64

[    9.433317] Found chip type AI (0x1381a8d8)

[    9.471277] applesmc: MOHC\x01\xffffff88\xffffffff\xffffffff: read arg fail

[    9.490804] Applying 43224B0+ WARs

[    9.493038] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

[    9.590737] applesmc: key=358 fan=2 temp=18 acc=1 lux=2 kbd=1

[    9.590740] applesmc: init_smcreg() took 50 ms

[    9.621364] input: applesmc as /devices/platform/applesmc.768/input/input8

[    9.621439] Registered led device: smc::kbd_backlight

[    9.667180] HDMI status: Codec=0 Pin=5 Presence_Detect=0 ELD_Valid=0

[    9.676162] HDMI status: Codec=1 Pin=5 Presence_Detect=0 ELD_Valid=0

[    9.685149] HDMI status: Codec=2 Pin=5 Presence_Detect=0 ELD_Valid=0

[    9.694128] HDMI status: Codec=3 Pin=5 Presence_Detect=0 ELD_Valid=0

[   11.498372] EXT4-fs (sdc2): re-mounted. Opts: (null)

[   12.771676] Adding 1048572k swap on /swapfile.  Priority:-1 extents:7 across:                                                                             2473980k

[   12.996502] tg3 0000:02:00.0: irq 43 for MSI/MSI-X

[   13.761912] ADDRCONF(NETDEV_UP): eth0: link is not ready

[   18.612153] tg3 0000:02:00.0: eth0: Link is up at 100 Mbps, full duplex

[   18.612156] tg3 0000:02:00.0: eth0: Flow control is on for TX and on for RX

[   18.612456] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

[   29.423285] eth0: no IPv6 routers present

[  486.350343] updatedb used greatest stack depth: 4240 bytes left

[ 1005.080445] sed used greatest stack depth: 4080 bytes left

[ 1067.039452] nvidia: module license 'NVIDIA' taints kernel.

[ 1067.039455] Disabling lock debugging due to kernel taint

[ 1067.073705] nvidia 0000:01:00.0: enabling device (0002 -> 0003)

[ 1067.073715] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16

[ 1067.073727] nvidia 0000:01:00.0: setting latency timer to 64

[ 1067.073732] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+me                                                                             m,decodes=none:owns=none

[ 1067.073875] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  295.49  Mon Apr 3                                                                             0 23:46:33 PDT 2012

[ 1067.690260] ------------[ cut here ]------------

[ 1067.690268] WARNING: at arch/x86/mm/ioremap.c:102 __ioremap_caller+0x379/0x3a                                                                             0()

[ 1067.690270] Hardware name: MacBookPro6,2

[ 1067.690271] Modules linked in: nvidia(P) snd_hda_codec_hdmi snd_hda_codec_cir                                                                             rus brcmsmac brcmutil snd_hda_intel crc8 applesmc snd_hda_codec cordic drm_kms_h                                                                             elper drm bcm5974 i2c_algo_bit snd_hwdep

[ 1067.690283] Pid: 6268, comm: nvidia-smi Tainted: P           O 3.2.12-gentoo                                                                              #6

[ 1067.690285] Call Trace:

[ 1067.690290]  [<ffffffff810472ba>] warn_slowpath_common+0x7a/0xb0

[ 1067.690292]  [<ffffffff81047305>] warn_slowpath_null+0x15/0x20

[ 1067.690294]  [<ffffffff8102b249>] __ioremap_caller+0x379/0x3a0

[ 1067.690368]  [<ffffffffa087e235>] ? os_map_kernel_space+0x75/0xe0 [nvidia]

[ 1067.690371]  [<ffffffff8102b29f>] ioremap_cache+0xf/0x20

[ 1067.690402]  [<ffffffffa087e235>] os_map_kernel_space+0x75/0xe0 [nvidia]

[ 1067.690441]  [<ffffffffa0846161>] _nv014599rm+0xeb/0x10b [nvidia]

[ 1067.690485]  [<ffffffffa0192dba>] ? _nv009534rm+0x89/0x140 [nvidia]

[ 1067.690527]  [<ffffffffa0192f29>] ? _nv014165rm+0xb8/0x102 [nvidia]

[ 1067.690570]  [<ffffffffa01933d7>] ? _nv014205rm+0x58/0x9e [nvidia]

[ 1067.690637]  [<ffffffffa018e348>] ? _nv014175rm+0xbe/0x2f0 [nvidia]

[ 1067.690686]  [<ffffffffa018e625>] ? _nv014210rm+0xab/0x174 [nvidia]

[ 1067.690734]  [<ffffffffa018e73e>] ? _nv014174rm+0x50/0x5d [nvidia]

[ 1067.690785]  [<ffffffffa01957a6>] ? _nv014150rm+0x9ef/0xb29 [nvidia]

[ 1067.690828]  [<ffffffffa085a18f>] ? _nv012423rm+0x174/0x662 [nvidia]

[ 1067.690870]  [<ffffffffa085a10d>] ? _nv012423rm+0xf2/0x662 [nvidia]

[ 1067.690930]  [<ffffffffa01dcc11>] ? _nv003976rm+0x1e5/0x1deb [nvidia]

[ 1067.691050]  [<ffffffffa05bda6f>] ? _nv004001rm+0xaaa2/0xd1a8 [nvidia]

[ 1067.691168]  [<ffffffffa05bc08d>] ? _nv004001rm+0x90c0/0xd1a8 [nvidia]

[ 1067.691213]  [<ffffffffa01585be>] ? _nv009830rm+0x25/0x40 [nvidia]

[ 1067.691253]  [<ffffffffa0859ea1>] ? _nv014656rm+0x7c8/0x942 [nvidia]

[ 1067.691295]  [<ffffffffa085aff1>] ? _nv001089rm+0x522/0x7a1 [nvidia]

[ 1067.691337]  [<ffffffffa08519ec>] ? rm_init_adapter+0xae/0x1bb [nvidia]

[ 1067.691344]  [<ffffffff810a8b76>] ? __setup_irq+0x1c6/0x480

[ 1067.691382]  [<ffffffffa0872fb0>] ? nvos_free_alloc+0x70/0x70 [nvidia]

[ 1067.691419]  [<ffffffffa0874704>] ? nv_kern_open+0x404/0x7c0 [nvidia]

[ 1067.691425]  [<ffffffff81123725>] ? chrdev_open+0xc5/0x1e0

[ 1067.691430]  [<ffffffff8111d5b0>] ? __dentry_open+0x230/0x340

[ 1067.691433]  [<ffffffff81123660>] ? cdev_put+0x30/0x30

[ 1067.691437]  [<ffffffff8111e7e1>] ? nameidata_to_filp+0x71/0x80

[ 1067.691441]  [<ffffffff8112dbaa>] ? do_last+0x1ba/0x8d0

[ 1067.691446]  [<ffffffff8112e4c0>] ? path_openat+0xd0/0x400

[ 1067.691451]  [<ffffffff81051a25>] ? ns_capable+0x25/0x50

[ 1067.691455]  [<ffffffff8112e904>] ? do_filp_open+0x44/0xa0

[ 1067.691459]  [<ffffffff8113a517>] ? alloc_fd+0x47/0x140

[ 1067.691463]  [<ffffffff8111e8ec>] ? do_sys_open+0xfc/0x1d0

[ 1067.691466]  [<ffffffff8111e9db>] ? sys_open+0x1b/0x20

[ 1067.691473]  [<ffffffff816aa73b>] ? system_call_fastpath+0x16/0x1b

[ 1067.691475] ---[ end trace cd508ab6924352a7 ]---
```

lspci output:

```
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)

00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 18)

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)

00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)

00:1a.7 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)

00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)

00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)

00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 06)

00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06)

00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB Universal Host Controller (rev 06)

00:1d.7 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)

00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)

00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)

00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)

00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)

01:00.0 VGA compatible controller: nVidia Corporation GT216 [GeForce GT 330M] (rev a2)

01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)

02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5764M Gigabit Ethernet PCIe (rev 10)

03:00.0 Network controller: Broadcom Corporation BCM43224 802.11a/b/g/n (rev 01)

04:00.0 FireWire (IEEE 1394): Agere Systems FW643 PCI Express 1394b Controller (PHY/Link) (rev 08)

ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)

ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)

ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)

ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)

ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)

ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)
```

Kernel .config

http://pastebin.com/vRNVqvrz

Thanks in advance for your time and pardon me for my informal writing, I'm still working on it.Last edited by ESF on Thu Jul 12, 2012 5:55 pm; edited 1 time in total

----------

## khayyam

 *ESF wrote:*   

> After some time using Snow Leopard on my MBP, I decided to take the most of this computer and, in an act of complete stubbornness, eventually decided to install gentoo on it. (I'm not telling why because it's not relevant)

 

ESF ... well, welcome to Gentoo ...

 *ESF wrote:*   

> Apple EFI-1.10 + rEFIt 0.14 + Grub1.99-rc2 + gentoo-sources-3.2.12 video=efifb

 

I assume your dual booting? It's not important for this particular problem but the above could be abbreviated to Apple EFI 1.10 => vmlinuz-3.3 (or greater), or Apple EFI => rEFInd-0.4.4 => OSX|Linux|any efi executable.

Anyhow, to your problem. Your dmesg output is truncated, you should pastebin the whole dmesg, I'm not sure what "on demand" and "full graphics" represent, but other than the 'ioremap' with the nividia driver (which is a bug, but shouldn't effect your usage) they are mostly the same, so simply post one full dmesg (/var/log/dmesg). 

I'm not sure if this was prior in the dmesg output but I would expect to see:

```
fb: conflicting fb hw usage inteldrmfb vs EFI VGA - removing generic driver
```

This is because efifb is a generic driver, much like fbdev, and so using a specific driver is prefered. I speculate that the fact you define it as video= in your grub.conf causes this to be prefered over the inteldrmfb driver (this may also be true of the nvidia driver). Looking over your kernel config its mostly the same as my own (at least where inteldrmfb is concerned). In my case I build both the efifb and inteldrmfb into the kernel, not as modules, and I don't define video= parameters. The kernel boots, efifb is initalised then shortly after agpgart-intel is initalised along with inteldrmfb (i915), efifb is removed and inteldrmfb takes over. Quite possibly efifb isn't requried but I haven't yet built a kernel without it enabled, but anyhow thats unimportant here.

So, besides your also having a nvidia card onboard, the most probable problem here is the fact you build inteldrmfb as a module .. and you set efifb as a the video framebuffer driver (via video=efifb). So, please try with CONFIG_DRM_I915=y and remove the video= from the grub entry.

My suspicion is that setting KMS at module loading is what causes your 'black screen', this would also happen if/when other framebuffers were enabled (see the Gentoo KMS wiki for more information on this). So, I would either disable efifb and/or build the inteldrmfb into the kernel.

I can't provide much information re nividia but it might also help in that regard ...

HTH & best ...

khay

----------

## ESF

 *khayyam wrote:*   

> Anyhow, to your problem. Your dmesg output is truncated, you should pastebin the whole dmesg

 

"On Demand" full dmesg with intel drivers

 *khayyam wrote:*   

> I'm not sure what "on demand" and "full graphics" represent,

 

MBPs with dual graphic card have two modes: On demand switching, what means that the discrete GPU (nvidia) will be activated when required; and Full Graphics, what means that the discrete GPU will be activated the whole time.

As I don't really know much about this switching, I tested everithing with both modes because I am not sure about what the EFI does to the hardware in any of this modes. I don't know if the EFI is supposed to turn off any of the cards so I tested all the permutations.

 *khayyam wrote:*   

> 
> 
> So, besides your also having a nvidia card onboard, the most probable problem here is the fact you build inteldrmfb as a module .. and you set efifb as a the video framebuffer driver (via video=efifb). So, please try with CONFIG_DRM_I915=y and remove the video= from the grub entry.

 

Done, addicional dmesg entries appeared, but the screen froze sooner, exactly at 

```
[    0.802536] fbcon: Remapping primary device, fb1, to tty 1-63

```

New dmesg with CONFIG_DRM_I915=y and without video= parameter

And thinking about what you wrote about efifb, I tried a kernel image without it. The result was GRUB's message "error: no suitable mode found, Booting however" stuck on the screen all execution long.

No efifb dmesg

I hope this gives you some clue.

Thanks for your time.

----------

## DaggyStyle

try the following, disable the intel igp and try booting with the nvidia closed blob without kms loaded.

if it works than you have possible collision (as the panic states too I think)

----------

## khayyam

ESF ...

 *ESF wrote:*   

> addicional dmesg entries appeared, but the screen froze sooner, exactly at
> 
> ```
> [    0.802536] fbcon: Remapping primary device, fb1, to tty 1-63
> ```
> ...

 

OK, well I don't see that in any of the dmesg, however, is that what happens, "freezing", or does the display simply go black?

Anyhow comparing the three dmesg, they are mostly identical, with one consistant error:

```
% awk '/(console|efi|fb(con|0|1):|agp|drm)/{print substr($0,16)}' dmesg

Command line: BOOT_IMAGE=/boot/kernel-0.1-x86_64 root=/dev/sdc2 ro rootdelay=5 video=efifb

Kernel-defined memdesc doesn't match the one from EFI!

Kernel command line: BOOT_IMAGE=/boot/kernel-0.1-x86_64 root=/dev/sdc2 ro rootdelay=5 video=efifb

console [tty0] enabled

Linux agpgart interface v0.103

agpgart-intel 0000:00:00.0: Intel HD Graphics Chipset

agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable

agpgart-intel 0000:00:00.0: detected 32768K stolen memory

agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xb0000000

efifb: dmi detected MacBookPro6,2 - framebuffer at 0x90030000 (1680x1050, stride 8192)

efifb: probing for efifb

efifb: framebuffer at 0x90030000, mapped to 0xffffc90001b80000, using 8400k, total 8400k

efifb: mode is 1680x1050x32, linelength=8192, pages=1

efifb: scrolling: redraw

efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0

fb0: EFI VGA frame buffer device

console [netcon0] enabled

netconsole: network logging started

Refined TSC clocksource calibration: 2394.138 MHz.

[drm] Initialized drm 1.1.0 20060810

[drm] Supports vblank timestamp caching Rev 1 (10.10.2010).

[drm] Driver supports precise vblank timestamp query.

[drm:intel_parse_bios] *ERROR* VBT signature missing

[drm] failed to find VBIOS tables

[drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions  <= HERE

[drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions  <= HERE

parse error at position 4 in video mode 'efifb'

parse error at position 4 in video mode 'efifb'

parse error at position 4 in video mode 'efifb'

[drm] Cannot find any crtc or sizes - going 1024x768

fbcon: inteldrmfb (fb1) is primary device

fbcon: Remapping primary device, fb1, to tty 1-63

fb1: inteldrmfb frame buffer device

drm: registered panic notifier

[drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
```

This particular error suggests that the vbios has been corrupted, _DSM functions are firmware supplied ACPI objects. The error is there regardless if you boot with inteldrmfb, efifb, ondemand, or what-have-you. So, my immediate suspicion (perhaps incorrect) is that either rEFIt or grub are interfering with the video settings at some point during the boot process. Do you provide any settings to rEFIt or grub, such as 'fakebios' or similar? Please provide your grub.conf and any information on what you might have enabled with rEFIt.

I'd first thought this was an issue with KMS, but now I'm not so sure, to get a clearer idea, have you booted with 'i915.modeset=0' set as a kernel arg? If not could you do so and post the dmesg.

It's possible to increase the debugging from inteldrmfb, this might not provide any useful information because if the vbios is corrupt then the problem lies outside of the driver, and so there is little the driver can tell us other than 'failed to get supported _DSM', however, it might, so if you feel inclined set 'drm.debug=0x4' as a kernel arg and post the dmesg. I say "inclined" as your probably best to concentrate on the boot procedure, as my hunch is its not the driver but rEFIt and/or grub.

 *ESF wrote:*   

> And thinking about what you wrote about efifb, I tried a kernel image without it. The result was GRUB's message "error: no suitable mode found, Booting however" stuck on the screen all execution long.

 

OK, I'm not entirely sure what you mean. I can boot without efifb (inteldrmfb only), I tested this morning, efifb and inteldrmfb are engaged at practically the same time in the boot process so I'm not sure what grub means, nor why it stalls.

The grub your using, 1.99-r2 (I assume from portage) is it an efi executable? How did you setup grub, within your EFI System Partition? I currently don't use grub (but have build a 32bit efi execuatble grub2 for USB sticks) so I can't say if it works or not. Please let me know exactly how grub was installed and configured.

 *ESF wrote:*   

> Thanks for your time.

 

Your welcome ...

khay

----------

## ESF

 *DaggyStyle wrote:*   

> try the following, disable the intel igp and try booting with the nvidia closed blob without kms loaded.
> 
> if it works than you have possible collision (as the panic states too I think)

 

Okay... I did that and it didn't work completely. Grub stated that no video modes were found and after a bit, when the nvidia (propietary) driver kicked in, the screen went totally black.

I tried to run "X -configure" and "/etc/init.d/xdm start" and there were no fatal errors on Xorg.0.log but screen was black after all (and brightness was turned off). 

Here I dump the files:

Kernel .config:

http://pastebin.com/FENntMGw

Dmesg file:

http://pastebin.com/JMdcv0cu

Xorg.0.log from running  "X -config /root/xorg.conf.new":

http://pastebin.com/BvAeAwQb

Thanks for your reply!

----------

## DaggyStyle

don't go fancy if you don't even have decent video, start grub without any video modes.

does running X (without config) works?

btw your xorg log does states fatal error, the fact that it doesn't crash is another thing.

----------

## ESF

 *khayyam wrote:*   

> "freezing", or does the display simply go black?

 

The screen freezes. I mean, whatever that was on the screen before loading i915 module gets stuck on the screen. In this case, kernel output before i915 module insertion.

 *Quote:*   

> 
> 
> This particular error suggests that the vbios has been corrupted, _DSM functions are firmware supplied ACPI objects. The error is there regardless if you boot with inteldrmfb, efifb, ondemand, or what-have-you.

 

I am so insistent on "ondemand" and "full graphics" modes because I remember reading older posts in which people mentioned that depending on this setting, the EFI could turn off dedicated GPU through a physical muxer, which I don't know how works. I don't even know if it could change the way the cards are accessed or mapped.

It is better explained here: http://linux-hybrid-graphics.blogspot.com.es/2012/04/apple-macbook-pro-and-linux-hybrid_21.html

They even talk about VBIOS and stuff you mentioned before.

->I ask for forgiveness if I didn't understand it completely, my knowledge is not wide as I would like it to be.

 *Quote:*   

> So, my immediate suspicion (perhaps incorrect) is that either rEFIt or grub are interfering with the video settings at some point during the boot process. Do you provide any settings to rEFIt or grub, such as 'fakebios' or similar? Please provide your grub.conf and any information on what you might have enabled with rEFIt.

 

Yes, as you will see on my grub.cfg I was loading a bios file I dumped from my own system following and old tutorial, with no success.

http://pastebin.com/8C31H4gx

 *Quote:*   

> I'd first thought this was an issue with KMS, but now I'm not so sure, to get a clearer idea, have you booted with 'i915.modeset=0' set as a kernel arg? If not could you do so and post the dmesg.

 

I tried that: booting with 'i915.modeset=0' prevents the kernel from loading inteldrmfb so the screen doesn't freeze.

But I couldn't get the "X -configure" command to config my card without KMS on.

Here is the dmesg for this change. Note that at this point I had removed every bios file from grub.cfg

http://pastebin.com/wxZBCtWm

 *Quote:*   

> It's possible to increase the debugging from inteldrmfb, this might not provide any useful information because if the vbios is corrupt then the problem lies outside of the driver, and so there is little the driver can tell us other than 'failed to get supported _DSM', however, it might, so if you feel inclined set 'drm.debug=0x4' as a kernel arg and post the dmesg. I say "inclined" as your probably best to concentrate on the boot procedure, as my hunch is its not the driver but rEFIt and/or grub.

 

Here is a dmesg with 'i915.modeset=1', 'drm.debug=0x4' and no bios files loaded:

http://pastebin.com/312KtddV

 *Quote:*   

> 
> 
> The grub your using, 1.99-r2 (I assume from portage) is it an efi executable? How did you setup grub, within your EFI System Partition? I currently don't use grub (but have build a 32bit efi execuatble grub2 for USB sticks) so I can't say if it works or not. Please let me know exactly how grub was installed and configured.
> 
> 

 

Yes, it is from portage and i set it up as an EFI executable. (it is actually under the EFI partition at path: /boot/EFI/grub2/grub.efi . /boot/EFI/ is the root of the EFI partition )

I don't remember all the details, but I followed mainly two guides:

http://myhumblecorner.wordpress.com/2011/05/31/gentoo-and-a-little-ubuntu-on-a-macbook-pro-53/

http://en.gentoo-wiki.com/wiki/Apple_Macbook_Pro#GRUB_2

I'll be glad to provide you further details about the installation I performed but for now I'll paste my /etc/defaults/grub

http://pastebin.com/6wieBKMU

Note that the CMDLINE_LINUX args had been hand-edited in /boot/EFI/grub2/grub.cfg. (I will do a bit of cleanup when something works)

Again, thank you very much for your time and attention.

I'll do some research on the gmux article I posted above. 

Read you soon,

ESF

----------

## ESF

 *DaggyStyle wrote:*   

> don't go fancy if you don't even have decent video, start grub without any video modes.

 

I don't know for sure what you mean. I am not using grub in fancy graphics mode. I just see an ncurses-like screen like in old grub1.

Just to clarify, here is my grub.cfg:

http://pastebin.com/3xB3JVSn

Grub itself says that beyond menu entry selection there are no available video modes.

 *Quote:*   

> does running X (without config) works?

 

Nope and me and my short knowledge don't know why.

When I do so, it tries to run several drivers I am not using at the moment (intel, vesa, fbdev)

http://pastebin.com/yyq4pgQM

I guess that is just something I can not think of right now. Even if it is a minor detail, let me know, please.

 *Quote:*   

> btw your xorg log does states fatal error, the fact that it doesn't crash is another thing.

 

Well, GLX module seems to be perfectly loaded. I can't imagine why nvidia driver can't access to it. -_o_-

Thanks for your time.

UPDATE:

I upgraded the nvidia-drivers package and now my dmesg looks like this:

http://pastebin.com/MAxgHKzx (It complains more)

----------

## khayyam

 *ESF wrote:*   

>  *Quote:*   This particular error suggests that the vbios has been corrupted, _DSM functions are firmware supplied ACPI objects. The error is there regardless if you boot with inteldrmfb, efifb, ondemand, or what-have-you. 
> 
> I am so insistent on "ondemand" and "full graphics" modes because I remember reading older posts in which people mentioned that depending on this setting, the EFI could turn off dedicated GPU through a physical muxer, which I don't know how works. I don't even know if it could change the way the cards are accessed or mapped. It is better explained here: http://linux-hybrid-graphics.blogspot.com.es/2012/04/apple-macbook-pro-and-linux-hybrid_21.html. They even talk about VBIOS and stuff you mentioned before.

 

ESF ... you can easily get sidetracked with such things, the link is dealing with a seperate issue, namely GPU switching. Note also their list of "Prerequisites [...] booting via Bootcamp/BIOS". So, its clear they are intent on bootsrapping via OSX's BIOS compatability mode, and this is not something you are currently setup to do (at least from your initial description of your current setup). Keep in mind that the kernel is attempting to boot EFI and so VBIOS (inapropriately named) will be provided by EFI, if you then present "BIOS" then you are likely to mismatch whats provided. 

Note that rEFIt, grub2, bootcamp, etc, are all attempting to provide additional crap to the kernel and this is not what a bootloader, or bootmanager, is supposed to do, it's not an "OS", it is meerly supposed to provide a means to select the OS that will be booted. The idea behind this "feature" being to work arround "issues", but it introduces as many problems as it solves, as the left hand never knows what the right hand is doing. Some weekend ago it was required that "fakebios" should be provided in the grub.cfg so that the graphics card would be initialised, but monday morning came and this was nolonger true and infact caused EFI not to read ACPI correctly ... but what a weekend it was.

As you can no doubt tell I'm dismissive of such "fixes", in my case the information I was provided was mostly gumpf ... and this is still the case if you search for "macbook 1,1 linux". I've yet to find any information on booting this particular machine natively via EFI (sans OSX, sans Hybrid GPT, sans rEFIt, sans grub2, sans "bless") ... none the less, thats exactly what I do.

In your case you can choose to follow some instructions that were written some weekends ago, tantalising snippits from some Ubuntu blogs, etc ... OR ... start from the basics building blocks and work out what is infact needed and what is not. The fact that the one consistant error you have is "failed to get supported _DSM functions" suggests that something is corrupting ACPI, I speculate that this is due to something passed by rEFIt and/or grub2. In the case of your grub.cfg I would make a grub.cfg with only the basic needed to boot (no "fix_video" or "loadbios" "efi_gop", etc), eg:

```
timeout=20

default=0

menuentry "Testing i915.modeset=1" {

 set root='(hd0,gpt1)'

 linux /boot/vmlinuz-3.4.4-gentoo root=/dev/sdc2 ro 'i915.modeset=1'

}

menuentry "Testing i915.modeset=0" {

 set root='(hd0,gpt1)'

 linux /boot/vmlinuz-3.4.4-gentoo root=/dev/sdc2 ro 'i915.modeset=0'

}

```

As in the above, I would build a 3.4.4-gentoo kernel for this. Infact with 3.4.4 you could enable "efi stub" booting and use efibootmgr to have the kernel load directly (without rEFIt or grub), but that choice is yours.

 *ESF wrote:*   

>  *Quote:*   So, my immediate suspicion (perhaps incorrect) is that either rEFIt or grub are interfering with the video settings at some point during the boot process. Do you provide any settings to rEFIt or grub, such as 'fakebios' or similar? Please provide your grub.conf and any information on what you might have enabled with rEFIt. 
> 
> Yes, as you will see on my grub.cfg I was loading a bios file I dumped from my own system following and old tutorial, with no success.

 

I see ... again, you see the problem with these weekend fixes, the hangover seems to last an eternity ...

 *ESF wrote:*   

>  *Quote:*   I'd first thought this was an issue with KMS, but now I'm not so sure, to get a clearer idea, have you booted with 'i915.modeset=0' set as a kernel arg? If not could you do so and post the dmesg. 
> 
> I tried that: booting with 'i915.modeset=0' prevents the kernel from loading inteldrmfb so the screen doesn't freeze. But I couldn't get the "X -configure" command to config my card without KMS on.

 

OK, but this suggests the cause of the hang is KMS ...

 *ESF wrote:*   

>  *Quote:*   It's possible to increase the debugging from inteldrmfb, this might not provide any useful information because if the vbios is corrupt then the problem lies outside of the driver, and so there is little the driver can tell us other than 'failed to get supported _DSM', however, it might, so if you feel inclined set 'drm.debug=0x4' as a kernel arg and post the dmesg. I say "inclined" as your probably best to concentrate on the boot procedure, as my hunch is its not the driver but rEFIt and/or grub. 
> 
> Here is a dmesg with 'i915.modeset=1', 'drm.debug=0x4' and no bios files loaded:

 

Its more verbose but the error is the same, interestingly though is the "no AGP found".

 *ESF wrote:*   

>  *Quote:*   The grub your using, 1.99-r2 (I assume from portage) is it an efi executable? How did you setup grub, within your EFI System Partition? I currently don't use grub (but have build a 32bit efi execuatble grub2 for USB sticks) so I can't say if it works or not. Please let me know exactly how grub was installed and configured.
> 
>  
> 
> Yes, it is from portage and i set it up as an EFI executable. (it is actually under the EFI partition at path: /boot/EFI/grub2/grub.efi . /boot/EFI/ is the root of the EFI partition )
> ...

 

I assume you mean the "noagp"?

 *ESF wrote:*   

> Again, thank you very much for your time and attention.

 

Your welcome & best ...

khay

----------

## DaggyStyle

well looking at you new dmesg, one can clearly see that you get a driver panic with the nvidia module.

like said above me and I've said before, you don't have a basic display but you jump and already try gpu switching.

first you need to decide which gpu do you want to configure (to get this to work), then you need to remove all drivers relating to the other gpu.

after that, reboot the system and check dmesg for driver panic.

if no driver panic is introduced, post the content of xorg.0.log.

also post the versions of the driver you've selected and lspci.

----------

## khayyam

DaggyStyle ...

Yes, the nvidia driver panics, but the inteldrmfb does likewise (or at least hangs) ... note the "No AGP bridge found" at the initial boot stage, this suggests the problem is deeper than "decid[ing] which gpu [...] to configure". The "failed to get supported _DSM functions" suggests some corruption coming prior to booting (ie passed from grub or what-have-you). So, please, the problem has a cause, and its the cause that should be the focus here, and your not really helping with your suggestions.

best ... khay

----------

## ESF

DaggyStyle, khayyam, thankyou very much for your help and your time: I am learning a lot of things that were a mystery for me.

 *khayyam wrote:*   

> 
> 
> ESF ... you can easily get sidetracked with such things, the link is dealing with a seperate issue, namely GPU switching. Note also their list of "Prerequisites [...] booting via Bootcamp/BIOS". So, its clear they are intent on bootsrapping via OSX's BIOS compatability mode, and this is not something you are currently setup to do (at least from your initial description of your current setup). Keep in mind that the kernel is attempting to boot EFI and so VBIOS (inapropriately named) will be provided by EFI, if you then present "BIOS" then you are likely to mismatch whats provided. 
> 
> 

 

Sorry Khay, I've read so many articles with weekend patches and not enough information describing the problem that I got confused on that one.

My bad, I'll pay more attention to those guides in order not to miss any parameters or prerequisites.

BTW, now I can get that stuff out of my head knowing it has nothing to do with the way I'm trying to boot.

 *khayyam wrote:*   

> 
> 
> As you can no doubt tell I'm dismissive of such "fixes", in my case the information I was provided was mostly gumpf ... and this is still the case if you search for "macbook 1,1 linux". I've yet to find any information on booting this particular machine natively via EFI (sans OSX, sans Hybrid GPT, sans rEFIt, sans grub2, sans "bless") ... none the less, thats exactly what I do.
> 
> 

 

 *khayyam wrote:*   

> 
> 
> I would build a 3.4.4-gentoo kernel for this. Infact with 3.4.4 you could enable "efi stub" booting and use efibootmgr to have the kernel load directly (without rEFIt or grub), but that choice is yours.
> 
> 

 

EDITED:

The only thing I read about booting purely with the EFI stub was one of the posts on this forum. I will follow that guide to build a kernel with EFI stub and use efibootmgr to let it boot.

https://forums.gentoo.org/viewtopic-t-925104-highlight-boot+efi+stub.html

 *khayyam wrote:*   

> 
> 
> I assume you mean the "noagp"?
> 
> 

 

Well, At the beginning, as soon as any driver kicked in, I wasn't able to know if the kernel was panicking, loading or if there was a prompt, so i added the agp=off argument to prevent this modules from fully loading. (weekend fix)

Thanks again, I am going to unmask, config and install 3.4.4-gentoo kerne with efi stub, I'll keep you posted.

----------

## khayyam

 *ESF wrote:*   

> The only thing I read about booting purely with the EFI stub was one of the posts on this forum. I will follow that guide to build a kernel with EFI stub and use efibootmgr to let it boot.

 

That guide is fine, though note it states that CONFIG_FB_EFI should be set, but this is not actually necessary, and in your case you should probably have it =n.

Note that in absence of a bootloader/bootmanager you will need to add your kernel options to CONFIG_CMDLINE. If your looking for a bootloader/bootmanager that is EFI then I can suggest rEFInd, you may want to have this if you dual boot. Once installed efibootmgr can be used to set rEFInd as the first in the boot order. rEFInd works well with EFI stub, but you will need to provide the kernel with an .efi suffix. My setup/efivars looks like the following:

```
% efibootmgr -v

BootCurrent: 0000

Timeout: 5 seconds

BootOrder: 0000,0001

Boot0000* rEFInd   HD(1,28,64000,a5d32078-64a7-4c13-a0f1-1286c2f6422b)File(\efi\refind\refind_ia32.efi)

Boot0001* 3.4.4   HD(1,28,64000,a5d32078-64a7-4c13-a0f1-1286c2f6422b)File(\vmlinuz-3.4.4-geek-gnu.efi)
```

Note the second entry is just a fallback (incase I should break something). If you add your boot options to CONFIG_CMDLINE there is no need to repeat them in the refind.conf (but adding to "options" will be appended to the current CONFIG_CMDLINE so you could make entries similar to those for grub posted above), anyhow, my refind.conf ...

```
% cat /boot/efi/refind/refind.conf | nocomment

timeout 5

hideui banner

resolution 1024 768

use_graphics_for linux

showtools shell, reboot

scanfor manual,external,optical

dont_scan_dirs efi/grub2

default_selection 1

menuentry "Gentoo Linux 3.4.4-geek-gnu" {

   ostype Linux

   icon efi/refind/icons/os_gentoo.icns

   volume 0:

   loader vmlinuz-3.4.4-geek-gnu.efi

}
```

... and the EFI System Partiton (ie: /boot)

```
% ls /boot

efi/

System.map-3.4.3-geek-gnu

System.map-3.4.4-geek-gnu

vmlinuz-3.4.3-geek-gnu.efi

vmlinuz-3.4.4-geek-gnu.efi
```

Note that as the ESP (EFI System Partition) is vfat and so not case sensitive ... no need to uppercase files/directories.

When configuring your 3.4.4-gentoo kernel I would suggest only enabling inteldrmfb (i915) and KMS

```
CONFIG_DRM_I915=y

CONFIG_DRM_I915_KMS=y
```

... as DaggyStyle suggested, its probably a good idea to focus on one card/problem, so exclude anything re nvidia.

HTH & best ...

khay

----------

## ESF

What have I achieved so far:

I built succesfully a kernel image with EFI stub.

The image can be executed without grub, from rEFIt, but the screen-freezing problem is still there, althought the dmesg has changed a bit.

dmesg here

Aaaand I have a doubt: According to the tutorial I could add an EFI entry with my kernel (what I already did, but kept the old boot order on pourpose) and boot just from the EFI, OR I could install some boot manager like rEFInd and boot frome there.

¿Which option is better?

I was thinking about trying to change boot order with efibootmgr and set my KERNEL.EFI entry as the first one, but I am very affraid of getting stuck loading that EFI application and not being able of booting any other OS in order to re-sort boot order list.

¿Is there any failsafe that prevents me from bricking my MBP if I mess up the EFI entries?

Thanks,

ESF

----------

## DaggyStyle

 *khayyam wrote:*   

> DaggyStyle ...
> 
> Yes, the nvidia driver panics, but the inteldrmfb does likewise (or at least hangs) ... note the "No AGP bridge found" at the initial boot stage, this suggests the problem is deeper than "decid[ing] which gpu [...] to configure". The "failed to get supported _DSM functions" suggests some corruption coming prior to booting (ie passed from grub or what-have-you).
> 
> 

 

I'm trying to minimize the situation to the bare minimal, I don't know how you solve problems but that is how I do it.

if you like to do things like that it is your privileges, however it is wrong IMHO.

the fact that he doesn't even have gui but he rushes to configure EFI boot on his system shows that the op is shooting blind.

agp doesn't come into action when it comes to linux until the right kernel driver is up.

the issue is pure bios.

I admit I don't know much about macs but I'm pretty sure it has a bios menu which is unrelated to grub/linux.

that is what the op should concentrate on.

 *khayyam wrote:*   

> So, please, the problem has a cause, and its the cause that should be the focus here, and your not really helping with your suggestions.
> 
> best ... khay

 

with all due respect, keep this to yourself, respect others if you want to be respected.

----------

## khayyam

 *ESF wrote:*   

> I built succesfully a kernel image with EFI stub.
> 
> The image can be executed without grub, from rEFIt, but the screen-freezing problem is still there, althought the dmesg has changed a bit.

 

It mostly looks normal, thought the inital "No AGP bridge found" is still reported. However, you have built efifb (which takes fb0) and inteldrmfb as a module (which takes fb1) ... please try without efifb and inteldrmfb and KMS built in.

 *ESF wrote:*   

> Aaaand I have a doubt: According to the tutorial I could add an EFI entry with my kernel (what I already did, but kept the old boot order on pourpose) and boot just from the EFI, OR I could install some boot manager like rEFInd and boot frome there.
> 
> ¿Which option is better?

 

With EFI stub you can boot the kernel directly (without any bootloader/bootmanager), you simply need to set it as the first in the boot order. The boot order is simply that, the order in which the entries are tried. If the first is not available the next will be tried. In your case keeping the order will mean that rEFIt will be the first in the list and so it'll be left to rEFIt to load the kernel. So, rEFIt is currently the bootmanager, but this could be replaced with rEFInd (which, incidentally, is a fork of rEFIt, but is designed to be OS neutral). Which of these options is better depends on what you need, obviously booting the kernel directly is faster, but doesn't allow the flexability of selecting the kernel, or other OSes. A bootmanager (rEFIt or rEFInd) will scan for OSes, EFI executables, optical and externals disks, etc, and provide a menu, so if you need that then all you need do is install it to your ESP and set it as first in the boot order. In terms of choosing between rEFIt and rEFInd then I would choose the later as it can be maintained via efibootmgr, and is OS neutral. 

 *ESF wrote:*   

> I was thinking about trying to change boot order with efibootmgr and set my KERNEL.EFI entry as the first one, but I am very affraid of getting stuck loading that EFI application and not being able of booting any other OS in order to re-sort boot order list.

 

That could happen, but if you have a bootdisk/USB stick (with efibootmgr ... such as sysrescuecd) this can always been booted via 'c' or 'alt' and so the problem corrected. But it sounds like your better off with a bootmanager ...

 *ESF wrote:*   

> Is there any failsafe that prevents me from bricking my MBP if I mess up the EFI entries?

 

If you do mess something up, you can boot and hold the 'alt', you will then be provided with a list of any "blessed" EFI executable (I say "any" but its not quite so simple ... Apple is very selective in that regard). A bootmanager will scan for possible EFI executables also, and is less selective about what it will allow you to boot. Basically, if you want to boot directly via EFI stub then you have to be careful to have both the efibootmgr correctly configured and a kernel that'll boot ... in your case this isn't currently possible and so a bootmanager would be a better option as it'll allow you to select kernels/OSes/configurations without touching EFI.

Anyhow, all this should be clear from my previous post ...

best ... khay

----------

## khayyam

 *DaggyStyle wrote:*   

> I'm trying to minimize the situation to the bare minimal, I don't know how you solve problems but that is how I do it. if you like to do things like that it is your privileges, however it is wrong IMHO.

 

DaggyStyle ... sorry, "do things" like what?  

 *DaggyStyle wrote:*   

> the fact that he doesn't even have gui but he rushes to configure EFI boot on his system shows that the op is shooting blind.

 

No, thats your assessment based on a lack of understanding of the problem, macs boot EFI, do you know of any non-macs that boot with "fakebios", "efi_gop", etc, etc, in there grub.cfg? ... and why do you think such options might exist? ... or do you think they simply make the grub.cfg look impressive? The issue of what is passed from EFI and how the kernel understands that information is totally relevant here. 

 *DaggyStyle wrote:*   

> agp doesn't come into action when it comes to linux until the right kernel driver is up. the issue is pure bios.

 

So, your saying that if the "BIOS", which of course the mac doesn't have, passes some bogus information to ACPI then this will have no ill effect on what the "driver" does subsequently? ... and what on earth do you mean by "the issue is pure bios"? 

 *DaggyStyle wrote:*   

> I admit I don't know much about macs but I'm pretty sure it has a bios menu which is unrelated to grub/linux. that is what the op should concentrate on.

 

No, you clearly don't, it has no "bios menu" period ... and how can you then say its "unrelated to grub/linux" do you think that the kernel simply picks values from thin air?

 *DaggyStyle wrote:*   

>  *khayyam wrote:*   So, please, the problem has a cause, and its the cause that should be the focus here, and your not really helping with your suggestions. 
> 
> with all due respect, keep this to yourself, respect others if you want to be respected.

 

So, asking that you have some understanding of the problem before handing out advice is disrespectfull? If I think that your focus is wrong then I'm going to point that out ... that is not something I should be asked to "keep to myself", its a courtsey to both the OP and yourself.

best ... khay

----------

## ESF

OK... I am going to turn to the main subject (if we're still there and not far beyond it) because I know how easy is to misunderstand words or misread details in a forum and I also know how difficult is to comunicate without visual/sound/touch contact with someone you don't even know.

Soooo...

I couldn't resist it: Left Evil Angel said that I should try booting straight from the EFI and Right Good Angel was out to lunch so...

I burnt rEFInd on a CD so in case of need I could use it to boot any prev kernel and restorre boot order.

Gentoo boots without efifb so the MBP screen stays blank (white), AGP problem is still there and there is no fb, so I am going to post dmesg and kernel config in case I forgot to add something to the mix.

dmesg

Kernel .config

I cannot imagine why the kernel cannot detect AGP port. I am looking through hardware specs but I see no weird thing.

Anyways,

Thank you again very much for your time and experience, I really appreciate it.

Read you soon!  :Razz: 

----------

## DaggyStyle

as I've said, I don't know much about macs, if it doesn't have a bios menu, that is a huge con on macs.

UFI support is flaky at best on linux, I don't know much about it so I wish all the best and hope you solve the issue.

----------

## khayyam

 *ESF wrote:*   

> I couldn't resist it: Left Evil Angel said that I should try booting straight from the EFI and Right Good Angel was out to lunch so...

 

ESF ... not exactly true, I meerly pointed out that with grub2 passing "bios" and graphics settings you wouldn't be able to debug the issue subseqently, I provided an example of doing this via grub and stated WRT EFI stub "[...] but that choice is yours".

 *ESF wrote:*   

> I cannot imagine why the kernel cannot detect AGP port.

 

This may be something particular to nvidia ... there is a post which seems to have very similar symptoms to your own.

best ... khay

----------

## khayyam

 *DaggyStyle wrote:*   

> as I've said, I don't know much about macs, if it doesn't have a bios menu, that is a huge con on macs.

 

DaggyStyle ... actually the reverse is true. The question is: why is a BIOS menu needed. Its a legacy hangover from a time when a firmware interface was required to do silly tasks like set the "boot disk". If you need an OS to boot an OS then this "OS" (ie: the firmware) isn't doing its task very well.

 *DaggyStyle wrote:*   

> UFI support is flaky at best on linux, I don't know much about it so I wish all the best and hope you solve the issue.

 

No, EFI support on linux is actually good. The problem is that vendors have various "hybrid" or "compatability" modes, and/or poor EFI implimentations, that break EFI standards. Additionally, distributions are focused on legacy BIOS for dual booting (in order to support windows 7), and so the standard recommendations are "hybrid GPT" and MBR booting.

best ... khay

----------

## ESF

Yay! It works!

Well, let me catch my breath... OK, let's go:

I got Intel HD 3000 working with acceleration and framebuffer.

It is still complaining about not finding AGP port, but it simply works. I got no more than 300 frames/5sec. in glxgears, but at least desktop effects go fluid without slaughtering my CPU.

The problem was the damn graphic's muxer.

After reading some pages about EFI booting I realized it had something to do with models with dual graphics card and the way apple implements their usage.

Ej:

https://lists.launchpad.net/hybrid-graphics-linux/msg02235.html

https://help.ubuntu.com/community/UEFIBooting#Selecting_the_graphic_card

http://dentifrice.poivron.org/laptops/macbookpro8,2/

So I had to do some stuff to let it work as it should:

I patched i915 driver from 3.4.4-gentoo-sources with a patch I found on the internet (regardless of versions because I was a bit desperate, but it worked) to add an extra argument to i915, lvds_channels, which I set to 2 in the kernel arguments.

Went back to the old bootloader way, but this time with rEFInd so I could boot GRUB2 and from there play with physical memory addresses, adding before kernel and command line:

```
outb 0x728 1 # Switch select

outb 0x710 2 # Switch display

outb 0x740 2 # Switch DDC
```

So... 

The entry in grub.cfg looks like:

```
menuentry 'Gentoo GNU/Linux, with Linux 0.1-x86_64' --class gentoo --class gnu-linux --class gnu --class os {

        insmod gzio

        insmod part_msdos

        insmod ext2

        set root='(/dev/sdc,msdos2)'

        search --no-floppy --fs-uuid --set=root 9e3a2532-5d37-4bd5-9e43-af0dbc223d4f

        echo    'Loading Linux 0.4-x86_64 ...'

        outb 0x728 1 # Switch select

        outb 0x710 2 # Switch display

        outb 0x740 2 # Switch DDC

        linux   /boot/kernel-0.4-x86_64 root=/dev/sdc2 ro rootdelay=5 i915.lvds_channels=2 i915.lvds_use_ssc=0 i915.i915_enable_rc6=1

}
```

(Don't use rootdelay if you don't have to, it has nothing to do with graphic cards)

The patches I applied are:

```
--- a/drivers/gpu/drm/i915/i915_drv.c

+++ b/drivers/gpu/drm/i915/i915_drv.c

@@ -49,6 +49,10 @@  module_param_named(powersave, i915_powersave, int, 0600);

 unsigned int i915_lvds_fixed = 1;

 module_param_named(lvds_fixed, i915_lvds_fixed, int, 0600);

 

+unsigned int i915_lvds_channels = 0;

+module_param_named(lvds_channels, i915_lvds_channels, int, 0600);

+MODULE_PARM_DESC(lvds_channels, "LVDS channels in use: 0=(default) probe hardware 1=single 2=dual");

+

 unsigned int i915_lvds_downclock = 0;

 module_param_named(lvds_downclock, i915_lvds_downclock, int, 0400);

 
```

```

--- a/drivers/gpu/drm/i915/i915_drv.h

+++ b/drivers/gpu/drm/i915/i915_drv.h

@@ -886,6 +886,7 @@  extern int i915_max_ioctl;

 extern unsigned int i915_fbpercrtc;

 extern unsigned int i915_powersave;

 extern unsigned int i915_lvds_fixed;

+extern unsigned int i915_lvds_channels;

 extern unsigned int i915_lvds_downclock;

 extern unsigned int i915_lvds_24bit;

  
```

```

--- a/drivers/gpu/drm/i915/intel_display.c

+++ b/drivers/gpu/drm/i915/intel_display.c

@@ -642,6 +642,20 @@  static const intel_limit_t intel_limits_ironlake_display_port = {

         .find_pll = intel_find_pll_ironlake_dp,

 };

 

+static int intel_is_dual_channel_mode(struct drm_crtc *crtc)

+{

+   struct drm_device *dev = crtc->dev;

+   struct drm_i915_private *dev_priv = dev->dev_private;

+   if (i915_lvds_channels) {

+      /* User has specified desired channel mode */

+      return (i915_lvds_channels == 2);

+   }

+

+   /* User has not specified mode so let's see

+      what the hardware is doing. */

+   return ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) == LVDS_CLKB_POWER_UP);

+}

+

 static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc)

 {

    struct drm_device *dev = crtc->dev;

@@ -653,8 +667,7 @@  static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc)

       if (dev_priv->lvds_use_ssc && dev_priv->lvds_ssc_freq == 100)

          refclk = 100;

 

-      if ((I915_READ(PCH_LVDS) & LVDS_CLKB_POWER_MASK) ==

-          LVDS_CLKB_POWER_UP) {

+      if (intel_is_dual_channel_mode(crtc)) {

          /* LVDS dual channel */

          if (refclk == 100)

             limit = &intel_limits_ironlake_dual_lvds_100m;

@@ -677,18 +690,16 @@  static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc)

 

 static const intel_limit_t *intel_g4x_limit(struct drm_crtc *crtc)

 {

-   struct drm_device *dev = crtc->dev;

-   struct drm_i915_private *dev_priv = dev->dev_private;

    const intel_limit_t *limit;

 

    if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) {

-      if ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) ==

-          LVDS_CLKB_POWER_UP)

+      if (intel_is_dual_channel_mode(crtc)) {

          /* LVDS with dual channel */

          limit = &intel_limits_g4x_dual_channel_lvds;

-      else

-         /* LVDS with dual channel */

+      } else {

+         /* LVDS with single channel */

          limit = &intel_limits_g4x_single_channel_lvds;

+      }

    } else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_HDMI) ||

          intel_pipe_has_type(crtc, INTEL_OUTPUT_ANALOG)) {

       limit = &intel_limits_g4x_hdmi;

@@ -821,8 +832,7 @@  intel_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,

        * reliably set up different single/dual channel state, if we

        * even can.

        */

-      if ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) ==

-          LVDS_CLKB_POWER_UP)

+      if (intel_is_dual_channel_mode(crtc))

          clock.p2 = limit->p2.p2_fast;

       else

          clock.p2 = limit->p2.p2_slow;

@@ -871,7 +881,6 @@  intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,

          int target, int refclk, intel_clock_t *best_clock)

 {

    struct drm_device *dev = crtc->dev;

-   struct drm_i915_private *dev_priv = dev->dev_private;

    intel_clock_t clock;

    int max_n;

    bool found;

@@ -886,8 +895,7 @@  intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc,

          lvds_reg = PCH_LVDS;

       else

          lvds_reg = LVDS;

-      if ((I915_READ(lvds_reg) & LVDS_CLKB_POWER_MASK) ==

-          LVDS_CLKB_POWER_UP)

+      if (intel_is_dual_channel_mode(crtc))

          clock.p2 = limit->p2.p2_fast;

       else

          clock.p2 = limit->p2.p2_slow;
```

And were extracted from from https://patchwork.kernel.org/patch/641481/

I think that's all... I know it seems a bit like "a patch over a patch over a patch" but until there is no better way to deal with the muxer, drivers cannot detect the cards correctly in order to set up lvds_channels and even if they do and it works, the screen will be frozen until you redirect intel card's output to the screen trough the muxer.

BTW: 

 *Quote:*   

> ESF ... not exactly true, I meerly pointed out that with grub2 passing "bios" and graphics settings you wouldn't be able to debug the issue subseqently, I provided an example of doing this via grub and stated WRT EFI stub "[...] but that choice is yours". 

 

Sorry, I wasn't referencing you... I was just making fun of my hunches and stupidites, making my fear face my curiosity of "what would happen if..." and, of course, the choice was all mine even when I listened to the "Evil Angel" :Razz:  in my inside.

Again, thank you very much for your time and your help, I can't get tired of saying so, and if you would like comment something or if you have any suggestions about something I could have done better, I'll be glad to hear them.

Now that I have everything turned upside-down, I'll take the chance to try with the nvidia drivers and if I find anything interesting, I will post it back here.

Read you soon...

ESF

----------

## khayyam

 *ESF wrote:*   

> Again, thank you very much for your time and your help, I can't get tired of saying so, and if you would like comment something or if you have any suggestions about something I could have done better, I'll be glad to hear them.

 

ESF ... first off, good to hear that you now have inteldrmfb working. It might prove difficult to maintain however as the patch(s) may not apply cleanly to future kernels, and as I've said previously you will need to keep a close eye on changes to the kernel as fixing from the bootloader may cause some issues if and when such things are provided in kernel. An example of this is provided in the links you posted, I don't pass 'efi_uga' or 'fix_video' which according to this (now somewhat dated) guide I should. It may be that muxer/lvds_channel is already something that CONFIG_VGA_SWITCHEROO is a working solution for ... I'm speculating as I don't have such a card, but from what I've said above my reasons for pointing this out should be obvious.

 *ESF wrote:*   

> Now that I have everything turned upside-down, I'll take the chance to try with the nvidia drivers and if I find anything interesting, I will post it back here.

 

It may just work, but given the proprietary nvidia drivers can't be patched there may be no way to have them also groak lvds_channel, anyhow you should keep the thread updated as it may be of some help to others with similar hardware to yours.

again your welcome & best ...

khay

----------

## ESF

I have decided to keep just those two tweaks on the system to avoid too many concerns while updating the system.

I have tried to make my dedicated GPU usefull, but somehow Apple did a non-standard mess with the nvidia card, the gmuxer and the intel card (that work really well under OSX).

As far as I "partially understand", it looks like if both cards were connected to the muxer, but only the intel one is turned on all the time. And somehow the nvidia card shares uses some intel-card resources.

If the "Ondemand" power setting is active, the kernel can see the nvidia card, but the nvidia (propietary) driver won't load because it cannot access the card's bios.

If the "Full Graphics" power setting is active, the nvidia driver will load but will output a backtrace to kernel buffer (dmesg) due to some failure, but the nvidia framebuffer will load and let the user use the virtual consoles.

As soon as the X server tries to use the card, even just for configuration pourposes (like "X -configure") the whole system will freeze.

(I supose it should be a kernel panic, but as this is a mac, I cannot see blinking LEDs)

Dmesg

I tried using nouveau driver in "Full Graphics" mode,  but it did not work either.

I had to dump some memory from the emulated BIOS, so I started a liveCD in BIOS emulation mode and dumped bios and int10 register as follows:

```
dd if=/dev/mem of=/boot/vbios.bin bs=65536 skip=12 count=1

dd if=/dev/mem of=/boot/int10.bin bs=4 skip=16 count=1
```

And then I loaded these pieces of data at boot with grub2, adding to my entry:

```
loadbios /boot/vbios.bin /boot/int10.bin
```

As far as I saw with hexdump, the bios file is just filled with ones, don't know if it was suposed to be like that.

This maneuver let the nouveau driver load a bit better. (it was able to detect how much ram memory was on the card)

But I couldn't make it work because X server couldn't detect any screens.

Dmesg

Xorg.0.log

And that was my last bit of mood before turning back to set up my system relying on intel and powersaving scritps:

```
#!/bin/bash

# Bluetooth USB Host Controller (Apple Inc.)

echo 1 > /sys/bus/usb/devices/1-1.1.3/remove 

# IR Receiver (Apple Computer, Inc.)

echo 1  > /sys/bus/usb/devices/2-1.2/remove 

$ Card Reader (Apple)

echo 1  > /sys/bus/usb/devices/1-1.3/remove 

# wireless

modprobe -r wl

# isight

modprobe -r uvcvideo

# firewire

echo 1 > /sys/bus/pci/devices/0000\:04\:00.0/remove

# nvidia vga

echo 1 > /sys/bus/pci/devices/0000\:01\:00.0/remove #<------------------ Get rid of what you can't use.

# nvidia audio

echo 1 > /sys/bus/pci/devices/0000\:01\:00.1/remove

# powertop various

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs

echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

echo min_power > /sys/class/scsi_host/host0/link_power_management_policy

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
```

Now, I think I will mark the post as PARTIALLY SOLVED, as now I have one card working and it's enough for now.

Thanks for helping me out, I appreciate this dose of knowledge that's going to keep me satisfied for a while.

ESF

----------

