Как выключить графику NVIDIA на MacBook Pro?

У меня есть MacBook Pro с 2010, который имеет графику NVIDIA и Intel интегрированный agraphics:

$ lspci|grep -i vga
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12)
01:00.0 VGA compatible controller: NVIDIA Corporation GT216M [GeForce GT 330M] (rev a2)

Когда я устанавливаю propritary драйвер (340.76) NVIDIA, зависания системы, когда я запускаю X-сервер. Мне сказали, что это вызвано тем, что драйвер NVIDIA не поддерживает характеристики специального оборудования MacBook.

Таким образом, я хотел бы выключить графику NVIDIA полностью и только использовать интегрированную графику Intel вместо этого, потому что батарея только содержит в течение ~1,5 часов при выполнении офисной работы, так как я установил Ubuntu. Это содержало в течение приблизительно 3 часов с Mac OS при выполнении подобной работы.

У меня есть чтение двух способов сделать это:

  1. Выключение дискретного графического устройства в BIOS
  2. или переключение на интегрированную графику в nvidia-settings.
  3. ОБНОВЛЕННЫЙ: Начальная загрузка в OS X и принуждение интегрированной графики в gfxCardStatus 2.2.1.

Первый метод не будет работать на меня, потому что нет никакого BIOS на MacBook. Второй метод не будет работать также, потому что я не могу установить propritary драйверы, как описано выше.

Это - в основном новая установка Ubuntu 14.04 без любых тонких настроек, которые стоит упомянуть.

ОБНОВЛЕНИЕ: После чтения большого количества документации я имею, пришел к выводу, что это только возможно при помощи метода 3 на MacBook Pro, т.е. нужно было все еще установить OS X, который я не имею! Это действительно погано, потому что это означает, что у меня нет шанса выключить GPU NVIDIA.

2
задан 13 April 2017 в 16:00

3 ответа

Для этого адаптера корректный драйвер является nvidia-340. Это может быть установлено этот путь:

sudo apt-get install nvidia-340 nvidia-prime
0
ответ дан 2 December 2019 в 05:01

Это - взлом и должно быть тщательно прочитано в источниках, но возможно это помогает Вам:

MacBook деактивируют Intel, на борту графический, если что-либо еще, чем MacOS загружается. Вы могли добавить файл к efi и добавить опцию личинки к chainload это, чтобы заставить efi думать своя MacOS начальной загрузки так все аппаратные средства ist активированный во время начальной загрузки.

получают последнюю версию двоичного файла efi файл от https://, github.com/0xbb/apple_set_os.efi/releases

копирует, это к смонтированному efi разделу в новую sub папку

mkdir /boot/efi/EFI/custom
cp apple_set_os.efi /boot/efi/EFI/custom

добавляет к источнику/etc/grub.d/40_custom

search --no-floppy --set=root --label EFI
chainloader (${root})/EFI/custom/apple_set_os.efi
boot

: https://github.com/0xbb/apple_set_os.efi

0
ответ дан 2 December 2019 в 05:01

У меня, оказывается, есть тот же самый компьютер как Вы. Что я создал, должны добавить несколько строк для расчистки для отключения дискретной графики на efi уровне:

$ cat /etc/grub.d/10_linux
# Use ELILO's generic "efifb" when it's known to be available.
# FIXME: We need an interface to select vesafb in case efifb can't be used.
if [ "x$GRUB_GFXPAYLOAD_LINUX" = x ]; then
    echo "    load_video" | sed "s/^/$submenu_indentation/"
else
    if [ "x$GRUB_GFXPAYLOAD_LINUX" != xtext ]; then
        echo "        load_video" | sed "s/^/$submenu_indentation/"
    fi
fi
if ([ "$ubuntu_recovery" = 0 ] || [ x$type != xrecovery ]) && \
    ([ "x$GRUB_GFXPAYLOAD_LINUX" != x ] || [ "$gfxpayload_dynamic" = 1 ]); then
    echo "    gfxmode \$linux_gfx_mode" | sed "s/^/$submenu_indentation/"
fi

echo "        outb 0x728 1" | sed "s/^/$submenu_indentation/"
echo "        outb 0x710 2" | sed "s/^/$submenu_indentation/"
echo "        outb 0x740 2" | sed "s/^/$submenu_indentation/"
echo "        outb 0x750 0" | sed "s/^/$submenu_indentation/"

echo "        insmod gzio" | sed "s/^/$submenu_indentation/"
echo "        if [ x\$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi" | sed "s/^/$submenu_indentation/"

Я просто добавил outb строки, промежуточные insmod gzio и linux_gfx_mode. Для ссылки:

outb 0x728 1 # Switch select
outb 0x710 2 # Switch display
outb 0x740 2 # Switch DDC
outb 0x750 0 # Power down discrete graphics 

Это отключает графику на pcie-канальном-уровне, таком, что это исчезает от системы. В отличие от macOS, IronLake Intel HD Graphics может управлять выводом внешнего дисплея, но без аудио.

Что Вы описали как Mac, отключающий igpu, если начальная загрузка macOS не сохраняется ни для какого Mac, сделанного после 2010 или любого Mac с микросхемой Sandy Bridge или позже. (2010=nehalem, 1-й генерал 45 нм.) Прием apple_set_os.efi не работает до 2011 (пред2011, в то время, что-либо загрузилось с efi, будет вести себя точно как macOS, efi не проверял ОС, просто что это было загружено исходно, включив интегрированную графику. И единственный способ загрузить ОС с отключенным igpu был к начальной загрузке прежней версии, которую мы не делаем), я пытался выполнить его, и это печатает это, apple_set_os протокол не был найден. Я выполняю 16.04.3 стабильных, и это - такой хороший опыт, после того как можно использовать компьютер без катастрофических отказов.

О Nvidia собственные драйверы: Я сделал некоторый opengl, тестирующий со страусом эму дельфина и DRI_PRIME=1, загружающимся без outb 0x750, поэтому отключив соединение dGPU с дисплеем lvds, но оставив это доступным бездисплейный для рендеринга. Nouveau и собственный имеют почти ту же производительность. (на самом деле большинство пограничных случаев здесь было выиграно nouveau), архитектура NV50/Tesla является, возможно, лучшим, поддерживаемым nouveau. Поэтому я на самом деле рекомендовал бы остаться на nouveau.

Наконец, для включения графики Intel на начальной загрузке постоянно (целых nvram переменные не стираются) можно сделать это из Linux:

mount -t efivarfs rw /sys/firmware/efi/efivars/ # make sure efi is mounted
sudo bash -c 'printf "\x07\x00\x00\x00\x01\x00\x00\x00" > /sys/firmware/efi/efivars/gpu-power-prefs-fa4ce28d-b62f-4c99-9cc3-6815686e30f9'

Можно также выполнить ту же самую вещь от macOS также:

sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
1
ответ дан 2 December 2019 в 05:01

Другие вопросы по тегам:

Похожие вопросы: