0

Macbook Pro 15 Retina Late 2013 uses explicitly dedicated GPU. Integrated graphic processor isn't listed at all.

Not being able to switch or turn off discrete card to improve battery life.


/preambula: I am hitting my head past 2 weeks not able to do any first step at this as it is the last and most important issue that I need to solve/

hw:

  • Macbook Pro Retina 15 Late 2013
  • Intel Iris Pro Graphics
  • NVIDIA GeForce GT 750M with 2GB of GDDR5 memory and automatic graphics switching

os:

  • Tails (running via usb flash disc and/or sd card)
  • based on Debian Wheezy

boot:

  • syslinux

active gpu: Nvidia GT 750m 2GB

desired gpu: Intel Iris Pro (all the time if not able to switch automatically)

goal: battery life, mostly no need to use dedicated gpu (at all)

additional info:

  • osx: none. ssd disk empty
  • battery life: 2 hours maximum
  • battery life when underclocked to +-40% and turbo deactivated: 3h 45 minutes approximately

lspci:

01:00.0 VGA compatible controller: NVIDIA Corporation Device 0fe9 (rev a1) (prog-if 00 [VGA controller])
Subsystem: Apple Inc. Device 0130
Flags: bus master, fast devsel, latency 0, IRQ 48
Memory at c0000000 (32-bit, non-prefetchable) [size=16M]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
Memory at 90000000 (64-bit, prefetchable) [size=32M]
I/O ports at 1000 [size=128]
Expansion ROM at c1000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting
Capabilities: [420] Advanced Error Reporting
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024
Capabilities: [900] #19
Kernel driver in use: nouveau

issue: There are many services like vgaswitcheroo, acpi_call etc. However, none of them can work if the IGP (in this case Intel Iris Pro) is not listed at all. Reason: it is not powered / recognized / enabled during the boot.


possible solution:

(from the link above:)

This prevents the firmware from powering down the integrated graphics card on some recent 2013 Macbook Pro laptops.

apple_set_os command

Basically Macbook Pros detect that system being loaded isn't OS X and the hardware recognization differs. Which results into internal IGP powered down.

desired solution: Be able to hardcode this solution into the kernel of Tails by myself to use explicitly the IGP (Intel Iris Pro Graphics) or be able to switch off to the integrated graphic card

Any ideas how to accomplish using IGP in Tails? a.k.a how to integrate apple_set_os inside of bootloader of Tails?

1

I am the author of https://github.com/0xbb/gpu-switch and I may can help you.

If you want to use the IGP in the Macbook Pro 11,3 (Late 2013) you either need:

otherwise the EFI will turn off your IGP and you will see black screen.

Then you can boot into Linux and run ./gpu-switch -i and reboot. From the next boot on Linux will used the integrated graphics card.

With the command echo OFF > /sys/kernel/debug/vgaswitcheroo/switch you can then turn off the discrete GPU to save power.

  • I also needed to use this github.com/0xbb/apple_set_os.efi. Note that refind has an option called spoof_os_x_version. This might work too, but it was messing up my windows boot. – Steph Mar 30 '17 at 1:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.