{"id":138420,"date":"2025-06-28T17:11:58","date_gmt":"2025-06-28T15:11:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/predstavlen-tyr-linux-drajver-dlya-gpu-arm-mali-napisannyj-na-rust"},"modified":"2025-06-28T17:11:58","modified_gmt":"2025-06-28T15:11:58","slug":"predstavlen-tyr-linux-drajver-dlya-gpu-arm-mali-napisannyj-na-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/predstavlen-tyr-linux-drajver-dlya-gpu-arm-mali-napisannyj-na-rust","title":{"rendered":"Apresentado Tyr, um driver Linux para GPU ARM Mali, escrito em Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Daniel Almeida, que trabalha no desenvolvimento de codecs de v\u00eddeo na Collabora, publicou na lista de discuss\u00e3o dos desenvolvedores do kernel Linux uma implementa\u00e7\u00e3o inicial do driver Tyr para GPUs ARM Mali, que utilizam a tecnologia CSF (Command Stream Frontend), como Mali G310, G510 e G710. O c\u00f3digo do driver \u00e9 escrito em Rust e cont\u00e9m pouco mais de 600 linhas. O desenvolvimento do driver Tyr est\u00e1 sendo feito em colabora\u00e7\u00e3o com funcion\u00e1rios da Collabora, Arm e Google.        <\/p>\n<p>Como base para criar o novo driver, foram utilizados componentes do driver abstrato rust_platform_driver e do driver Nova, desenvolvido para GPUs NVIDIA, escrito em Rust e parcialmente adicionado ao kernel 6.15. A funcionalidade para intera\u00e7\u00e3o com GPUs Mali foi portado do driver DRM existente Panthor (Direct Rendering Manager), escrito em C. O uAPI do driver Tyr \u00e9 id\u00eantico ao uAPI do driver Panthor, permitindo que componentes de espa\u00e7o do usu\u00e1rio existentes sejam utilizados com ele.       <\/p>\n<p>A tecnologia CSF, utilizada a partir da 10\u00aa gera\u00e7\u00e3o das GPUs Mali, \u00e9 not\u00e1vel pela remo\u00e7\u00e3o de certas fun\u00e7\u00f5es do driver para a firmware e pelo envolvimento de um novo modelo de organiza\u00e7\u00e3o de execu\u00e7\u00e3o de trabalho na GPU. Nas GPUs com interface CSF, em vez do modelo baseado em cadeia de trabalhos, utiliza-se um modelo baseado em fluxo de comandos com agendamento dos fluxos na firmware. Para organizar o trabalho do planejador na GPU, foi incorporado um microcontrolador Cortex-M7 separado, e uma unidade especial de execu\u00e7\u00e3o de comandos (Command Execution Unit) foi projetada para executar as instru\u00e7\u00f5es CSF.     <\/p>\n<p>A funcionalidade do Tyr ainda est\u00e1 atr\u00e1s do driver Panthor, mas os desenvolvedores t\u00eam a inten\u00e7\u00e3o de reduzir gradualmente essa diferen\u00e7a at\u00e9 que um equil\u00edbrio nas capacidades dos drivers seja alcan\u00e7ado. As funcionalidades faltantes exigem a integra\u00e7\u00e3o de abstra\u00e7\u00f5es adicionais no kernel para a cria\u00e7\u00e3o de drivers em Rust, portanto, o desenvolvimento do driver Tyr ser\u00e1 sincronizado com a adi\u00e7\u00e3o dessas abstra\u00e7\u00f5es ao kernel. Por exemplo, no kernel ainda n\u00e3o existem capacidades para mapeamento de mem\u00f3ria em drivers Rust para GPUs, que est\u00e3o sendo desenvolvidas em um conjunto de patches GPUVM ainda n\u00e3o aceito.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63490\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u044d\u043d\u0438\u0435\u043b \u0410\u043b\u043c\u0435\u0439\u0434\u0430 (Daniel Almeida), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u0432\u0438\u0434\u0435\u043e\u043a\u043e\u0434\u0435\u043a\u043e\u0432 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Collabora, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Linux-\u044f\u0434\u0440\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 Tyr \u0434\u043b\u044f GPU ARM Mali, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f CSF (\u0421ommand Stream Frontend), \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a Mali G310, G510 \u0438 G710. \u041a\u043e\u0434 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 600 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430. \u0420\u0430\u0431\u043e\u0442\u0430 \u043d\u0430\u0434 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-138420","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u044d\u043d\u0438\u0435\u043b \u0410\u043b\u043c\u0435\u0439\u0434\u0430 (Daniel Almeida), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u0432\u0438\u0434\u0435\u043e\u043a\u043e\u0434\u0435\u043a\u043e\u0432 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Collabora, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Linux-\u044f\u0434\u0440\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 Tyr \u0434\u043b\u044f GPU ARM Mali, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/predstavlen-tyr-linux-drajver-dlya-gpu-arm-mali-napisannyj-na-rust\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d Tyr, Linux-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u043b\u044f GPU ARM Mali, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u044d\u043d\u0438\u0435\u043b \u0410\u043b\u043c\u0435\u0439\u0434\u0430 (Daniel Almeida), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u0432\u0438\u0434\u0435\u043e\u043a\u043e\u0434\u0435\u043a\u043e\u0432 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Collabora, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Linux-\u044f\u0434\u0440\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 Tyr \u0434\u043b\u044f GPU ARM Mali, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/predstavlen-tyr-linux-drajver-dlya-gpu-arm-mali-napisannyj-na-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-06-28T15:11:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-06-28T15:11:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Foi apresentado o Tyr, um driver Linux para GPUs ARM Mali, escrito em Rust | ProHoster","description":"Daniel Almeida, que trabalha no desenvolvimento de codecs de v\u00eddeo na Collabora, publicou na lista de discuss\u00e3o dos desenvolvedores do kernel Linux uma implementa\u00e7\u00e3o inicial do driver Tyr para GPUs ARM Mali.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/predstavlen-tyr-linux-drajver-dlya-gpu-arm-mali-napisannyj-na-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d Tyr, Linux-\u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u043b\u044f GPU ARM Mali, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Rust | ProHoster","og:description":"\u0414\u044d\u043d\u0438\u0435\u043b \u0410\u043b\u043c\u0435\u0439\u0434\u0430 (Daniel Almeida), \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u0432\u0438\u0434\u0435\u043e\u043a\u043e\u0434\u0435\u043a\u043e\u0432 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Collabora, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Linux-\u044f\u0434\u0440\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 Tyr \u0434\u043b\u044f GPU ARM Mali, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/predstavlen-tyr-linux-drajver-dlya-gpu-arm-mali-napisannyj-na-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-06-28T15:11:58+00:00","article:modified_time":"2025-06-28T15:11:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"138420","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 13:34:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 13:34:19","updated":"2026-01-23 13:34:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/138420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=138420"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/138420\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=138420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=138420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=138420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}