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

Разработчики проекта 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 со стандартными драйверами VESA и 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 .

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

©  OpenNet