The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен Tyr, Linux-драйвер для GPU ARM Mali, написанный на Rust

28.06.2025 14:37

Дэниел Алмейда (Daniel Almeida), занимающийся развитием видеокодеков в компании Collabora, опубликовал в списке рассылки разработчиков Linux-ядра начальную реализацию драйвера Tyr для GPU ARM Mali, в которых применяется технология CSF (Сommand Stream Frontend), таких как Mali G310, G510 и G710. Код драйвера написан на языке Rust и насчитывает чуть больше 600 строк кода. Работа над драйвером Tyr ведётся совместно сотрудниками компаний Collabora, Arm и Google.

В качестве каркаса для создания нового драйвера использованы компоненты абстрактного драйвера rust_platform_driver и драйвера Nova, развиваемого для GPU NVIDIA, написанного на Rust и частично добавленного в ядро 6.15. Функциональность для взаимодействия с GPU Mali портирована из существующего DRM-драйвера Panthor (Direct Rendering Manager), написанного на языке Си. uAPI драйвера Tyr идентичен uAPI драйвера Panthor, что позволяет использовать с ним уже существующие компоненты пространства пользователя.

Технология CSF, применяемая начиная с 10 поколения GPU Mali, примечательна выносом на сторону прошивки некоторых функций драйвера и задействованием новой модели организации выполнения работ на GPU. В GPU с интерфейсом CSF вместо модели на основе отправки цепочки работ применяется модель на основе потока команд с планированием очереди потока команд на стороне прошивки. Для организации работы планировщика в GPU встроен отдельный микроконтроллер Cortex-M7, а для выполнения инструкций CSF предусмотрен специальный блок выполнения команд (Command Execution Unit).

Функциональность Tyr пока отстаёт от драйвера Panthor, но разработчики намерены постепенно сокращать разрыв до тех пор пока не будет достигнут паритет в возможностях драйверов. Недостающие функции требуют интеграции в ядро дополнительных абстракций для создания драйверов на Rust, поэтому развитие драйвера Tyr будет синхронизировано с добавлением в ядро данных абстракций. Например, в ядре пока отсутствуют возможности для маппинга памяти в Rust-драйверах для GPU, развиваемые в ещё не принятом наборе патчей GPUVM.

  1. Главная ссылка к новости (https://lkml.org/lkml/2025/6/2...)
  2. OpenNews: Код поддержки кодека VP9 в V4L2 для чипов Hantro и Rockchip переписан на Rust
  3. OpenNews: Для ядра Linux 6.15 предложен начальный код драйвера Nova, написанный на Rust
  4. OpenNews: Red Hat представил Nova, драйвер для GPU NVIDIA, написанный на языке Rust
  5. OpenNews: В драйвере Panthor для GPU Mali G610 обеспечена совместимость с OpenGL ES 3.1
  6. OpenNews: В драйвер PanVK добавлена поддержка Vulkan 1.1. Улучшен OpenGL-драйвер Panfrost
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63490-tyr
Ключевые слова: tyr, panfrost, mali, arm, rust, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (67) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Кошкажена (?), 14:59, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    600 строк кода, а шуму то...
     
     
  • 2.5, Вандер (?), 15:01, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это 600 строк правильного кода, а не всякого там не правильного
     
     
  • 3.7, Кошкажена (?), 15:03, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    unsafe на месте
     
     
  • 4.11, Аноним (-), 15:10, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > unsafe на месте

    Целых три ансефа на все изменения.
    lore.kernel.org/dri-devel/20250627-tyr-v1-1-cb5f4c6ced46@collabora.com/

    Ну и понятно почему
    // This type is the same type exposed by Panthor's uAPI. As it's declared as
    // #repr(C), we can be sure that the layout is the same.

    Это же понятно, что везде, где придется взаимодействовать с богомерзкой, придется добавлять unsafe

     
     
  • 5.13, Аноним (13), 15:20, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Целых три ансефа на все изменения.

    Либы посчитай. Не-unsafe кода там в принципе нет.

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

     
     
  • 6.16, Аноним (13), 15:24, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А с учётом этого(https://github.com/Speykious/cve-rs) не-unsafe даже в мечтах не возможен.
     
     
  • 7.20, Аноним (-), 15:38, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А с учётом этого(https://github.com/Speykious/cve-rs) не-unsafe даже в мечтах не возможен.

    Уже давно исправлено, смени методичку.
    github.com/Speykious/cve-rs/issues/3

     
     
  • 8.22, Аноним (13), 15:47, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не исправлено Этого нет в языке, а заявляется безопасность языка, а не левой по... текст свёрнут, показать
     
     
  • 9.49, Аноним (49), 17:20, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https doc rust-lang org cargo commands cargo-miri html https github com rust... текст свёрнут, показать
     
     
  • 10.51, Аноним (13), 17:26, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кекспертиза изо всех щелей ... текст свёрнут, показать
     
     
  • 11.54, Аноним (49), 17:52, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кекспертушка, ты же осознаешь, что на самом деле -- ссылался на баг в компилятор... большой текст свёрнут, показать
     
     
  • 12.60, Аноним (13), 18:19, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 13.65, Аноним (49), 18:37, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 14.66, Аноним (13), 18:48, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
     
  • 15.67, morphe (?), 19:01, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 16.73, Аноним (13), 19:36, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 15.70, Аноним (49), 19:27, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 16.74, Аноним (13), 19:49, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 11.58, morphe (?), 18:11, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще говоря это есть в языке Не в стандарте правда, потому что стандарта нет,... большой текст свёрнут, показать
     
  • 7.21, Аноним (49), 15:41, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А с учётом этого(https://github.com/Speykious/cve-rs) не-unsafe даже в мечтах не возможен.

    Как хорошо, что ты зашел почти сразу с козырей и показал свою "квалификацию" :)
    Т.е. можно смело игнорить очередные, гневные "разоблачения" очередного, опеннетного кексперта.

     
     
  • 8.25, Аноним (13), 15:49, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как хорошо, что тебе с первого же тейка нечего ответить и ты показал свою квали... текст свёрнут, показать
     
     
  • 9.27, Аноним (49), 16:00, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не, кексперт - просто тебе и подобным уже отвечали на это 100500 раз и каждый ра... текст свёрнут, показать
     
  • 7.38, morphe (?), 16:57, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > А с учётом этого(https://github.com/Speykious/cve-rs) не-unsafe даже в мечтах не возможен.

    Ну конечно, давайте сравнивать баги в компиляторе которые постепенно исправляют (https://github.com/rust-lang/rust/issues/25860, https://github.com/Speykious/cve-rs/issues/3) с UB который в сях есть по стандарту и который в общем случае не фиксится и не детектится ни на чьей стороне

     
     
  • 8.45, Аноним (13), 17:13, 28/06/2025 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
  • 7.68, Аноним (-), 19:04, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://users.rust-lang.org/t/i-finally-found-the-cheat-code-for-disabling-the

    > I don't like that project. Through the ways of the internet is somehow got some spotlight, but AFAIK it doesn’t really contain any novelty, but builds on the oldest type-system unsoundness in the books, which is a known issue for almost a decade longer than cve-rs exists

    https://github.com/rust-lang/rust/issues?q=is%3Aissue%20state%3

     
  • 5.14, Кошкажена (?), 15:23, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и понятно почему
    > // This type is the same type exposed by Panthor's uAPI. As it's declared as
    > // #repr(C), we can be sure that the layout is the same.

    Это всего лишь 1 unsafe. А эти для чего

    +unsafe impl Send for TyrData {}
    +unsafe impl Sync for TyrData {}

    ?

     
     
  • 6.24, Аноним (49), 15:49, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вам там че, запретили, под страхом отлучения от опеннета, глядеть в доки https ... большой текст свёрнут, показать
     
     
  • 7.37, Кошкажена (?), 16:51, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну вот и о какой тогда безопасности речь? Сами себе противоречите.
     
     
  • 8.41, Аноним (49), 17:02, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я не в курсе ваших фантазий и уж тем более, что и чему там противоречит, увы ... текст свёрнут, показать
     
  • 8.62, Аноним (-), 18:26, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А, у вас подход сгорел сарай, гори и хата О какой безопасности может идти реч... текст свёрнут, показать
     
  • 6.39, morphe (?), 17:01, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это код биндинга к сям

    Компилятор Rustc видит там сырые указатели, и разумеется не понимает контекст к ним
    Будут ли эти указатели валидны при передаче в другой поток, или они ссылаются на thread-local? Можно ли с этими указателями работать из нескольких потоков одновременно, или нужна синхронизация?

    Вот на стороне Rust и прописывают явно что там нам из сей вернуло, а именно то что эта структура ссылается на общие данные и не теряет смысла при передаче между потоками (Send), и то что в этой структуре нет мутабельных данных, она thread-safe, а соответственно синхронизация не нужна, и с ней можно работать из нескольких потоков (Sync)

     
     
  • 7.42, morphe (?), 17:04, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для структур что описаны целиком в Rust, и которым не нужно общаться с сишным кодом маркеры Send/Sync не нужны, потому что компилятор сам в состоянии вывести/доказать оба требования, проблемы идут только с вещами что компилятор не понимает - что там сишка своим API показать хотела
     
  • 6.81, Alladin (?), 23:12, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    этот код говорит, что структуру можно отправлять из потока в поток, эту структуру можно вызывать в многопоточной среде без синхронизации.
    Скорее всего авторы использовали структуру в которой сырые указатели, а про них раст ничего сказать не может так как это скорее всего сишное
     
  • 5.77, 12yoexpert (ok), 20:45, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Целых три ансефа на все изменения.

    ага, можно было обойтись одним

     
  • 3.80, Аноним2806 (?), 22:06, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Геншин начнёт летать! Но только на Mali. Нет, вру. Летать он по-прежнему будет только на Apple M*. Это была точка зрения практического применения, спасибо за понимание.
     
  • 2.9, Аноним (-), 15:07, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >  600 строк кода, а шуму то...

    А тут сам факт важен. Сколько раз использовался аргумент у противников раста в ядре что "ни одного драйвера на расте нет". А теперь он инвалидирован, можно спрашивать "а почему им разрешили, а нам нет?" Ну и следующие патчи уже в пути.

     
     
  • 3.10, Кошкажена (?), 15:09, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>  600 строк кода, а шуму то...
    > А тут сам факт важен.

    Вот я про то же. Скоро будут писать как раст-разраб сходил поел.

    > Сколько раз использовался аргумент у противников раста в ядре что "ни одного драйвера на расте нет".

    Ну рабочего нет. Ничего не поменялось.

     
     
  • 4.40, paulus (ok), 17:01, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Ну рабочего нет. Ничего не поменялось.

    зато готовы добавить дополнительную кучу абстракций в ядро :)

     
     
  • 5.78, 12yoexpert (ok), 20:47, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > если на одну кучу навалить другую кучу, то вышеупомянутая "одна" станет ширше

    Закон Раста

     
  • 3.48, нах. (?), 17:20, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    так драйвер мигания светодиодиком уже ж давно есть.
    Правда, он там для собственно мигания вызывает небезопастный си-код...а, стоп, тут такая же хрень.

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

    А тут молчит и проглатывает.

    Видимо, миллион долларов в месяц сам себя не выплатит.

     

  • 1.4, Аноним (4), 15:01, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >и G710

    т.е. второй Тензор:
    https://en.wikipedia.org/wiki/Google_Tensor#Models

     
  • 1.6, Аноним (-), 15:03, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    У... что сейчас начнется))

    А так, отличная новость.
    Ядерщики конечно тормозят знатно, но патчи в ядро заходят.
    И смотря на участников - Collabora, Arm и Google - становится ясно, что они дожмут.

     
     
  • 2.8, Вандер (?), 15:06, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Линух протух сразу как был форкнут с Миникса, вот туда и заходит всякое
     
     
  • 3.19, Аноним (19), 15:35, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Альтернативы?
     
     
  • 4.26, Аноним (4), 15:58, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://opennet.ru/63382-freebsd
     
     
  • 5.31, Аноним (-), 16:16, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > https://opennet.ru/63382-freebsd

    Круто. А дрова все еще с линукса тырить будете?
    А если они на расте будут, то что?))

     
     
  • 6.36, нах. (?), 16:50, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А если они на расте будут, то что?))

    то вот примерно это:

    > Технология CSF, применяемая начиная с 10 поколения GPU Mali, примечательна выносом на
    >  сторону прошивки некоторых функций драйвера и задействованием новой модели организации
    > Функциональность Tyr пока отстаёт от драйвера Panthor,

    то есть казалось бы, днище, падать некуда, и так от драйвера остался копипастинг блобов туда-сюда. Но нет, снизу стучат.

    Ну и зачем кому-то сдалось "тырить" такой драйвер? Подождем пока microsoft для embedded windows свой напишет.

     
     
  • 7.47, Аноним (-), 17:20, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > то есть казалось бы, днище, падать некуда, и так от драйвера остался
    > копипастинг блобов туда-сюда. Но нет, снизу стучат.

    Ну так сами своими гнутыми выбрыками с Ж0п0эль символами достали производителей железа.
    Это нормально в патч-версии обновлении ядра ломать дрова?
    Вот теперь кушаейте прошивку на чипах видяхи. А "свободный гнутый" драйвер будет ее туда просто свободно и гнуто грузить.

     
     
  • 8.50, нах. (?), 17:22, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так он, и ЭТО тоже умудряется делать криво ... текст свёрнут, показать
     
  • 6.64, Аноним (49), 18:30, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Круто. А дрова все еще с линукса тырить будете?

    Почему "тырить"?
    Там обычно таки "permission is hereby granted" (я так понимаю, это "исконно-посконная линуховая лицензия" - последние лет цать сообщество все более-менее работающие дрова под ней пишет и в ядро включает, а само шифруется под псевдонимами типа "штеуд" или "красная шапка")

    torvalds/linux/blob/master/drivers/gpu/drm/nouveau/nvkm/core/engine.c
    > Permission is hereby granted, free of charge,

    drivers/gpu/drm/i915/gvt/kvmgt.c
    > Copyright(c) 2011-2016 Intel Corporation. All rights reserved.
    > * Permission is hereby granted, free of charge

    drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c
    > * Copyright 2019 Advanced Micro Devices, Inc.
    > * Permission is hereby granted, free of charge,

     
     
  • 7.72, Аноним (-), 19:35, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Круто. А дрова все еще с линукса тырить будете?
    > Почему "тырить"?
    > Там обычно таки "permission is hereby granted"

    А что на счет напр. wifi?
    wifibox просто так появился?))

     
  • 4.30, Аноним (30), 16:10, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://genode.org/
     
  • 3.32, Аноним (-), 16:18, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Линукс написан с нуля и имеет лицензию копилефт.
     

  • 1.12, Аноним (13), 15:16, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > насчитывает чуть больше 600 строк кода

    Из которых полезных дай бог 100, остальное руст болерплат. Очередной хэлворд, продвигающийся через руст, продвигающийся через хайп, админ-ресурс и госуху.

    > +// SAFETY:

    Иконка под стекло. Бгг.

     
     
  • 2.34, нах. (?), 16:44, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это ты еще не вчитывался:

    > Функциональность для взаимодействия с GPU Mali портирована из существующего DRM-драйвера
    > Panthor (Direct Rendering Manager), написанного на языке Си. uAPI драйвера Tyr идентичен
    > uAPI драйвера Panthor, что позволяет использовать с ним уже существующие компоненты
    > пространства пользователя.

    т.е. собственно - драйвер, а не переключалку графрежимов.

    И при всем при этом - мы переписькивали-переписькивали, но... уот:

    > Функциональность Tyr пока отстаёт от драйвера Panthor,

    т.е. еще и нихрена не работает (потому что mali и так ничего особенного не умеет)

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

     

  • 1.17, Кошкажена (?), 15:25, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что означает лицензия SPDX-License-Identifier: GPL-2.0 or MIT? Можно выбрать? Как это работает?
     
  • 1.44, Аноним (44), 17:09, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чё, молодцы, упразднение опенсорсных драйверов идёт полным ходом под радостное хлопанье сопровождающих - им драйвера как кобыле пятая нога. Скоро будем созерцать "подключите девайс к Интернету, пройдите TEE-аттестацию и оплатите подписку для разблокировки 3D-возможностей".
     
     
  • 2.55, Аноним (55), 17:54, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > подключите девайс к Интернету, пройдите TEE-аттестацию и оплатите подписку

    А какие минусы?

     

  • 1.52, Аноним (52), 17:32, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Rust в Linux как бетонный каток диет по асфальту - медленно но верно! Процент кода Rust в ядре Linux будет только увеличиваться!
    Но конечно же, вы всегда можете сделать форк ядра Linux без Rust)
     
     
  • 2.59, нах. (?), 18:12, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Но конечно же, вы всегда можете сделать форк ядра Linux без Rust)

    можем, но не будем - лучшей антирекламы хруста чем эти шестисотстрочные прослойки к прокладкам, только еще и неполнофункциональные, придумать невозможно.


     
  • 2.61, Аноним (-), 18:20, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Но конечно же, вы всегда можете сделать форк ядра Linux без Rust)

    Разумеется!
    Вот форк иксов уже сделали.
    А сейчас сделают форк ядра. И заживееем!


     
  • 2.63, Аноним (63), 18:27, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    21 год - 30 млн строк кода.
    25 год - 40 млн строк кода.

    Сколько строк кода на rust?

     
     
  • 3.69, Аноним (69), 19:23, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А разве кто то написал что он УЖЕ всё заменил ? Через несколько лет будете спрашивать "сколько строк кода на си" . Если ещё будет о чём спрашивать .
     
     
  • 4.71, Аноним (71), 19:32, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Через несколько десятков лет? Или попросят весь мир подождать, пока актуальное ядро переписывают?
     
  • 4.76, 12yoexpert (ok), 20:39, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    через несколько лет, если раст таки завезут в ядро, ты будешь раз в неделю бегать в магазин за новым железом, а ещё через несколько лет будет невозможно собрать ядро дома, и опенсорсный по сути проект станет проприетарным по факту

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

    и бежать тебе будет уже некуда

     
     
  • 5.79, Ononim (?), 22:00, 28/06/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не врёшь же, да?
    Или лучше быть как местные старожилы, которые постоянно ноют, что на их четвёртом пне теперь перестало что-то заводиться, потому что в ядре что-то удалили.
     

  • 1.75, 12yoexpert (ok), 20:36, 28/06/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а на си этих драйверов нет? просто чтобы знать, какое железо вендорлокнутое
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру