Известно, что большинство драйверов GPU в процессорах Arm имеют закрытый исходный код, что затрудняет и требует много времени для исправления некоторых ошибок, так как приходится полагаться на поставщика кремния, чтобы исправить их, однако, они могут даже решить, что эта конкретная ошибка не важна, так что вам не повезет.
Итак, сообщество разработчиков уже давно пытается перепроектировать драйверы графических процессоров с помощью таких проектов, как Freedreno (Qualcomm Adreno), Etnaviv (Vivante), а также Lima и Panfrost для графических процессоров Arm Mali. Несколько лет назад руководство Arm не было заинтересовано в сотрудничестве и разработке драйверов GPU с открытым исходным кодом для графических процессоров Mali, но, как отметила Phoronix, Алиса Розенцвейг, инженер по графическому программному обеспечению, нанятая Collabora, во время выступления на ежегодной конференции разработчиков X.Org (XDC 2020), объяснила, что разработка Panfrost теперь осуществляется в партнерстве с Arm.
Недавно свершившееся слияние подтверждает этот шаг. Дэниел Стоун, руководитель отдела графики в Collabora, так комментирует это:
Повторю свой ответ, данный ранее – на основе информации и поддержки со стороны Arm, теперь он более точно описывает фактический ISA и соответствует фактическим используемым формам и номенклатуре.
CNX Software связалась с Collabora для получения дополнительной информации о партнерстве, и хотя они не стали комментировать, получают ли они также финансовую поддержку от Arm для разработки, ответ Дэниела выглядит многообещающим:
… Collabora и сообщество Panfrost разработали перепроектированный драйвер для графических процессоров Mali поколения Midgard и Bifrost в качестве почти полностью независимой самофинансируемой инициативы. Мы очень гордимся этой работой и тем фактом, что она отличается высокой производительностью, хорошим уровнем функциональности и высоким уровнем соответствия спецификациям.
Однако обратное проектирование обязательно сопряжено с накладными расходами, поскольку нам нужно потратить время на выяснение того, как на самом деле работает оборудование, включая наиболее оптимальный способ выполнения различных операций и определенные особенности оборудования.
Arm теперь работает вместе с Collabora, чтобы предоставить нам информацию и документацию, которая позволяет нам и сообществу разобраться в оборудовании. Эта информация позволяет нам сосредоточиться на наилучшем возможном драйвере, не тратя время и догадки на обратный инжиниринг. Collabora продолжает наши усилия, чтобы Panfrost работал со всеми устройствами этих поколений в направлении максимальной производительности, полного соответствия спецификациям и максимально возможного набора функций. Хотя мы уже делаем это, поддержка Arm позволяет нам ускорить эту работу и предоставить лучший драйвер с обязательством долгосрочной поддержки.
Это означает, что стабильный драйвер Panfrost следует ожидать гораздо раньше и, возможно, с более высоким качеством, чем если бы компании все еще приходилось тратить время и ресурсы на обратное проектирование.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.