Оболочка GNOME Shell адаптирована для работы без 3D-драйверов

4 ноября 2011 года

Разработчики проекта Fedora сообщили о внесении изменений, которые позволили обеспечить работу пользовательской оболочки GNOME Shell на любых видеокартах, без необходимости задействования современных 3D-драйверов. Изначально, GNOME Shell был работоспособен только с драйверами, поддерживающими OpenGL, что, например, мешало запуску данной оболочки в гостевых окружениях, работающих под управлением систем виртуализации. Изменения уже доступны в экспериментальном репозитории Fedora Rawhide, на базе которого будет построен релиз Fedora 17.

Возможность работы без 3D-драйверов обеспечена благодаря использованию входящего в последние версии Mesa Gallium3D-драйвера llvmpipe, предназначенного для осуществления программного рендеринга путём использования LLVM для динамической компиляции шейдеров, обработки вершин и растеризации точек/линий/треугольников. Требующие привлечения GPU операции преобразуются в промежуточное представление LLVM и затем транслируются в стандартный машинный код для архитектур x86 или x86-64, без необходимости задействования GPU. Подобная эмуляция слишком сильно замедляет работу в случае запуска игровых приложений, требующих интенсивных 3D-вычислений, даже при распараллеливании вычислений и задействовании инструкций SSE2. Но для графических оболочек, таких как GNOME Shell и Unity 3D, производительности llvmpipe вполне хватает, особенно при отключении излишних графических эффектов - на глаз всё работает гладко и без рывков.

Работа llvmpipe в комплекте с GNOME Shell уже опробована в гостевой системе на базе KVM со стандартными драйверами xf86-video-vesa и xf86-video-cirrus. Все изменения, необходимые для запуска GNOME Shell без 3D-драйверов, уже внесены в пакеты, начиная с версий mesa-*-7.11-9.fc17, cogl-1.8.2-4.fc17 и gnome-session-3.3.1-2.fc17. Несмотря на то, что новый режим можно опробовать в действии, разработчики намерены реализовать ряд существенных изменений, направленных на увеличение производительности и снижение нагрузки на CPU. В частности, планируется добавить ряд оптимизаций в код GNOME, ядро Linux, Mesa 3D и X.org, например, обеспечить автоматическое отключение визуальных эффектов в Mutter при работе через llvmpipe и создать фиктивный GEM-аллокатор на уровне DRM-модуля ядра Linux, который бы позволял осуществлять маппинг буферов в обычную память.

Дополнительно можно отметить, что некоторые пользователи выражают опасение, что работоспособность GNOME Shell на любом оборудовании приведёт к прекращению поддержки классического режима GNOME, который был оставлен в качестве резервного варианта для систем, не имеющих современных видеокарт. Адам Уильямсон (Adam Williamson) из компании Red Hat частично подтвердил данные опасения, указав на то, что резервный режим временное явление, поддержка которого скорее всего будет прекращена как только удастся обеспечить работоспособность GNOME Shell на большей части оборудования.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Оболочка GNOME Shell адаптирована для работы без 3D-драйверов», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.