[РЕШЕНО] Деактивация дискретной nVidia на MacbookPro

Всем привет!
Не хотел беспокоить по этому нечастому случаю, но в виду слабых познаний упёрся в собственный потолок способностей. Надежда только на вас.

Ситуация следующая. Имеется MacBook Pro 11,3 с дискретной nVidia, которая могла нормально выключаться (в виду отсутствия необходимости в высокой производительности графики) только в макоси. По началу в вики это описывалось как просто проблема. Потом был найден способ пропатчивания граба, но для меня это слишком сложно и я терпел бесполезный разогрев ноута. Затем мне по различным нуждам нужно было сидеть под разными осями, последняя была как раз макось (тут-то я и вспомнил каково это, иметь нормальный ноут, а не раскалённую сковородку). Необходимость в макоси отпала, и я полез в вики Арча, с радостью обнаружив там новый способ деактивации дискретной графики. Попытался сделать по написанному, но невидия упорно включается и греет ноут.

Что сделано:
  • В режиме рекавери макоси деативирован SIP на EFI разделе (для п.2)
  • Из-под макоси установлен rEFInd (так как последние сборки его включают в себя патч apple_set_os)
  • Установлен ArchLinux с bootctl (сначала запускается rEFInd, затем при выборе арча стартует bootctl запускающий Арч. От граба отказался по вышеописанной причине)
  • В Арче поставлен gpu-switch
  • Выполнена команда: # gpu-switch -i
  • Перезагрузка

Вопросы:
  • Что было сделано неправильно, лишнего или пропущено?
  • Как исправить ситуацию?
  • Можно ли решить проблему выставив в blacklist модули nvidia_drm, nvidia_modeset и nvidia?
  • Какая нужна дополнительная информация для правильных подсказок (например, выдача lsmod)?

Очень надеюсь на вас! Спасите мои пальцы от ожёгов :(

P.S.: Я готов на совсем радикальные меры, ибо в игры не играю и к hdmi (который работает через nVidia) ничего не подключаю. То есть невидия не нужна совсем.
Я не красноглазик, я фаерфоксик ^_^
https://wiki.archlinux.org/index.php/Hybrid_graphics#Fully_Power_Down_Discrete_GPU
Не сработало:
> $ sudo /usr/share/acpi_call/examples/turn_off_gpu.sh
Trying \_SB.PCI0.P0P1.VGA._OFF: failed
Trying \_SB.PCI0.P0P2.VGA._OFF: failed
Trying \_SB_.PCI0.OVGA.ATPX: failed
Trying \_SB_.PCI0.OVGA.XTPX: failed
Trying \_SB.PCI0.P0P3.PEGP._OFF: failed
Trying \_SB.PCI0.P0P2.PEGP._OFF: failed
Trying \_SB.PCI0.P0P1.PEGP._OFF: failed
Trying \_SB.PCI0.MXR0.MXM0._OFF: failed
Trying \_SB.PCI0.PEG1.GFX0._OFF: failed
Trying \_SB.PCI0.PEG0.GFX0.DOFF: failed
Trying \_SB.PCI0.PEG1.GFX0.DOFF: failed
Trying \_SB.PCI0.PEG0.PEGP._OFF: failed
Trying \_SB.PCI0.XVR0.Z01I.DGOF: failed
Trying \_SB.PCI0.PEGR.GFX0._OFF: failed
Trying \_SB.PCI0.PEG.VID._OFF: failed
Trying \_SB.PCI0.PEG0.VID._OFF: failed
Trying \_SB.PCI0.P0P2.DGPU._OFF: failed
Trying \_SB.PCI0.P0P4.DGPU.DOFF: failed
Trying \_SB.PCI0.IXVE.IGPU.DGOF: failed
Trying \_SB.PCI0.RP00.VGA._PS3: failed
Trying \_SB.PCI0.RP00.VGA.P3MO: failed
Trying \_SB.PCI0.GFX0.DSM._T_0: failed
Trying \_SB.PCI0.LPC.EC.PUBS._OFF: failed
Trying \_SB.PCI0.P0P2.NVID._OFF: failed
Trying \_SB.PCI0.P0P2.VGA.PX02: failed
Trying \_SB_.PCI0.PEGP.DGFX._OFF: failed
Trying \_SB_.PCI0.VGA.PX02: failed
Trying \_SB.PCI0.PEG0.PEGP.SGOF: failed
Trying \_SB.PCI0.AGP.VGA.PX02: failed
везде failed :(
Я не красноглазик, я фаерфоксик ^_^
А ядро какое? Попробуйте поставить acpi_call-git-dkms

P.S. чисто для себя, чем не устраивает osx?
Ядро 4.7.4-1. Официальное из core (мои скудные познания говорят, что dkms мне не подойдёт, но сейчас гляну)
Только что попробовал в блеклист добавить модули невидии. Система не стартанула (в смысле не отобразилась). Во время попыток восстановить обратно, загружаясь с установочника, случайно не тыкнулся в Alt (чтоб отобразить возможные девайсы загрузочные и с флехи загрузиться вместо рефайнда), попал в rEFInd, увидев в нём отображение флешки решил так и загрузиться. И при этом я заметил, что терминал яркостью буков не выжигает глаза как обычно. Подождал и убедился что ноут не греится. То есть оказалось, что при "правильной" загрузке из rEFInd система таки может детектиться как макось (благодаря патчу apple_set_os). Получается, что у меня просто косяк с загрузкой из рефайнда. Дело в том что мне не удалось его настроить так чтоб сразу подхватывал арч, пришлось bootctl установить от systemd. И видимо при этом оно (детект системы как эпловской) не срабатывает.

В общем, пошёл я курить вики про rEFInd. Но от советов/подсказок и про rEFInd не откажусь пока курю вики. Для меня эти загрузки немножко магия, особенно после перерыва в общении с Linux.

P.S.
чисто для себя, чем не устраивает osx?
Макось неустраивает почти всем. Первое впечатление (как и у всех наверно) очень допиленного интерфейса. Но потом оказывается, что почти всё неудобно и при этом прибито шпальными костылями насмерть, ничерта невозможно под себя настроить. Ладно хоть консоль юниксовую они убить не решились, в ней хоть zsh настроить почеловечески можно. Это единственное, что в макоси от UNIX осталось.
Про софт отдельная песня: в носу поковыряться невозможно не заплатив ннннадцать баксов, причём не эплу, а левым кому-то, банального функционала в файловом менеджере не хватает — покупай сторонний софт за вообще не понятные цены. И эти сторонние разработчики уже не знают что выдумать. В чат фронтендеров однажды припёрся человек свою софтину порекламировать: она svg-иконки в png конвертит, и стоит... 3,5$ О_о Штааааа? Мы столько боролись за вектор в вебе вместо растра, и тут нам за 3,5 зелёных втюхивают возврат назад в нулевые?
Извините, накипело :) В общем не по себе мне в этой золотой клетке.
Я не красноглазик, я фаерфоксик ^_^
Настроил я в конфиге рефайнда профиль арча для запуска. Теперь аж три запуска Арча на выбор. Один через systemd, один вообще хз через какое место, ну и один напрямую из рефайнда образ ядра запускает (ну я надеюсь, что у меня получилось так настроить).
Но эта зараза (невидия) и при прямом запуске Арча лезет со своей грелкой :(
Уже даже не знаю что куда копать.

Попробовал опять модули невидии вырубить через blacklist. Получил вообще непонятную странность: вообще ничего не мог стартонуть с отображением, ни установленный, ни с флешки, даже флешку с другим дистром нашёл — и он не смог графику запустить. Это исправилось только заходом в макось. После чего смог с установочника запуститься, закомментить блеклист и пересобрать ядро.

Как вообще такое возможно? Как блеклист модулей ядра одной из установленных осей может вырубить графику напрочь даже при запуске с флешки? И самое главное: почему же интеловская графика не фурычит, при том, что если из рефайнда флешку тыкнуть — то лайв-система может без дискретки работать? Значит что-то в установленной системе не так? Я драйвер xf86-video-intel установил, модуль i915 добавил в /etc/mkinitcpio.conf.
Я не красноглазик, я фаерфоксик ^_^
А вы вот так делали?
mkdir /boot/efi/EFI/custom
cp apple_set_os.efi /boot/efi/EFI/custom
rEFInd should automatically show a new icon for apple_set_os.efi.
Нет. Я воспользовался этой инструкцией (отсюда):
Recent versions of rEFInd have the "apple_set_os" hack built-in. You can enable it by setting the spoof_osx_version option in your refind.conf.
То есть раскомментировал опцию:
# Tell a Mac's EFI that OS X is about to be launched, even when it's not.
# This option causes some Macs to initialize their hardware differently than
# when a third-party OS is launched normally. In some cases (particularly on
# Macs with multiple video cards), using this option can cause hardware to
# work that would not otherwise work. On the other hand, using this option
# when it is not necessary can cause hardware (such as keyboards and mice) to
# become inaccessible. Therefore, you should not enable this option if your
# non-Apple OSes work correctly; enable it only if you have problems with
# some hardware devices. When needed, a value of "10.9" usually works, but
# you can experiment with other values. This feature has no effect on
# non-Apple computers.
# The default is inactive (no OS X spoofing is done).
#
spoof_osx_version 10.9
Это, как я понял, равнозначно копированию apple_set_os.efi в старые версии rEFInd (где этой опции скорее всего и нет даже).
Я не красноглазик, я фаерфоксик ^_^
Думал с интелом накосячил, почитал про него: вроде из-коробки должно работать. Добавил к i915 ещё и модуль intel_agp — ситуация не изменилась.
Я не красноглазик, я фаерфоксик ^_^
dmesg, lscpi, lsusb, Xorg.0.log ..................
 
Зарегистрироваться или войдите чтобы оставить сообщение.