Линус Торвальдс раскритиковал Nouveau за нарушение совместимости API

07.03.2010 21:39

После публикации патчей от проекта Nouveau, нацеленных для включение в состав ядра 2.6.34, в списке рассылки разработчиков Linux ядра закипела бурная дискуссия. Дело в том, что в тестовое staging-дерево ядра 2.6.33 был помещен код DRM-модуля Nouveau не совместимый с выпущенной недавно новой версией драйвера, работающего на уровне пользователя. Код с новой реализацией API и был предложен для включения в ядро 2.6.34. Линус Торвальдс в ответ на публикацию патча в жесткой форме раскритиковал действия разработчиков, которые не обеспечили обратной совместимости API и того не желая заложили скрытую мину в процесс тестирования ядра.

Дело в том, что, например, в Fedora 12 по умолчанию используется Nouveau X.Org-драйвер со старым API, в случае тестирования в данном дистрибутиве ядра 2.6.34 из-за наличия несовместимого DRM-модуля Nouveau пользователь неминуемо столкнется с проблемами, если не обновит X.Org-драйвер Nouveau. Но если пользователь обновит X.Org-драйвер, то он не сможет без лишних хлопот вернуться на старое стабильное ядро.

В качестве одного из путей разрешения возникшего тупика, Линус предложил включить в X.Org-драйвер Nouveau проверяющий корректность версии DRM-модуля ядра и в случае несовместимости пытающийся загрузить другую версию драйвера, вместо аварийного завершения работы.