Недавно је објављена вест да предложена је прелиминарна имплементација дрм-асахи драјвера за серијске ГПУ-ове Аппле АГКС Г13 и Г14 који се користе у Аппле М1 и М2 чиповима на маилинг листи за програмере Линук кернела.
Контролер је написан на Русту плус, укључује скуп универзалних веза о ДРМ подсистему (Дирецт Рендеринг Манагер) који се може користити за развој других графичких драјвера у Русту.
Објављени сет закрпа до сада предложен је само за дискусију од стране основних програмера (РФЦ), али могу бити примљени у главни тим након што се преглед заврши и отклоне идентификовани недостаци.
Ово је моја прва верзија Руст апстракција за ДРМ подсистема. Укључује саме апстракције, неке мање промене предуслова на страни Ц, као и дрм-асахи ГПУ драјвер (за референцу о томе како се апстракције користе, али не нужно намеравали да заједно слете).
Ове закрпе су примењене на врху стабла у [1], који се заснива на 6.3-рц1 са доста урезивања за апстракцију/Руст подршку изнад. Већина њих нису предуслови за ДРМ апстракције. сами, али само од возача.
Од децембра контролор је укључен у пакет са језгром за Асахи Линук дистрибуцију и тестиран од стране корисника овог пројекта.
Драјвер се може користити на Линук дистрибуцијама за организовати графичко окружење у дАппле уређаји са СоЦ М1, М1 Про, М1 Мак, М1 Ултра и М2. Приликом развоја драјвера, покушано је не само да се повећа безбедност минимизирањем грешака при раду са меморијом у коду који се извршава на страни ЦПУ-а, већ и да се делимично заштити од проблема који настају приликом интеракције са фирмвером.
Нарочито драјвер обезбеђује одређена везивања за дељене меморијске структуре несигурно са сложеним низовима показивача који се користе у фирмверу за интеракцију са контролером. Предложени драјвер се користи заједно са асахи Меса драјвером, који пружа подршку за ОпенГЛ у корисничком простору и пролази тестирање компатибилности са ОпенГЛ ЕС 2. и скоро је спреман да подржи ОпенГЛ ЕС 3.0.
Истовремено, драјвер који ради на нивоу кернела је првобитно развијен са будућом подршком за Вулкан АПИ на уму, а програмски интерфејс за интеракцију са корисничким простором је дизајниран имајући на уму УАПИ који обезбеђује нови Интел Ксе драјвер.
Над Познати проблеми помињу се:
- Постојећа Руст интеграција тренутно не подржава изградњу апстракција као модула, тако да су Руст апстракције доступне само за уграђене ДРМ компоненте.
- ДРМ се у великој мери ослања на образац „подкласирања“ за објекте контролера, а ово не одговара Руст-у.
- Тренутно је имплементирано само оно што је неопходно за контролер (плус мала количина
очигледни додаци где бољи интегритет АПИ-ја има смисла). - дрм::мм на крају захтева мутекс уграђен у апстракцију
да то делегира кориснику са уобичајеним Руст правилима променљивости.
То је зато што чворови могу бити одбачени у било ком тренутку и те операције
треба да буде синхронизован. - На страни Меса тренутно имате Галлиум драјвер који је углавном већ узводно (УАПИ битови углавном недостају) и
пролази дЕКП ГЛЕС2/ЕГЛ тестове, при чему већина ГЛЕС3.0 пролази
Узводне гране радова у току. Ово је обрнути инжењеринг покретача заједнице, тако да се помиње да у овом аспекту има још много тога да се уради.
коначно ако јеси заинтересовани да сазнају више о томе, детаље можете погледати у следећи линк.