Новости про Linux и open-source

Mesa 3D версий 7.10 и 7.9.1 с поддержкой Sandy Bridge

Обновление открытых графических библиотек поддержки OpenGL.

Новая версия 7.10 реализации OpenGL Mesa3D, основной графической библиотеки для драйверов видеокарт с открытым исходным кодом в Linux и FreeBSD, содержит ряд нововведений и исправлений:

  • поддержка расширений: GL_ARB_explicit_attrib_location, GL_ARB_texture_rg, GL_EXT_separate_shader_objects, GL_NV_primitive_restart (доступность расширений зависит от драйвера и оборудования);
  • поддержка встроенной графики процессоров Intel Sandy Bridge в драйвере i965 DRI;
  • переработанный механизм исполнения пиксельных шейдеров для драйвера i965;
  • множество исправлений и улучшений в подсистемах Gallium и GLSL, драйверах R600c/g, i915, i965, NV50/nouveau;

Релиз 7.10 пока считается «сырым» и предназначен для разработчиков, для конечных пользователей выпущен 7.9.1, содержащий только исправления, без новой функциональности. Загрузить исходный код библиотек для самостоятельной сборки можно с FTP-сервера Freedesktop.org:

Открытый драйвер Nouveau поддерживает управление энергопотреблением

Прогресс в разработке драйвера с открытым исходным кодом.

Драйвер Nouveau, разрабатывающийся энтузиастами как более функциональная замена драйверу nv, а в перспективе — и бинарному драйверу NVIDIA, на днях прибавил в функциональности. Согласно официальному сайту, теперь поддерживается управление энергопотреблением почти в полном объёме на видеокартах от GeForce FX и вплоть до GeForce 9000.

Основной проблемой остается работа с таймингами видеопамяти, в связи с чем разработчики драйвера обратились к владельцам видеокарт на базе NV40 и более новых с просьбой помочь данными из видеоBIOS. Желающие посодействовать совершенствованию драйвера могут ознакомиться с информацией о тестировании и инструкциями.

Mesa3D 7.9

Обновление графической библиотеки с открытым исходным кодом.

OpenGl-совместимая библиотека Mesa3D лежит в основе графической подсистемы операционных систем с открытым исходным кодом, таких как Linux, так что её обновление имеет большое значение для всех пользователей, не имеющих возможности или не желающих использовать закрытые драйверы и библиотеки OpenGL от производителей оборудования. Версия 7.9 Mesa3D ориентирована на разработчиков и вносит следующие изменения:

  • новый компилятор шейдеров GLSL от Intel;
  • экспериментальный драйвер Gallium для AMD R600/700;
  • поддержка видеокарт AMD Radeon HD 5000 (с архитектурой Evergreen);
  • добавлены расширения OpenGL GL_EXT_timer_query extension, GL_EXT_framebuffer_multisample, GL_ARB_texture_swizzle extension, GL_ARB_draw_elements_base_vertex, GL_ARB_fragment_program_shadow, GL_ARB_window_pos, GL_EXT_gpu_program_parameters,     GL_ATI_texture_env_combine3, GL_MESA_pack_invert, GL_OES_EGL_image, GL_APPLE_object_purgeable, GL_ARB_depth_clamp, GL_NV_depth_clamp, GL_ARB_half_float_vertex, GL_EXT_draw_buffers2, GL_EXT_texture_swizzle, GL_ATI_texture_mirror_once, GL_NV_conditional_render (доступность расширений зависит от оборудования и драйвера);
  • подготовка к поддержке архитектуры CPU-GPU Intel Sandy Bridge в драйвере i965;
  • множество исправлений в функциях GLSL;
  • исправления в драйверах i965 и r300g;

К сожалению, максимальная поддерживаемая версия OpenGL по-прежнему ограничена OpenGL 2.1.

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

Mesa3D 7.8 и 7.7.1

Обновление графической библиотеки с открытым исходным кодом.

OpenGl-совместимая библиотека Mesa3D лежит в основе графической подсистемы операционных систем с открытым исходным кодом, так что её обновление имеет большое значение для всех пользователей, не имеющих или не желающих использовать закрытые драйверы и библиотеки OpenGL от производителей оборудования. Версия 7.8 Mesa3D предназначена для разработчиков и содержит следующие изменения

  • добавлены расширения OpenGL GL_NV_conditional_render, GL_EXT_draw_buffers2, GL_ARB_fragment_coord_conventions, GL_EXT_texture_array, GL_APPLE_object_purgeable (доступность расширений зависит от оборудования и драйвера);
  • обновлён интерфейс EGL для мобильных/веб-приложений;
  • в архитектуру Gallium3D включена поддержка для OpenGL ES версий 1.1 и 2.0;
  • отдельная документация Gallium3D;
  • многочисленные исправления в драйвере для AMD R300-500 с архитектурой Gallium3D;
  • удалена поддержка рендеринга с индексированной цветовой палитрой;
  • удалена поддержка GCC 3.3.0 и ранее для сборки библиотек;

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

Одновременно вышла и версия 7.7.1, исправляющая ошибки, обнаруженные со времени прошлого релиза. Исходный код также доступен на официальном FTP, а вскоре будет включён в основные репозитории Linux.

NVIDIA прекращает развитие драйвера nv в Linux

Используйте драйвер VESA, чтобы скачать бинарный драйвер.

Вчера в рассылках разработчиков графического интерфейса Х куратор стандартного драйвера для видеокарт NVIDIA xf86-video-nv, больше известного как просто nv, Andy Ritger, объявил, что NVIDIA прекращает развитие данного драйвера.

Драйвер nv много лет предлагался в составе Х интерфейса как базовый видеодрайвер, реализующий поддержку переключения видеорежимов и работу с 2D графикой. Он практически не обеспечивал аппаратного ускорения и заметно отставал в поддержке новых графических процессоров. Для тех, кому нужно было что-то большее, поддержка осуществлялется через бинарные драйверы, с (по большей части) закрытым исходным кодом. Отставание в функциональности стало особенно заметным после внедрения трёхмерных интерфейсов Compiz и выхода сервера Х-интерфейса X.Org 1.7, не поддерживаемых в драйвере nv в полном объёме до сих пор.

Теперь официально объявлено, что развитие драйвера nv будет остановлено. В драйвере не будет поддержки новых GPU Fermi, поддержки DisplayPort. Драйвер еще будет дорабатываться для поддержки новых версий серверов X.Org для GPU прежних поколений, но пользователям рекомендуется использовать стандартный режим VESA на время установки операционной системы, после чего загрузить и установить бинарный драйвер NVIDIA.

Следует отметить, что потеря не столь велика. Недостатки драйвера nv вызвали к жизни разработку стороннего драйвера с открытым исходным кодом Nouveau, и к настоящему времени тот уже вполне готов заменить nv в современных дистрибутивах Linux, а в перспективе — стать полноценной альтернативой и бинарному драйверу NVIDIA.

Драйвер Nouveau будет использован в Ubuntu 10.04 и Fedora 13

Альтернативный, написанный энтузиастами драйвер для видеокарт на базе NVIDIA становится основным в следующем поколении дистрибутивов Linux.

Драйвер с открытым исходным кодом Nouveau разрабатывается уже достаточно давно методом изучения обмена проприетарного драйвера NVIDIA с оборудованием, анализа видеоBIOS и использования наработок утилит вроде NvClock. В прошлом году разработка драйвера достигла такого уровня, что часть кода была включена в следующее ядро Linux, а сам драйвер был пробно включен в состав дистрибутива Fedora 12. И вот теперь появилась информация, что Nouveau станет драйвером по-умолчанию для видеокарт NVIDIA в будущих дистрибутивах Fedora и Ubuntu, самых популярных версий Linux по данным сайта DistroWotch.com. Тестирования команд Fedora и Ubuntu показали, что Nouveau уже справляется с базовыми функциями Х, управлением дисплеем, воспроизведением видео, и даже 3D/OpenGL в достаточном для Compiz и игр на движке Quake 3 объёме, хотя остаются заметные проблемы с режимами энергосбережения и переключением Virtual terminal.

До прошлого года у поставщиков дистрибутивов выбор в поддержке графических решений NVIDIA был небогат: либо базовый драйвер nv из XFree86/X.Org, обеспечивающий лишь минимальный набор функций и запаздывающий с поддержкой последних версий ядра Linux и X-интерфейса, либо включение бинарного драйвера NVIDIA, что требует написания отдельной обвязки для его установки и обновления и плохо сочетается с лицензионной политикой некоторых компаний. В этом году всё изменится, и уже драйверы самой NVIDIA рискуют стать «альтернативными».

Поддержка Direct3D в Linux будет выпущена с закрытым исходным кодом

Zack Rusin был вынужден огорошить ожидающих слишком многого от VmWare.

Новость о планах Thungsten Graphics по созданию аппаратного ускорения Direct3D в архитектуре открытых графических драйверов Gallium3D в Linux создала много шума, и её источник решил остудить пыл как «пингвинопоклонников», так и «пингвинопротивников». В новом сообщении в своём блоге Zack Rusin разъяснил позицию своей компании. Реализация аппаратного ускорения Direct3D 9 уже некоторое время имеется в коммерческих продуктах виртуализации от VmVare, и разработка интерфейсов ускорения Direct3D 10 планируется лишь как её развитие. Исходный код данных наработок VmWare открывать не планирует.

Zack Rusin справедливо отметил, что одного ускорения функций Direct3D мало для полноценного портирования Windows-игр в Linux — есть еще уйма отличий между платформами. Выигрыш получат прежде всего виртуальные машины, возможно проект WINE, но последнему пока неплохо удаётся реализация конверсии вызовов Direct3D в OpenGL, и вполне возможно, что этого пути им и стоит придерживаться.

Аппаратное ускорение Direct3D в Linux

Ведутся работы по добавлению интерфейсов аппаратного ускорения функций Direct3D в архитектуру открытых графических драйверов Gallium3D.

Сотрудник Tungsten Graphics (в настоящее время подразделение VmWare) Zack Rusin в своем блоге рассказал о планах по реализации функций API Direct3D версий 10 и 11 в Gallium3D. Zack Rusin верит, что подобная работа поможет разработке открытой графической архитектуры в целом. Особый интерес вызывает реализация ускорения геометрических шейдеров и функции «dual-source blending», позволяющей значительно ускорить качественный рендеринг текста. Также будут продолжены работы по реализации OpenCL через Gallium3D.

Впрочем, это будет далеко не первой попыткой реализации Direct3D в Linux. Проект поддержки Windows-приложений в Linux WINE на протяжении нескольких последних релизов улучшал компонент Direct3DOpenGL враппера и даже послужил основой для неофициальных релизов Direct3D 10 для Windows XP. Но реализация ускорения Direct3D на уровне Gallium3D, хотя и не является напрямую средством запуска 3D Windows-программ в Linux/Unix, позволит значительно повысить быстродействие для графики виртуальных машин c Windows и того же WINE. Также, несколько ранее и независимо от объявления Zack Rusin, появился концепт Direct3D 9-ускорения для Gallium3D.

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

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

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

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

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 сервера.

Код драйвера 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, многие годы выполнявший роль ширмы от критических взглядов сообщества, скорее всего, ждёт незавидная судьба окончательной невостребованности.