Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Рейтинг: 73% · 17 голосов
Дистрибутивы Linux, настройка серверов, сети, systemd, bash-скрипты, безопасность, бэкапы, мониторинг и сопровождение инфраструктуры.
Ответить
Аватара пользователя
ceph7
Сообщения: 33
Зарегистрирован: 13 май 2026, 08:39

Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение ceph7 »

Смотрю на ситуацию и понимаю, что спор про Rust в ядре по факту закончился, просто не все заметили.

Что уже в мейнлайне: nova-core для NVIDIA (замена nouveau для карт с GSP, от RTX 20 и новее), Tyr для Mali от Collabora, драйвер Apple AGX из Asahi. И главное, Binder для Android переписали на Rust, и это уже не песочница, а код, через который идёт каждый IPC-вызов на миллиардах телефонов. Метку experimental с Rust-поддержки сняли, минимальную версию rustc зафиксировали, дистрибутивы собирают ядро с Rust-тулчейном и никто не умер.

При этом драма никуда не делась. История с Hellwig и DMA-абстракциями год назад, уход Гектора Мартина из ядра, мейнтейнеры, которые открыто пишут, что Rust-код в своих подсистемах ревьюить не будут. Линус тогда по сути сказал: не хочешь Rust, не трогай его, но блокировать чужую работу не дам.

Цифры в пользу: в Android доля уязвимостей по памяти упала с 76 процентов до примерно четверти после того, как новый код стали писать на Rust и Kotlin. А в ядре каждый второй серьёзный CVE это use-after-free или out-of-bounds в каком-нибудь драйвере.

Два вопроса к местным. Кто реально трогал Rust-часть ядра руками, не по статьям, а собирал и дебажил? И что будет с подсистемами, где мейнтейнеру под 60 и Rust он учить не собирается?
👍1 ❤️ 🔥4 😄 🤔1
✔ Лучший ответ сформирован автоматически — bunmaker
@ceph7, KASAN ловит то, что воспроизвелось под санитайзером, а не то, что лежит в драйвере, который запускается на одной железке из тысячи. В этом вся разница, Rust перетаскивает целый класс ошибок из рантайма в компиляцию. По первому вопросу ТС: собирал ядро с Rust на Debian 13. make LLVM=1, rustc из rustup, бинды генерит bindgen. Вечер на всё вместе с чтением доки, Rust-часть в сборке крошечная…
Перейти к ответу →
Аватара пользователя
vuemaker
Сообщения: 34
Зарегистрирован: 22 май 2026, 16:44

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение vuemaker »

30 лет писал на C и ещё 30 напишу. вся эта статистика лечится нормальным ревью и KASAN, а не перетаскиванием пол-ядра на язык, который компилится вечность и тащит за собой кучу крейтсов. через 10 лет будете точно так же переписывать на что-нибудь новое модное
👍2 ❤️1 🔥 😄 🤔
Аватара пользователя
bunmaker
Сообщения: 40
Зарегистрирован: 11 май 2026, 23:26

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение bunmaker »

✔ Лучший ответ — сформирован автоматически
@ceph7, KASAN ловит то, что воспроизвелось под санитайзером, а не то, что лежит в драйвере, который запускается на одной железке из тысячи. В этом вся разница, Rust перетаскивает целый класс ошибок из рантайма в компиляцию.

По первому вопросу ТС: собирал ядро с Rust на Debian 13. make LLVM=1, rustc из rustup, бинды генерит bindgen. Вечер на всё вместе с чтением доки, Rust-часть в сборке крошечная на фоне остального. Самое неприятное не язык, а то, что абстракции над внутренними API ядра местами сырые, под свою подсистему половину обвязки пишешь сам.

И про крейтсы. В ядро ничего с crates.io не тащат, там только core и alloc, внешних зависимостей ноль. Сколько лет этому мифу уже
👍2 ❤️ 🔥2 😄 🤔
Аватара пользователя
coldcoredump
Сообщения: 10
Зарегистрирован: 12 май 2026, 03:44

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение coldcoredump »

ждём, когда на Rust перепишут vim, и можно закрывать интернет
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
solidity2024
Сообщения: 40
Зарегистрирован: 11 май 2026, 02:34

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение solidity2024 »

по второму вопросу. подсистемы, где мейнтейнер против, просто не получат Rust-биндов, и новые драйверы туда продолжат писать на C. никто никого не заставляет, политика с самого начала такая. цирк начнётся, когда вендор железа принесёт драйвер на Rust в подсистему, где его не ждут. с nova прокатило, потому что DRM-мейнтейнеры сами топили за
👍 ❤️1 🔥 😄 🤔
Аватара пользователя
asyncops
Сообщения: 11
Зарегистрирован: 11 май 2026, 07:36

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение asyncops »

история с Хеллвигом показала главное: техника там никого не волновала, чистая война за территорию. человек сказал, что не пустит второй язык в код, который он сопровождает. ему ответили, что код не его, а общий. оба по-своему правы и оба повели себя как дети, а расхлёбывало всё комьюнити
👍 ❤️ 🔥 😄 🤔
Аватара пользователя
olgerd
Сообщения: 22
Зарегистрирован: 17 май 2026, 07:21

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение olgerd »

кстати про драмы. bcachefs то в итоге выпилили из ядра, Оверстрит теперь едет через DKMS. вот где сериал был, а вы тут про Rust
👍1 ❤️1 🔥 😄 🤔
Аватара пользователя
jpearce
Сообщения: 47
Зарегистрирован: 11 май 2026, 23:34

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение jpearce »

скажу с прода. на встраиваемых железках с Mali нам Tyr пока не упёрся, panfrost работает и ладно. но сам факт, что Collabora новый GPU-драйвер пишет сразу на Rust, а не на C, говорит больше любого холивара. конторы, которые пишут драйверы за деньги, уже выбрали
👍 ❤️ 🔥 😄1 🤔1
Аватара пользователя
sabaza
Сообщения: 39
Зарегистрирован: 12 май 2026, 00:38

Re: Rust в ядре уже не эксперимент: Nova, Binder, Tyr в мейнлайне. Старая гвардия проиграла?

Сообщение sabaza »

а под nvidia теперь что ставить, nova или проприетарный? у меня 4070 на федоре, запутался в этих ваших драйверах
👍 ❤️2 🔥 😄 🤔1
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Linux и системное администрирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость