Оболочка 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 на большей части оборудования.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.