NVIDIA пуска драйвери с аромат на откритост

Тази година вече видяхме значителни течове на изходен код на NVIDIA, и пускане на драйвери с отворен код за NVIDIA Tegra. Изглежда NVIDIA реши да го усили и току-що пусна модули на ядрото на GPU с отворен код за Linux. В Връзка към GitHub на име open-gpu-kernel-modules хората се радват, а ние вече тестваме кода, създаваме мемове и спекулираме за бъдещето. Понастоящем се твърди, че този драйвер е експериментален, само “готов за производство” за карти за центрове за данни – но вече можете да го изпробвате!

Разбира се, има нюанс. Това е нов код и не е свързан с добре познатия патентован драйвер. Той ще работи само на карти, започващи от серията RTX 2000 и Quadro RTX (известна още като Turing и нататък). Добрата новина е, че представянето е сравним с драйвера със затворен код, дори в този момент! Характеристика на този проект – вместо това голяма част от функциите, които драйверите на AMD и Intel внедряват в ядрото на Linux, са осигурено от двоичен blob от вътрешността на GPU. Това петно ​​работи на GSP, което е RISC-V ядро, което е достъпно само на Turing GPU и по-млади – оттук и ограничението на серията. Сега всеки графичен процесор зарежда част от фърмуера, но този е як!

Като изключим това, този драйвер вече осигурява по-последователна интеграция в ядрото на Linux, с огромни предимства, които само ще се увеличават занапред. Все още не всичко е отворено – библиотеките на потребителското пространство на NVIDIA и драйверите на OpenGL, Vulkan, OpenCL и CUDA остават затворени засега. Същото важи и за стария патентован драйвер на NVIDIA, който, предполагам, ще бъде оставен да изгние, тъй като „оставянето да изгние“ е това, което този драйвер преди е правил на поколения стари, но перфектно използваеми карти.

Покачването на този драйвер със сигурност ще бъде огромно усилие, но това определено е целта, а ползите също ще бъдат значителни. Дори такъв, какъвто е, този драйвер има много по-голям потенциал. Не за разлика от британския полицай, ядрото на Linux проверява лиценза на всеки модул на ядрото, което зарежда, и ограничава API-тата, които може да използва, ако не е GPL-лицензиран – което предишният драйвер на NVIDIA не беше, тъй като неговите отворени части по същество бяха тънък слой между ядрото и двоичните драйвери и по този начин не подлежи на GPL-лицензиране. Защото този драйвер е лицензиран за MIT / GPL, те вече имат по-голям набор от интерфейси на свое разположение и биха могли да го интегрират по-добре в екосистемата на Linux, вместо да имат набор от собствени инструменти.

Сега с 65% повече водач на шофьор!

Възможностите за отстраняване на грешки, сигурността и цялостния потенциал за интеграция трябва да се подобрят. В допълнение към това се откриват множество нови възможности. Като начало определено отваря вратата за пренасяне на драйвера към други операционни системи като FreeBSD и OpenBSD, и може дори да помогне за безплатните компютри. Поддръжката на NVIDIA GPU на ARM ще стане по-лесна в бъдеще и можем да видим още готини усилия да се възползваме от това, с което графичните процесори ни помагат, когато са сдвоени с ARM SBC, от вълнуващи видеоигри до мощно машинно обучение. Изданието на Red Hat казва, че има още неща, които предстоят по отношение на правилното интегриране на продуктите на NVIDIA в екосистемата на Linux, без камък на камък.

Като цяло ще видите, че всички приветстват това по основателни причини. Традицията е, че ние празнуваме такива радикални ходове, дори и несъвършени, от големите компании – и с право, предвид предимствата, които току-що изброих, и бъдещия потенциал. Тъй като виждаме повече подобни ходове от големи играчи, ще имаме много неща, на които да се радваме, а безброй проблеми ще останат в миналото. Въпреки това, когато става въпрос за откритост за това, което ценим, ситуацията става някак странна и трудно да се справим.

Отвореността ни помага да добавяме функции, от които се нуждаем, да коригираме проблемите, които срещаме, да научаваме нови неща от работата на другите и да изследваме границите, докато взаимодействаме с технологиите, които определят все повече и повече от живота ни. Ако трябва да се вярва на цялата вълнуваща научна фантастика, която четем като деца, наистина е предназначено да работим в тандем с технологиите. Този драйвер в много отношения не е от вида откритост, който помага на нашия хардуер да ни помогне, но със сигурност поставя отметки в много квадратчета за това, което възприемаме като „отворено“. Как стигнахме до тук?

Добре известно е, че отварянето на всяка една част от кода не е това, което правят големите компании – трябва да скриете някъде DRM битовете и нарушенията на патентите. Тук голяма част от кода, който се намираше в собствения драйвер, сега вместо това работи на различен процесор и е също толкова непрозрачен, както преди. Никой драйвер не разчита толкова на двоичен blob код, колкото този, и въпреки това само полуирония, не е толкова далеч от мястото, където е може технически да получи RYF-сертифициране. Просто неприятните двоични петна вече са „фърмуер“ вместо „софтуер“.

Снимка на Thinkpad X200 на бюро, дисплей, показващ GRUB меню, което има сладка снимка на талисмана на GNU на заден план
Нещо не е наред, ако това се счита за по-отворено от Novena

RYF (Уважава вашата свобода) сертифициране от Фондация за свободен софтуер, макар и добронамерено, напоследък изтеглена топлина за това, че е контрапродуктивен за целите си и прави хардуер по-сложно без нужда, и дори ръководителят на проекта Libreboot казва, че неговите принципи оставете да се желае. Ние имплицитно приемаме RYF сертифицирането като насока за откритост, към която да се стремим, но Лаптопът Novena избра да не се придържа към него и със сигурност е по-добре. Имаме много да научим от RYF и това е съвсем ясно имаме нужда от повече помощ.

Оттук нататък – какво приемаме като „отворено“? И кой може да ни помогне да следим какво е „отворено“ – по-конкретно вида откритост, който ни движи към един по-утопичен, но същевременно реалистичен свят, в който отношенията ни с технологиите са здрави и любящи? Някои насоки и принципи ни помагат да проверим дали вървим по правилния път – и светът се промени достатъчно, че старите идеи не винаги са приложими, както при вратичката в софтуера, хостван в облак това се оказва трудно за разрешаване.

Но все пак много повече код току-що беше отворен и това е победа на някои фронтове. В същото време няма да стигнем там, където искаме да бъдем, ако други компании решат да се придържат към този пример, а като хакери, ние няма да постигнем много от революционните неща, които ще видите, че достигаме с инструменти с отворен код в нашите ръце. И ако не проявим предпазливост, може да объркаме това с вида откритост, от която всички идваме тук, за да се поучим. Така че това е смесена чанта.

Както споменахме, този драйвер е за серия 2000 RTX и по-нататък. Старите карти все още са ограничени или до собствения драйвер, или до Nouveau – който има история на пречупване от NVIDIA. Пример: през последните години NVIDIA го направи повторно внедрени жизненоважни функции като управление на часовника по начин, достъпен само чрез a подписана подложка на фърмуера със затворен API, която е трудна за обратно инженерство, и оттогава не сътрудничи – което е така навреди на проекта Nouveau без да се вижда лек. За разлика от подпомагането на AMD за основен код на картите, пуснати преди да изпадне отвореният им драйвер, този проблем остава.

Оттук обаче Nouveau ще живее. Отчасти той все още ще може да се използва за по-стари карти, които не отиват никъде, и отчасти изглежда, че може да помогне за замяната на гореспоменатите библиотеки на потребителското пространство, които остават със затворен код. В официална страница за издаване на NVIDIA казва, че не е невъзможно усилията на Nouveau и усилията за отворен драйвер на NVIDIA да бъдат обединени в едно, победа за всички, дори и малко горчиво.

Поради недостиг, така или иначе може да не получите графичен процесор, на който да стартирате този драйвер. Въпреки това ще се възстановим от недостига и манията, предизвикана от копаене, а цените ще паднат до точката, в която нашите системи ще работят по-добре – може би не вашия лаптоп, оборудван с MX150, но със сигурност много мощни системи, които тепърва ще имаме изграждане NVIDIA все още не е мястото на AMD и Intel, но те стигат до там.

[Tux penguin image © Larry Ewing, coincidentally remixed using GIMP.]

Leave a Comment