- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF91:Путь к просвещению
Материал из Linuxformat.
Содержание |
Дорога к Просвещению.
Оконный менеджер E17 появился на… PlayStation 3! Натан Сандерс пояснит, как проблемы Yellow Dog привели к этому проекту.
Cell, процессор PS3, содержит основной модуль, совместимый с другими устройствами архи тектуры PowerPC на уровне двоичного кода, и восемь специализированных блоков – грамотная программа обязана учитывать эти особенности. Как и все многоядерные процессоры, Cell не особо эффективен для web-серфинга или обработки текста, но дает огромный выигрыш при возможности распараллеливания, например, при кодировании аудио или рендеринге сцен 3D-графики. Yellow Dog 5 поставляется с библиотекой разработчика Cell SDK от Barcelona Computing Centre. Кай Стаатс, руководитель Yellow Dog, назвал ее «хорошей отправной точкой» для оптимизации программ в Cell; он также рекомендует компилятор от RapidMind (http://www.rapidmind.net) и библиотеки MCF Cell (http://www.mc.com).
Тем, кто азартно пытался запустить Linux на PlayStation 2 или принял вызов Майкла Робертсона [Michael Robertson], внедряя Linux на Xbox, не повезло. А если вы просто хотели заставить свои устройства работать как полагается, поздравляем. Sony взяла на себя всю черную работу по установке Linux на PS3 – игровую приставку нового поколения. Но если вы думаете увидеть знакомый GNU/Linux, вас ждет сюрприз.
Дело в том, что фирма Terra Soft для своей PS3-версии дистрибутива Yellow Dog вытащила из застоя оконный менеджер Enlightenment [по-англ. так называется эпоха Просвещения, а заодно и «облегчение», – прим. ред.], и после пяти лет разработки Enlightenment 17 (E17) готов к игровым подвигам. А началось все в 2003 г., когда Sony выбрала для своей новой приставки процессор Cell (специализированная производная от архитектуры PPC). Поясним…
При чем тут Yellow Dog
Дистрибутив Yellow Dog появился в 1999 году и был ориентирован на энутзиастов Linux, имеющих в своем распоряжении Mac. Чтобы занять эту нишу, Terra Soft разработала ОС для архитектуры PowerPC/Apple, хотя практически всюду использовались чипы x86 от Intel. Terra Soft продолжает продавать свой дистрибутив на базе KDE владельцам Mac’ов, а также занимается спецприложениями для суперкомпьютер- ных расчетов.
Но в 2005 г. Apple объявила о переходе на платформу Intel, и Terra Soft пришлось пересмотреть стратегию: улучшив свою суперкомпьютерную ОС Y-HPC, пригодную и для PowerPC, и для x86, а также разработав узкоспециализированное ПО для анализа генных цепочек, фирма стала главным игроком на поле суперкомпьютеров PPC, так что Terra Soft отнюдь не бедствовала, когда Sony выбрала PPC за основу PS3.
Версия Yellow Dog для PlayStation3 нуждалась в компактном и эстетичном рабочем столе, и летом 2006 г. Terra Soft обратилась к ведущему разработчику Enlightenment Карстену Хайцлеру [Carsten Haitzler] за долгожданным, но сильно запаздывающим E17. Хайцлер хоть и обрадовался, но из осторожности отказался квалифицировать версию даже как бета, пока все ошибки в Enlightenment не будут исправлены: по его мнению, «версия альфа – это когда функциональность отработана, но осталось несколько известных ошибок».
Сдав продукт в ноябре 2006 года, он назвал его Enlightenment 17 пре-альфа.
Понятно, почему Terra Soft ухватилась за Enlightenment, несмотря на его незрелый статус: по словам Хайцлера, эта оконная среда придает Yellow Dog «сексапильный глянец».
Также понятно, что внешность – не главное: в отличие от KDE и Gnome, Enlightenment славен быстрой загрузкой (буквально за несколько секунд); он быстр и не требователен к оперативной памяти. Несмотря на мощный процессор, PS3 имеет всего 256 МБ ОЗУ – а Yellow Dog 5 с Enlightenment обходится 65 МБ, оставляя место для других приложений.
Версия E17 обещала гигантский скачок (предыдущий релиз DR16.0 вышел еще в 2000 г.), но создавалась она совершенно заново, с нуля. Потенциальные потребители, соблазненные было классным графическим интерфейсом, уживающимся даже на самых медленных системах, помаленьку разбегались: разработка чересчур затянулась. Генеральный директор Terra Soft Кай Стаатс [Kai Staats] понимал это, и решился помочь проекту. Чтобы придать ускорение команде Хайцлера, Terra Soft нацелила ее на несколько конкретных задач, которые обе стороны расценили как неотложные и необходимые, и по особо важным пунктам назначила денежные премии для программистов.
Стаатс победно сообщает, что все главные задачи завершены, включая полную переделку кода рабочего стола и управления фоновым изображением, введение нового селектора файлов ‘fm2’, поддержку drag-and-drop и принятие стандарта Freedesktop.org для рабочего стола, меню и иконок.
Все это рано или поздно произошло бы и без Terra Soft, но спонсорская помощь существенно ускорила процесс. Стаатс уклонился от озвучивания премиальных сумм, но судя по объему проделанной работы, программисты не за морковкой гнались. Причем продукт, созданный при поддержке Terra Soft, выходит под той же лицензией BSD, что и весь Enlightenment.
Не только у Enlightenment есть красивый рабочий стол с анимацией и эффектами: KDE и Gnome тоже такое предлагают. Но не на PS3.
Оконные менеджеры Compiz or Beryl построены на Xgl and AIGLX, то есть на аппаратном ускорении OpenGL, применение которого в оборудовании Sony для PS3 ограничено. Enlightenment же в OpenGL не нуждается.
Получше Cairo?
Шикарная 2D-анимация Enlightenment обязана своим появлением графической библиотеке Evas; кому-то захочется сравнить ее с аналогичной библиотекой Cairo, популярной в сообществе Gnome. Хайцлер предупреждает, что подобное сравнение некорректно. Cairo – небольшая библиотека, по мере возможностей повышающая эффективность вывода векторной графики с помощью аппаратного ускорения, а Evas гораздо богаче: здесь разработчики могут работать с графическими примитивами как с объектами, легко ими управлять и анимировать их. По мнению Хайцлера, «когда Evas использует Cairo как движок рендеринга вместо собственного движка, скорость обработки снижается вдесятеро. Другое дело, что Evas ориентирована скорее на растровую графику, а Cairo – на векторную». Evas может использовать и penGL, но встроенный движок Evas справляется с задачей гораздо лучше.
Как и в Mac OS X, KDE и Gnome, в Enlightenment 17 могут использоваться апплеты различного назначения: мониторинг электронной почты, просмотр изображений, блокнот и т.д.
Для работы с апплетами используется Gadcon (Gadget Container): сами апплеты сложены на «полку» (панель рабочего стола), а вызываются из панели управления. В будущих версиях Enlightenment разработчики надеются обеспечить встраивание апплетов в меню и рамки окон.
Некоторые из 2D-эффектов Enlightenment реализованы и в Gnome, и в KDE (через Qt и GTK), но отнюдь не повсеместно. Например, в оформлении некоторых тем KDE используются анимированные кнопки и заголовки окон. Иногда по скорости работы и потреблению памяти библиотеки Enlightenment Foundation Libraries (EFL) отличаются от базовых библиотек прочих оконных сред, за счет своей элегантности, но это не техническое расхождение, а философское: у KDE упорна функциональность, у Gnome – на простоту использования, а у Enlightenment – на яркие эффекты.
Прочный фундамент
Оконный менеджер Enlightenment – лишь одно из многих приложений на базе EFL, откуда взяты компоненты для E17, точно так же, как KDE использует графическую библиотеку Qt, а Gnome – GTK. У EFL, однако, несколько иная функцональность. Фактически это целый набор библиотек, с широким охватом. Команда Enlightenment оправдывает свою медлительность необходимостью совершенствовать эти библиотеки. Документацию, информацию и даже примеры кода, показывающие, как удобно программировать с EFL, можно найти на http://enlightenment.org. А сейчас вкратце рассмотрим основные библиотеки в составе EFL:
- Imlib2 – библиотека для низкоуровневой обработки изображений и создания анимации.
- EPEG – библиотека масштабирования изображений в формате JPEG, полезная для файловых менеджеров или приложений для просмотра фотографий (создание миниатюр). Обе библиотеки по скорости работы превосходят аналоги из Gnome и KDE (gdk-pixbuf и QImage).
- Epsilon – то же, что EPEG, но работает с большинством графических форматов; по возможности, использует Imlib2 и EPEG для повышения быстродействия Совместима со стандартами Freedesktop.org,
так что уменьшенные копии изображений будут храниться в папке ~/.thumbnails/ в формате PNG, и другим совместимым приложениям не придется дублировать работу по масштабированию.
- EVFS – библиотека для работы с файловой системой. Аналогична библиотекам KIO и GnomeVFS и предоставляет набор протоколов для работы с файлами, включая поддержку bzip2, FTP, gzip, Samba, SFTP, и tar.
- Ecore объединяет несколько маленьких библиотек в один пакет, ради простоты и модульности.
- Edje – библиотека для работы с интерфейсом приложений; ее забота – организовать. интерфейс по максимуму удобства для пользователя. Индивидуальная настройка интерфейса каждого приложения сохраняется в EDC (Edje Data Collection) в файле .edj, с описанием расположения элементов и прочей сопутствующей информацией.
- EET – библиотека для архивирования данных EDC. Обеспечивает высокую скорость доступа к данным. Степень сжатия в данном случае не главная забота: важнее, чтобы пользователь не ощутил задержки при загрузке элемента интерфейса. При наличии готового EDC построить интерфейс можно несколькими API-вызовами из Edje.
По теме Edje
Как и многие библиотеки EFL, Edje призвана облегчить труд разработчиков приложений и тем. Уровень абстракции, обеспечиваемый библиотекой, позволяет разработчикам создавать необычные интерфейсы приложений, при этом достаточно хорошо интегрированные с Enlightenment. Подробное руководство пользователя и «книга рецептов» к данному продукту – на www.enlightenment.org/libraries/Documentation и http://edevelop.org.
Имена библиотек легко расшифровать: виджеты реализуются библиотекой EWL (Enlightenment Widget Library); альтернативная библиотека виджетов ETK предоставляет GTK-подобный API. Виджеты обрабатываются в Edje, а на экран выводятся через Evas (Enlightenment canvas, холст): сложные интерфейсы приложений Enlightenment преобразуются в команды X-сервера, позволяя разработчику не думать о конкретной архитектуре, разрешении экрана, глубине цвета и других параметрах. Evas даже умеет преобразовывать графические форматы и выполнять сглаживание (anti-aliasing).
Интересно, что Evas способна выводить на экран и не только методами X-сервера. Это, да еще низкие требования к производительности, делает Enlightenment пригодным для КПК, мобильных телефонов и т.п. (разработчик Enlightenment Дэвид Сейкел [David Seikel] тестировал рабочий стол на компьютере с процессором Pentium с тактовой частотой 100 MГц, чтобы удостовериться в его эффективности). При всех преимуществах EFL, прикладных программ здесь позорно мало. Дальше менеджера фотоальбомов EPhoto, файлового менеджера на основе evfs Entropy, музыкального проигрывателя в стиле iTunes Emphasis с движком MPD Music Player Daemon и программы для извлечения звука из аудио-CD Extrackt (с поддержкой OGG, MP3 и WAV) дело не идет. (Все они находятся на http://www.get-e.org.) Yellow Dog должен позаботиться о привлечении разработчиков на платформу Enlightenment, а пока пользователи пробавляются ПО, разработанным для KDE, Gnome и других оконных сред.
Если вы, накаляясь, дожидались E17 пять долгих лет, вам скоро полегчает. Разработка E17 заметно активизировалась, от чего выиграл весь релиз. Сейкел говорит: «E17 создавался с нуля: Enlightenment не боится начинать с нуля, если это оправдано. Но E18 строится на солидной базе E17, и дело должно пойти гораздо быстрее. Правда, мы кое-что переделаем, так что ожидается некоторый прогресс. Я думаю, этот релиз выйдет гораздо быстрее, чем E17».
Стаатс не закрывает глаза на опасность использования передового, но незрелого рабочего стола при наличии стабильных альтернатив: для приверженцев старых Linux-традиций на DVD Yellow Dog 5 предусмотрены и Gnome, и KDE, и соответствующие репозитории. Но он утверждает, что пара E17 + YD5 вполне готова к работе. Terra Soft с лета 2006 г. добросовестно тестирует дистрибутив на PlayStation 3, рабочих станциях и даже серверных платформах.
Больше чем игра
Союз Terra Soft и Enlightenment ждет яркое будущее. Стаатс надеется, что использование Yellow Dog на PlayStation 3 расширит его аудиторию. «Игра притянет людей, а в придачу они получат дистрибутив, который их удержит», говорит он. «Благодаря использованию Yellow Dog Linux на PlayStation 3 дистрибутив разойдется по всему миру.
Опять же, увеличится популярность Linux, и рядовые пользователи поймут, что PS3 – нечто большее, чем обычная игровая приставка.» Игроки, использующие OpenOffice.org? Ну, если их просветить…
Врезки
Yellow Dog 5: с суперкомпьютера на PlayStation
Перенос Yellow Dog на PS3 был сравнительно простой задачей. Terra Soft стала производителем первого коммерческого дистрибутива с поддержкой Cell, разработав его еще в 2005 г., в сотрудничестве с Mercury Computers. Кроме того, если отвлечься от архитектуры процессора, PS3 – тот же персональный компьютер: жесткий диск, 6 портов USB 2.0, слоты для флэш-карт, Ethernet, Wi-Fi и привод для чтения оптических дисков.
Однако совершенства Yellow Dog 5 в PS3 пока не достиг. Разрешение экрана телевизора гораздо меньше, чем разрешение любого компьютерного монитора, а значит, доступное пространство на телевизионном экране существенно ограничено. Поэтому инсталляция Yellow Dog 5 на PS3 происходит в текстовом режиме и требует последующей настройки. На момент написания статьи были также проблемы с поддержкой Wi-Fi карт, хотя Кай Стаатс рассчитывает в этом вопросе на содействие Sony.
Не все гладко и с устройствами Bluetooth. Данные с Blu-ray дисков Yellow Dog на PS3 читать умеет, но по юридическим причинам в поставку дистрибутива нельзя включить кодеки для проигрывания Blu-ray видео.
На вопрос, нельзя ли убедить Sony снять ограничения на чип RSX, из-за которых Yellow Dog не может использовать графический ускоритель, Стаатс только и мог ответить: «Да говорили мы им»…
Yellow Dog – не единственный дистрибутив для PS3. На его территорию могут покушаться Fedora и Gentoo, а в будущем – и другие дистрибутивы с поддержкой PPC. Сейчас, однако, рядом с PlayStation 3 на магазинных полках соседствует один Yellow Dog, и только он обладает статусом официальной поддержки оборудования PS3. Насчет его спецификаций – YDL5 основан на Fedora Core 5 (ядро Linux 2.6.16) и включает стандартные средства, например, Yum, офисный пакет OpenOffice 2.0, компилятор GCC 4, среды KDE 3.5 и Gnome 2.14 и браузер Firefox 1.5.
Дистрибутив можно заказать на DVD или (тут количество ограничено) уже предустановленным на PS3, через сайт http://www.terrasoftsolutions.com, за $49.95. Там же принимаются заказы на игровую приставку PlayStation 3 с предустановленным Yellow Dog 5. Общедоступные для загрузки версии должны появиться к январю. Хотя YDL5 теоретически пригоден и для оборудования PPC от Apple, Terra Soft предупреждает: тестирования пока не проводилось.
Основные библиотеки EFL
Код, поступающий из архива EET, обрабатывается либо Edje, либо Embryo. EWL и ETK поставляют интерфейсные виджеты, а Ecore – функциональность остальных библиотек (по соображениям модульности, она помещена в отдельную библиотеку). Evas осуществляет графический рендеринг и выдает результат обработки X-серверу.
Установка Linux на PS3
Установка Linux на PS3 довольно проста, но требует некоторой подготовки. Понадобится установочный DVD, клавиатура и мышь с USB-интерфейсом и устройство хранения данных. Включите приставку, затем выберите в меню Настройки (Settings) > Настройки системы (System Settings) > Форматирование (Format Utility) > Форматировать жесткий диск (Format Hard Disk) в ОС Sony Game. Нажмите «Да» («Yes») в появившихся окошках, а затем «Подробнее» («Custom»). Тут нужно задать размер системного раздела. Terra Soft рекомендует 10 ГБ – более чем достаточно, т.к. Yellow Dog 5 с оконными менеджерами E17 и Gnome умещается примерно в 3 ГБ.
На следующем этапе установки потребуется загрузчик. Скачайте установщик загрузчика с сайта http://www.playstation.com/ps3-openplatform и сохраните его как /ps3/otheros/otheros.self, потом скачайте сам загрузчик с http://www.terrasoftsolutions.com/support/install/ps3/otheros.bld и сохраните как /ps3/otheros/otheros.bld'. Затем перепишите установщик загрузчика и загрузчик на USB-брелок или другой носитель, распознаваемый PS3. Перезагрузите систему при вставленном USB-брелке и выберите в меню пункт Настройки (Settings) > Настройки системы (System Settings) > Установить другую ОС (Install Other OS). Установите загрузчик, следуя появляющимся на экране инструкциям. После этого в меню выберите пункт Настройки (Settings) > Настройки системы (System Settings) > ОС по умолчанию (Default System) и выберите «Другая ОС» (Other OS). Теперь все готово для установки Yellow Dog 5. Sony GameOS все равно сохранится, для ее загрузки можно в любой момент набрать boot-gameos в командной строке загрузчика. Загрузите приставку и вставьте в привод установочный DVD Yellow Dog 5. Выберите Install для запуска программы установки Anaconda, как в Fedora или Red Hat. После этого вами будет руководить приятный графический гид, подробно объясняющий все непонятные для начинающих моменты.
Дополнительная информация – на http://www.terrasoftsolutions.com/support/installation.