В ветку Linux 7.2-rc3 на выходных попал набор исправлений для Sega Dreamcast, консоли конца 1990-х, которую давно привычнее видеть в музее, чем в списке свежих изменений ядра. По данным Tom's Hardware, обновления касаются подсистемы ввода и делают Linux для Dreamcast стабильнее на реальном железе. Для русскоязычной IT-аудитории здесь интересна не только ностальгия: история хорошо показывает, как в open source живут платформы, у которых давно нет массового рынка, но все еще есть люди, готовые поддерживать код.
Технически новость вполне приземленная, без романтики про «легендарное железо». Дмитрий Торохов отправил пакет изменений для оборудования Dreamcast, а Линус Торвальдс включил его в Linux 7.2-rc3 в субботу. Речь идет о драйверах периферии на шине Maple, через которую у Dreamcast работают мышь, клавиатура и контроллеры. Для пользователя это означает простую вещь: новые сборки ядра должны вести себя аккуратнее при работе с такими устройствами, без случайных падений и странных эффектов, которые обычно всплывают на старом оборудовании в самый неподходящий момент.
Самое конкретное исправление касается драйвера maplemouse. В нем устранили сбой при открытии устройства: проблема возникала из-за отсутствующих данных драйвера. По данным источника, этот баг жил в коде с 2017 года, то есть почти восемь лет. Заодно поправили порядок инициализации в Maple-драйверах клавиатуры, мыши и джойстика: теперь данные драйвера выставляются и регистрируются в правильной последовательности, чтобы избежать race condition. Если говорить без жаргона, ядро больше не должно спотыкаться о ситуацию, когда части инициализации происходят не в том порядке и из-за этого система ловит краш. Исправление вроде бы небольшое, но именно из таких мелочей и складывается рабочий Linux для Dreamcast, а не очередной «почти загрузилось».
Отдельный штрих добавляет контекст последних месяцев. Tom's Hardware ссылается на реакцию Phoronix, где удивились самому факту таких правок: Dreamcast продолжает получать внимание в ядре, хотя несколько куда более «настоящих» вычислительных архитектур уже ушли на обочину. В числе недавно выбывших из мейнлайна называют Intel i486, PowerPC 40x, DEC Alpha и Itanium/IA-64. Ирония здесь почти учебная. Консоль Sega, вышедшая в Японии в конце 1998 года, а в США в 1999-м, сохраняет поддержку в живом ядре Linux, а часть старых серверных и десктопных платформ — уже нет. Для тех, кто привык измерять важность технологии только историческим весом бренда, это неприятная, но полезная коррекция картины мира.
Есть и второй слой этой истории: Dreamcast в ядре живет не как курьез, а как объект реальной доработки. В материале упоминается, что в этом году уже появлялись исправления для драйвера GD-ROM, а также предложение по драйверу файловой системы VMUFAT. Это значит, что работа идет не по модели «оставили как есть и иногда вспоминают», а по модели «поддерживаем понемногу, потому что есть кому». Для сообщества вокруг ретро-железа это важный сигнал: специализированные Linux-сборки под Dreamcast, которые можно записывать на CD-R и запускать на консоли, остаются не археологией, а живым сценарием. Не массовым, конечно, но вполне рабочим для тех, кто использует такие машины в хоббийных проектах, экспериментах с низкоуровневым кодом или просто в качестве очень специфической учебной платформы.
Для разработчиков и технических руководителей в этой истории важнее не сама Sega, а логика сопровождения платформ в ядре. Linux давно показывает, что срок жизни поддержки определяется не возрастом устройства и не его былой славой, а сочетанием двух факторов: есть ли пользовательский сценарий и есть ли сопровождающий, который готов разбирать баги, присылать патчи и отвечать за качество кода. Это довольно трезвая модель. Она неприятна тем, кто рассчитывает на автоматическое сохранение «наследия», но полезна всем, кто работает с embedded, промышленным оборудованием, нестандартными устройствами ввода или внутренними аппаратными платформами компаний. Если в стек никто не инвестирует инженерное время, однажды его выкинут даже из очень терпеливой экосистемы. Если инвестирует — может прожить дольше, чем некоторые архитектуры с куда более внушительной биографией.
Есть и бизнес-вывод, пусть не самый очевидный. Поддержка длинного хвоста железа в open source редко оправдывается текущими продажами. Ее ценность в другом: ядро остается пространством, где сохраняются компетенции по интерфейсам, шинам, драйверам и моделям инициализации, которые потом неожиданно оказываются полезны в новых задачах. В этом смысле Linux для Dreamcast важен не только фанатам старой консоли. Он напоминает, что экосистема Linux все еще способна держать рядом ультрасовременные серверные сценарии и очень старое устройство, если код не брошен. Вопрос теперь не в том, сколько еще проживет Dreamcast в мейнлайне, а в том, какие еще «непрактичные» платформы переживут более именитых соседей просто потому, что у них нашелся свой упрямый мейнтейнер.