LINUX.ORG.RU

Реверс-инжиниринг блобов AMD

 , , , ,


1

1

Возможно ли отреверсить AMD-шные блобы (на которых еще «свободный» radeon держится)? Нет ли в их видеокартах чего-нибудь такого, как у нвидии? Проверки подписи, например? Очень хочу написать свободную прошивку.


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

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

Ну в nouveau как-то чисто отреверсили же частично.

anonymous ()
Ответ на: комментарий от anonymous

nouveau был чисто свободный проект основанный на реверсе. Стек радеонововских драйверов это продукт компании АМД(в большей своей части) и они не очень захотят принимать в свой проект куски созданные реверсом.

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

Открытый код же, форкнуть и срать на корпорации же, вы же за это ратуете.

anonymous ()
Ответ на: комментарий от anonymous

форкнуть

Что именно форкать?

Хотя может я зря жуть навожу. Если фирмварь будет грузится теме же механизмами как и закрытая(без необходимости изменения кода драйвера) то думаю специально палки в колеса совать не должны.

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

В апстрим может и не примут, а вот в linux-libre принять могут

XShell ()

Ну оживи atombios.
Только не забывай, что внутри радеоновских видях сейчас реально IP с разной архитектурой (UVD, VCE, TrueAudio - это всё заказные программируемые ядра)

devl547 ★★★★★ ()
Ответ на: комментарий от Behem0th

Всё, что не принимает открытый код вместо блобов, как ты говоришь.

anonymous ()
Ответ на: комментарий от XShell

Вот про него то я и забыл.

P.S. Ты не подумай, я не отговариваю. Идею считаю стоящей.

Behem0th ★★★★★ ()
Последнее исправление: Behem0th (всего исправлений: 1)
Ответ на: комментарий от Behem0th

Нафига ядро? В ядре от драйвера амд несколько сишных файлов, а во вторых прошивка гпу загружается а не вкомпилена в ядро.

anonymous ()

В одной из новостей про nouveau было сказано, что написан генератор Firmware. Ещё до ввода подписей прошивок. Может у тебя получится сделать так для ATi/AMD?

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Про этот генератор

С лицензионной точки зрения там ЕМНИП была проблема. Сгенерированные прошивки нельзя было распростронять и пользователь если хотел использовать нуво, должен был самостоятельно сгененрировать себе фирмварь из блоба. Но толко ИМХО от этого ноль в результате всеравно получается не свободная фирмварь, а автор хочет написать свободную.

Для нуво писали открытые фирмвари реверсом.

Behem0th ★★★★★ ()

Очень хочу написать свободную прошивку.

ckotinko

shrub ★★★★★ ()

А профит-то в чём?

Алсо, лет 10 назад был проект по реверсу микрокода из оптеронов. Это куда более интересная идея, на мой взгляд.

hateyoufeel ★★★★★ ()
Ответ на: комментарий от Behem0th

Вот когда будешь в курсе вопроса — возвращайся.

anonymous ()
Ответ на: комментарий от Behem0th

Я на него уже отвечал в посте, в ответ на который ты это писал.

anonymous ()
Ответ на: комментарий от hateyoufeel

В моей первоапрельской новости про релиз Morrowind для Linux мне сказали, что запустить аппаратный OpenGL на Radeon можно тольоко на x86 и ARM. Для остальных архитектур CPU надо менять прошивку, а она бинарная. И никакая открытость драйвера не поможет, если не поменять прошивку.

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от hateyoufeel

Алсо, лет 10 назад был проект по реверсу микрокода из оптеронов.

Они собирались отреверсить AGESA? Ну что, удачи. Там гемора не меньше, чем в видяхах. Та же фигня - в процессоре IRL куча микроконтроллеров со
своими фирмварями.

Вот тут почитать можно:
https://libreboot.org/faq/#amd

devl547 ★★★★★ ()
Ответ на: комментарий от Behem0th

То, что тебе не нравится и нарушает твой мирок не равно чуши. Подумай на этим хорошенько.

anonymous ()
Ответ на: комментарий от anonymous

Причем тут мое отношение? Ты объективно пишешь ерунду.

Behem0th ★★★★★ ()
Ответ на: комментарий от Novell-ch

Время от времени даже правят баги и переписывают куски месы с учетом порядка байт. Но с каким драйвером работает карты в составе Loongson?

Вроде как r600 а там наличие фирмвари не так критично, это в radeonsi окончательно прибили гвоздями.

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

Давай мысль развивай, что помешает класть в дистрибутивы нормальный полностью открытый драйвер вместо полублоба?

anonymous ()
Ответ на: комментарий от devl547

Как страшно жить, вроде что то похожее в интеловских процессорах есть. То есть никуда не скрыться, кроме как оставаться на старом железе?

Behem0th ★★★★★ ()
Ответ на: комментарий от anonymous

Это какая то игра по типу «На колу мочало начинай с начала»?

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

Тот же вопрос. Правда от тебя осмысленных комментариев уже некоторое время не видно.

anonymous ()
Ответ на: комментарий от anonymous

Ладно с начала и по порядку.

Фирмварь грузит драйвер radeon(amdgpu если более новый) который находится в ядре. Если начнут вставлять палки в колеса(изменения в этих ядерных модулях) для загрузки открытой фирмвари, то придется форкать как ты предлагал. Форкать либо все ядро либо отдельно ядерный модуль. Ядерный модуль чуть больше чем «несколько сишных файлов».

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

Та часть что занимается загрузкой фирмвари может быть и одним файлом. Модуль ядра собирается отдельно от него и кладётся в /lib/modules/*/updates имеяя больший приоритет чем идущий с ядром. Но я конечно понимаю, так чешется пофлудить.

anonymous ()
Ответ на: комментарий от anonymous

Та часть что занимается загрузкой фирмвари может быть и одним файлом.

А может и не быть.

Модуль ядра собирается отдельно от него и кладётся в /lib/modules/*/updates имеяя больший приоритет чем идущий с ядром.

Собрать и положить не главная проблема. Поддерживать и сопровождать в актуальном состоянии намного сложнее задача, драйвер не стоит на месте а развивается и очень активно. Задача у форкующего будет намного сложнее чем собрать и положить.

Можно конечно как вариант просто развивать набор патчей на апстрим ядро со специфичными изменениями для загрузки открытой фирмвари. Как это делает например проект галлиум-найн для вина. Но ты предложил именно форк.

так чешется пофлудить.

Оно и видно.

Behem0th ★★★★★ ()
Последнее исправление: Behem0th (всего исправлений: 1)
Ответ на: комментарий от Behem0th

Но ты предложил

Придираться к словам конечно забавно, ещё попробуй к грамматике.

А может и не быть.

И гадать тоже всегда забавнее, чем открыть исходники.

anonymous ()
Ответ на: комментарий от anonymous

Придираться к

Какие придирки? Ты предложил форк, я сказал что форк не вариан и объяснил почему.

чем открыть исходники.

Какие исходники? Разговор про возможные изменнения которые могут быть внесены в код модуля, если ТС напишет открытую фирмварь и если АМД начнет вставлять палки в колеса. Слишком много если для то что бы прям сейчас взят исходники и посмотреть.

И гадать тоже всегда забавнее

А ты перечитай с чего начался разговор. С моих гаданий по поводу развития событий в которые я сам не особо верю.

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

Разговор был не про форк, а про драйвер. Мне не интересно каким образом его модифицировать.

anonymous ()
Ответ на: комментарий от anonymous

Разговор был не про форк,

https://www.linux.org.ru/forum/development/12679239?cid=12679271

Открытый код же, форкнуть и срать на корпорации же, вы же за это ратуете.

Процитирую тебя выше:

Но я конечно понимаю, так чешется пофлудить.

Behem0th ★★★★★ ()
Ответ на: комментарий от Behem0th

Придираться к словам конечно забавно, ещё попробуй к грамматике.

anonymous ()
Ответ на: комментарий от Behem0th

Не у меня фиксация на слове форк когда это не предмет разговора.

anonymous ()
Ответ на: комментарий от hateyoufeel

А, микрокод древнего K8.
Но по ссылке фигня какая-то. У них Proof of Concept на возможность залить туда свой код и всё. Это процента 2 всей работы. Сам код-то блобом идёт.

devl547 ★★★★★ ()
Ответ на: комментарий от devl547

А, микрокод древнего K8.

Дык, я же сказал что это лет 10 назад было.

У них Proof of Concept на возможность залить туда свой код и всё. Это процента 2 всей работы. Сам код-то блобом идёт.

Это первое что нагуглилось.. Про этих ребят ещё статья во Phrack была, там подробнее про сам микрокод было написано. Сейчас лень искать.

В любом случае, я к тому, что подобный проект был бы полезнее обществу чем реверс прошивки видеокарты.

UPD: нашёл тот номер Phrack (http://phrack.org/issues/64/12.html), там ссылка ведёт на мёртвый сайт. Печаль :(

hateyoufeel ★★★★★ ()
Последнее исправление: hateyoufeel (всего исправлений: 2)

А когда закончишь - AMD скажет что будут запускаться лишь подписанные блобы, как у невидии.

Но про китайские процы, которые далеко не x86/arm, как раз говорят что там есть AMD GPU. Такие вот дела.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от devl547

О, это же Марек. Он книжки писал про ассемблер под *nix, я по ним когда-то в универе учился.

hateyoufeel ★★★★★ ()

отреверсить-то можно, но зачем?

там из закрытых фич только поддержка GL, которую и так пилят(реверсить бесполезно), и видеообработка - т.е. код для UVD(открыт) + шейдеры+код улучшения видео.

вот последнее пожалуй они открывать не будут, но может так оказаться, что XvBA переведут на открытый драйвер.

ckotinko ☆☆☆ ()
Ответ на: комментарий от Behem0th

из реально торговых секретов там видеообработка в xvba.

а по фирмвари я думаю, они не отдадут доки но не потому что плохие дядьки, а потому что DMCA запрещает. плюс у них цифровую подпись гомосеки из RIAA и подобных им банд отзовут ибо засчитают «взлом защиты». В общем АМД не из вредности всё не открывает, инфа 100%

ckotinko ☆☆☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.