Мне показалось также, но здесь можно понять автора, я поискал по всем magic numbers — результаты нулевые. Те что есть, обычно ссылаются на GMABooster под Mac (там он спалился открытым прокидыванием параметров). Т.е. это его личные наработки, скорее всего. А отсюда уже желание получить хоть какой-то feedback. В итоге я себя даже как-то не уютно чувствую.
Тут глупо было затирать копирайт, всего лишь использование стороннего бесплатного и открытого модуля для выполнения своих задач. Можно было оставить все как есть, нарушения лицензии не было изначально.
Вероятнее всего — да, нужен специалист, который сможет понять что/куда и как, либо ждать реализации от автора GMABooster'a. Надеюсь, что моя статья не заставит его прекратить работу над проектом и повлияет только хорошим образом на развитие.
Теперь осталось найти magic number для x4500
Думаю что автор программы не смог таким образом погнать видео отличное от 900 и 950, а каминг сун для новых видеокарт — просто способ вышибать деньги на разработку. Вон, даже на хабре все хотели скинуться и подогнать ему ноут.
Печально.
для линукса инструкции верны, долгое время использовал на hp 2140. Так же в свое время мне кто-то показал что вместо GMABooster можно использовать дефолтный setpci :)
Это решение (которое само собой совпало с моим) — и есть перехвачанный вызов reggie_se со стороны GMABooster'a, сделанный тупо в лоб обоими сторонами. Далее автор поясняет, что под Mac reggie_se стоит вызывать с плавающим параметром девайса, предварительно получив его. Иначе действия могут применяться куда угодно, но не к адаптеру, вот его и рекомендуется использовать.
А можно и в DSDT сразу подправить (а при желании потом и в BIOS прошить):
Для устройства GFX0 (у кого-то может быть другое имя, важно что бы было _ADR = 0x00020000) добавляем OperationRegion типа PCI_Config с адресом 0xF0 и длинной 0x04:
OperationRegion (BOST, PCI_Config, 0xF0, 0x04)
объявляем одно поле:
Field (BOST, DWordAcc, NoLock, Preserve)
{
FREQ, 32
}
насчет длинны 32 бита не уверен, возможно нужно будет сделать 2 по 16.
Добавляем метод _INI в устройство GFX0:
Method (_INI, 0, NotSerialized)
{
Store (0x34646000, FREQ)
Sleep (0x01)
Store (0x34640533, FREQ)
}
Для того, что бы после просыпания не слетал разгон, добавим (на всякий случай, не уверен, что _INI вызывается при просыпании) вызом этого метода в _WAK:
GMABooster? Разгоняем?