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

Ага, уже руки чешутся, вот только бекап Арча делать не хочу.

Но всё-таки, куда же надо монтировать efi-раздел? В этом случае в примере /boot. А в следующем — в /boot/efi. Ведь от этого зависит, в какой директории окажутся изначальные файлы efi-раздела, и наоборот — в какую директорию изначального efi-раздела будут прописываться файлы новой оси при его монтировании. Как это может зависить от того, будет ли арч единственной осью или нет?

Тот вопрос интересен, но в данной ситуации не критичен. А критичен следующий:
Куда мне его монтировать (при установке арча, то есть с учётом /mnt) этот раздел, если макось должна остаться и отдельного раздела для /boot в арче я не хочу?
Я не красноглазик, я фаерфоксик ^_^
Зависит от используемого способа загрузки.
для grub монтировать в /boot/efi
при прямой загрузке ядра в /boot
Lupus pilum mutat, non mentem.
Загрузка через rEFInd. Я не умею Grub патчить. Если бы не эта проблема с дискреткой, вообще бы не парился, использовал бы systemd-загрузчик.
Я не красноглазик, я фаерфоксик ^_^
Попробуй еще это:
https://aur.archlinux.org/packages/apple_set_os/
https://github.com/0xbb/apple_set_os.efi
https://aur.archlinux.org/packages/linux-macbook/
слушай, а если тебе не бороться с выключением Нвидия-карты а занизить в ней частоту? например ставишь нормальный драйвер на неё (последний доступный) и потом через Nvidia-Settings выставляешь режим PowerSave или что нибудь подобное через терминал
Снова здравствуйте! Продолжение эпопеи.

Я таки переустановил всё с нуля. И теперь всё правильно примонтировано и установлено. И даже теперь графика работает через Intel. Но остались некоторые проблемы с nVidia. Долго пытался сам понять что делать, но не смог. Сам смог победить сумасшедшего kworker (он разгонял одно из ядер проца до 100%).

Дело в том, что даже при работе графики через Intel, nVidia не отключается от питания, и продолжает жрать энергию и греться (уже не так жутко, как в тот раз, но всё равно — до первой гифки в браузере, которая становится последней каплей и кулеры врубаются).
Next, gpu-switch will not completely power down the dedicated card. To do that, you will have to create a custom grub menuentry and compile a program that will power off the dedicated card.
To do that, please refer to the following article, MacBookPro10,x#Graphics_2.
Далее по ссылке, как я понял мне нужно скомпилировать этот код:
#include <stdio.h>
#include <sys/io.h>

#define GMUX_PORT_SWITCH_DISPLAY	0x10
#define GMUX_PORT_SWITCH_DDC		0x28
#define GMUX_PORT_SWITCH_EXTERNAL	0x40
#define GMUX_PORT_DISCRETE_POWER	0x50
#define GMUX_PORT_VALUE			0xc2
#define GMUX_PORT_READ			0xd0
#define GMUX_PORT_WRITE			0xd4

#define GMUX_IOSTART		0x700

typedef unsigned char u8;

enum discrete_state {STATE_ON, STATE_OFF};
enum gpu_id {IGD, DIS};

static void index_write8(int port, u8 val)
{
	outb(val, GMUX_IOSTART + GMUX_PORT_VALUE);
	outb((port & 0xff), GMUX_IOSTART + GMUX_PORT_WRITE);
}

static u8 index_read8(int port)
{
	u8 val;
	outb((port & 0xff), GMUX_IOSTART + GMUX_PORT_READ);
	val = inb(GMUX_IOSTART + GMUX_PORT_VALUE);

	return val;
}

static void set_discrete_state(enum discrete_state state)
{
	if (state == STATE_ON) {	// switch on dGPU
		index_write8(GMUX_PORT_DISCRETE_POWER, 1);
		index_write8(GMUX_PORT_DISCRETE_POWER, 3);
	} else {			// switch off dGPU
		index_write8(GMUX_PORT_DISCRETE_POWER, 1);
		index_write8(GMUX_PORT_DISCRETE_POWER, 0);
	}
}

static u8 get_discrete_state()
{
	return index_read8(GMUX_PORT_DISCRETE_POWER);
}

static void switchto(enum gpu_id id)
{
	if (id == IGD) {	// switch to iGPU
		index_write8(GMUX_PORT_SWITCH_DDC, 1);
		index_write8(GMUX_PORT_SWITCH_DISPLAY, 2);
		index_write8(GMUX_PORT_SWITCH_EXTERNAL, 2);
	} else {		// switch to dGPU
		index_write8(GMUX_PORT_SWITCH_DDC, 2);
		index_write8(GMUX_PORT_SWITCH_DISPLAY, 3);
		index_write8(GMUX_PORT_SWITCH_EXTERNAL, 3);
	}
}

int main(int argc, char **argv)
{
	if (iopl(3) < 0) {
		perror("No IO permissions");
		return 1;
	}

	//switchto(IGD);
	set_discrete_state(STATE_OFF);
	//printf("Discrete state: 0x%X\n", get_discrete_state());

	return 0;
}
Вот с этим засада, ибо до этого компиляцию видел только из далека, в смысле через йогурт, где уже всё в PKGBUILD настроено. Несколько раз сморел в сторону ABS (правда давно) — так и не вкурил, как с ним подружиться.

Может что подскажете, куда копать, что изучить? Или может готовое что есть?
Я не красноглазик, я фаерфоксик ^_^
Вторая проблема — это не работающий регулятор подсветки экрана. Показывается регулировка (от плазмы), в настройках (уже не помню где, что-то совсем низкоуровеневое смотрел) значения меняются, но изменений никаких вплоть до нулевого значения — при нуле подсветка из яркой сразу в ноль вырубается. Ставил xbacklight, и менял через
xbacklight -set 50
То же самое — значение меняется, но экран продолжает выжигать глаза.
Дальше я пока решил эту проблему не ковырять, ибо что-то мне подсказывает, что она может быть связана с невырубленой невидией. Надо сначала с ней разобраться, вырубить окончательно, потом уже (может даже в другой теме) подсветку поковыряем, если само не решится.
Я не красноглазик, я фаерфоксик ^_^
firefoxic
Я таки переустановил всё с нуля. И теперь всё правильно примонтировано и установлено. И даже теперь графика работает через Intel. Но остались некоторые проблемы с nVidia. Долго пытался сам понять что делать, но не смог. Сам смог победить сумасшедшего kworker (он разгонял одно из ядер проца до 100%).

firefoxic
Дальше я пока решил эту проблему не ковырять, ибо что-то мне подсказывает, что она может быть связана с невырубленой невидией.
Мне кажется, что без участия разработчика девайса не разобраться, и надо "нехилыхохих" познаний в C и C++
Классно когда разработчик забивает, такое впечатление, что ему деньги не платили. Но спрос все разрешил..............
Обязательно знать C и C++? Там же вроде написано просто скомпилировать.

Разработчик не забивает. Он сделал как для его софта удобно. В Эпле не расчитывают на то, что будут другие оси ставить. Даже странно, что у них такая хрень завелась как BootCamp (для удобной установки винды).

Ладно, буду ковырять компиляторы.
Я не красноглазик, я фаерфоксик ^_^
Попробуй настроить bumblebee на ноутбуке. По крайней мере, с bumblebee видеокарта не будет работать, пока не прикажешь.
 
Зарегистрироваться или войдите чтобы оставить сообщение.