Новости про Linux

Бета-драйверы NVIDIA для Linux для устаревших видеокарт

NVIDIA не забывает про владельцев устареших графических карт и выпускает предварительные версии обновлённых драйверов для них.

Новые драйверы поддерживают последние версии ядра Linux, а их установщик nvidia-installer теперь учитывает изменения путей 32-разрядных библиотек в дистрибутивах Debian. К сожалению, поддержки сервера Х-интерфейса X.Org версий 1.7.х по-прежнему нет. Желающие могут загрузить драйверы с FTP-сервера NVIDIA по ссылкам ниже.

Linux logo

Драйверы 173.14.25 (для видеокарт на базе GeForce FX):

Драйверы 96.43.16 (для видеокарт на базе GeForce 2 MX, GeForce 3, GeForce 4 MX/Ti):

Драйверы 71.86.13 (для видеокарт на базе GeForce 2 и более ранних):

Adobe испытывает затруднения с аппаратным ускорением Flash в Linux

Сотрудник компании в своем блоге поделился проблемами реализации аппаратного ускорения видеодекодирования Flash-плагина в Linux. 

Mike Melanson, ведущий инженер Adobe по поддержке технологии Flash в операционных системах Unix/Linux, опубликовал в своем блоге серию сообщений о проблемах, с которыми компания столкнулась при реализации аппаратного ускорения декодирования и воспроизведения видео в Linux.

Adobe logo

Первой проблемой является разнообразие и различный уровень реализации API работы с аппаратными ускорителями видеодекодирования в Linux, представленное на специальной иллюстрации:

Декодирование видео в Linux

Разработчикам приходится иметь дело по меньшей мере с тремя проприетарными API, каждый из которых поддерживает лишь оборудование одного вендора (AMD для XvBA, NVIDIA для VDPAU и Broadcom для CrystalHD), причем, например, для XvBA спецификации в открытом доступе отсутствуют. Заявленные же как «универсальные» API вроде VA на самом деле являются лишь программными прослойками ко всё тем же VDPAU и XvBA. Мало того, определенное распространение получило использование оборудования напрямую из программ или через API универсальных вычислений, такие как CUDA и OpenCL.

Второй проблемой является отсутствие у имеющихся API ускорения декодирования и соответствующих драйверов оборудования функций по возврату полностью декодированных кадров приложению. В реализациях NVIDIA и AMD декодированный поток сразу уходит в устройство отображения, что может быть приемлемо для «чистых» проигрывателей мультимедиа, но неприемлемо для Flash, которому нужно объединять видео и прочие элементы веб-страницы в единое изображение. Проблема наглядно показана на иллюстрациях:

Воспроизведение видео проигрывателем

Воспроизведение видео в случае Flash

При этом в среде Windows возможность возврата декодированного видеопотока приложению реализована.

На иллюстрациях видна и третья проблема ускорения видео Flash в Linux — необходимость конверсии цветового пространства YUV в RGB. В частности, именно поэтому невозможно использовать расширение Х-интерфейса Xv для вывода и масштабирования видео. Два года назад Adobe предпринимала попытку задействовать OpenGL для данных операций, но столкнулась с низким качеством реализации OpenGL во многих открытых драйверах видеокарт и невозможностью одновременного использования OpenGL для видео и набиравших популярность эффектов Compiz.

В результате, если на платформе Windows бета-версия Adobe Flash 10.1 с поддержкой аппаратного ускорения декодирования и воспроизведения видео в формате H.264 доступна уже несколько месяцев, Linux версия Flash-плагина по-прежнему использует лишь программное воспроизведение. Но Mike Melanson сообщает, что так или иначе работа над реализацией аппаратного ускорения Flash в Linux продолжается, и что Adobe рассчитывает на встречные движения разработчиков драйверов по реализации необходимых функций.

Хакер получил полный доступ и к графическому процессору PlayStation 3

Преодолевший недавно защиту центрального процессора приставки Playstation 3 хакер сообщил о «взломе» графического процессора консоли.

Джордж Хотц, двадцатилетний хакер, прославившийся программно-аппаратным взломом iPhone, а недавно преодолевший защиту консоли Playstation 3 от ограничений встроенного гипервизора Sony, в своем блоге сообщил, что получил и полный доступ к пространству памяти графического процессора приставки. Напомним, что в Playstation 3 используется разработанный NVIDIA графический чип RSX, основанный на архитектуре NV47 (G70). Гипервизор Sony препятствует использованию 3D-части RSX при загрузке операционных систем, отличных от т.н. «Game OS», но теперь можно ожидать появления полноценного Linux-драйвера для RSX, хотя, как признал хакер, это весьма сложная задача. Основной эксплойт теперь выложен открыто, и желающие могут изучить открывающиеся возможности.

Playstation 3 logo

В прошлом уже удавалось обойти блокировку гипервизора и задействовать чип RSX для трёхмерной графики в Linux, во многом благодаря наработкам открытого драйвера Nouveau для видеокарт NVIDIA. Однако, в Firmware версии 2.10 Sony закрыла использовавшуюся в то время «дырку» в гипервизоре.

В любом случае новость представляет интерес лишь для владельцев первых версий консоли, поскольку в продающихся в настоящее время приставках Playstation 3 Slim функция загрузки сторонней операционной системы отсутствует.

Продолжается развитие открытого драйвера Nouveau

Более тесная интеграция с ядром Linux и начальная поддержка управления энергопотреблением видеокарт на базе NVIDIA.

Команда разработчиков драйвера с открытым исходным кодом для видеокарт NVIDIA в среде Linux приняла решение удалить из драйвера код, отвечающий за управление видеорежимами в пространстве пользователя (UMS). Теперь управление видеорежимами будет осуществляться только из пространства ядра (KMS), соответствующий код недавно был включен в состав Linux kernel. Это решение позволит удалить более 15 тысяч строк из кода драйвера, уменьшить потребление памяти и улучшить стабильность работы и быстродействие.

Также в драйвере появились функции управления энергопотреблением видеокарты, пока для чипов NV40 и более новых. За основу были взяты наработки из утилиты NvClock. Впрочем, пока эти функции не будут использоваться — разработчики сначала должны определиться с общим подходом к управлению состоянием графического процессора.

Бета-драйверы NVIDIA для Linux версии 195.30

Продолжается тестирование следующей версии драйверов для графических процессоров NVIDIA для Linux.

Бета-драйверы 195.30 содержат следующие изменения:

  • исправлена постепенная деградация производительности при рендеринге несглаженных шрифтов в KDE4;
  • улучшена поддержка расширения RENDER, ряд функций переведен на аппаратное ускорение вместо прежнего программного рендеринга;
  • исправлена ошибка реализации наложения (overlay) в VDPAU, приводившая к повышенной нагрузке на центральный процессор;
  • утилита nvidia-settings теперь выводит полную информацию о функциях расширения NV-CONTROL при запуске с --query all

Загрузить драйвер можно по ссылкам ниже. Поддерживаются графические процессоры GeForce 6X00 и более новые.

Mesa3D версий 7.7 и 7.6.1

Досрочный релиз новых версий библиотек реализации OpenGL с открытым исходным кодом.

Ранее было объявлено о выходе новых версий самой популярной реализации OpenGL для Unix-систем к католическому рождеству (25 декабря), но релиз состоялся уже сегодня. Mesa3D версии 7.7 предназначена для разработчиков и содержит ряд новшеств:

  • драйвер Gallium3D для эмулируемой видеокарты виртуальных машин VmWare;
  • поддержка OpenGL расширений GL_ARB_draw_elements_base_vertex, GL_ARB_depth_clamp, GL_NV_depth_clamp, and GL_ARB_provoking_vertex;
  • новая инфраструктура для работы с форматами буфера и текстур;
  • множественные исправления в драйвере i965;
  • улучшенный драйвер ATI R300g для Gallium3D.

Версия 7.6.1 содержит лишь исправления ошибок, обнаруженных в версии 7.6, и является рекомендованным стабильным релизом. Загрузить исходный код библиотек можно с официального FTP сервера.

Драйверы NVIDIA для Unix версии 190.53

NVIDIA опубликовала «стабильную» версию драйверов видеокарт для операционных систем семейства Unix.

Драйверы 190.53 содержат следующие изменения:

  • исправлены возможные ошибки в работе графических приложений, запускаемых сразу после окончания работы другого приложения, использовавшего OpenGL или VDPAU;
  • ряд исправлений в реализации VDPAU;
  • декодирование нескольких видеопотоков через VDPAU включено по-умолчанию:  
  • исправлена ошибка, приводившая к порче изображения на подключенных к DisplayPort мониторах Apple Cinema;
  • отключена по-умолчанию опция UseEvents из-за наличия ошибки в отслеживании событий, приводящей к кратковременным нарушениям работы графических процессоров GeForce семейств 8X00 и более новых.

Загрузить драйвер можно по ссылкам ниже. Поддерживаются графические процессоры GeForce 6X00 и более новые.

Бета-драйверы NVIDIA для Linux версии 190.53

На фоне успехов открытого драйвера Nouveau NVIDIA продолжает разработку собственных драйверов.

Драйверы 190.53 запланирован как промежуточный bug-fix выпуск до релиза драйверов 195-й серии. Он содержит следующие изменения:

  • исправлены возможные ошибки в работе графических приложений, запускаемых сразу после окончания работы другого приложения, использовавшего OpenGL или VDPAU;
  • ряд исправлений в реализации VDPAU;
  • исправлена ошибка, приводившая к порче изображения на подключенных к DisplayPort мониторах Apple Cinema;
  • отключена по-умолчанию опция UseEvents из-за наличия ошибки в отслеживании событий, приводящей к кратковременным нарушениям работы графических процессоров GeForce семейств 8X00 и более новых.

Загрузить драйвер можно по ссылкам ниже. Поддерживаются графические процессоры GeForce 6X00 и более новые.

Код драйвера Nouveau включен в ядро Linux

На официальном сайте проекта появилось подтверждение, что код уровня ядра включен в состав Linux kernel 2.6.33.

Линус Торвальдс лично внес переработанный DRM код Nouveau в хранилище кода ядра Linux. На сайте проекта отдельно отмечают, что это не означает официального релиза и ABI-совместимость в будущем не гарантируется. Firmware с неясным правовым статусом ctx_voodoo в состав ядра не войдет, и должно будет устанавливаться отдельно как внешний модуль.

Понятно, что включение Nouveau в ядро Linux и, как следствие, в большинство дистрибутивов в будущем, в ближайшее время не изменит ни подход NVIDIA к обеспечению пользователей драйверами в целом, ни их отношение к проекту Nouveau, высказанное в ходе недавнего интервью в форме «не помогать и не мешать». Однако, как отмечают обозреватели сайта Phoronix.com, базовый open-source 2D драйвер xf86-nv, многие годы выполнявший роль ширмы от критических взглядов сообщества, скорее всего, ждёт незавидная судьба окончательной невостребованности.

Драйвер Nouveau будет включен в состав ядра Linux

После продолжительных споров и экстренной доработки открытый драйвер Nouveau, возможно, будет включен в состав ядра Linux.

Драйвер с открытым исходным кодом Nouveau, разрабатываемый с 2006 года группой энтузиастов путем исследования работы бинарных драйверов NVIDIA и обратного инжениринга кода, всё-таки поставлен в запрос на включение DRM/KMS кода в ядро Linux версии 2.6.33.

Несмотря на то, что драйвер во многих аспектах еще находится на ранних стадиях разработки, он уже был включен в состав дистрибутива Fedora 11 как штатный драйвер для видеокарт NVIDIA и запланирован к включению в Ubuntu 10.04. Однако, включение его компонентов в состав ядра Linux вызвало значительную полемику: помимо общей незавершенности серьезным препятствием стало использование в Nouveau бинарных модулей ctx_voodoo, представляющих собой значительный объем кода для инициализации видеокарты, записанный из перехвата обмена драйвера NVIDIA с оборудованием. С учётом общего негативного отношения Linux-сообщества к firmware-коду, имеющему неясный правовой статус и могущему повлечь патентные и иные претензии (не так давно все firmware чуть было не изгнали из Debian), потребовались вмешательство самого Линуса Торвальдса и экстренная переделка кода драйвера для выноса ctx_voodoo во внешний модуль для предварительного одобрения включения Nouveau в ядро.

В любом случае, ядро Linux 2.6.33 пока недошло даже до статуса кандидата на релиз и окончательная ясность с присутствием Nouveau наступит лишь в следующем году.