Unity 3D Web Player на Linux через PipelightИсточник: habrahabr Arkham
Думаю, многие задавались вопросом, существует ли рабочий порт Unity 3D Web player под Linux. К сожалению, официально эта платформа (на данный момент) не поддерживается, и веб-плагин работает только под Windows/Mac OS. Некоторые для решения этой проблемы использовали связку Wine + Firefox for Windows + Unity 3D WP for Windows. Однако эта связка работает нестабильно, и существуют проблемы с зацикленным обновлением Unity 3D WP. Сегодня мы рассмотрим более функциональное решение с использованием браузеров под Linux, а сделаем мы это с помощью Pipelight.
Что такое Pipelight?Pipelight - это враппер Windows NPAPI для Windows плагинов (Unity 3D WP, Silverlight, Flash и т.д.), позволяющий использовать эти плагины в натив-Linux браузерах. Pipelight состоит из двух частей: Linux библиотеки, которая подгружается браузером, и Windows программы, стартующей в Wine. Windows программа эмитирует Win-браузер и подгружает Win-DLL необходимого плагина. Когда вы открываете веб-страницу, которой требуется этот плагин, библиотека посылает все запросы с Linux-браузера через туннель в Windows-процесс, образуя некий "мост" между браузером и плагином. Более подробную информацию можно найти здесь (англ.) .
УстановкаЯ устанавливал и тестировал Pipelight под Kubuntu 13.10 и Firefox 28. Соответственно, буду описывать процесс под неё, но ваша система и браузер могут отличаться (также поддерживаются: Debian, Arch Linux, openSUSE, Fedora 18/19/20, AVLinux, Slackware, CentOS 6, SteamOS, Mageia 4… и кастомные дистрибутивы). Установка очень проста и осуществляется всего в несколько шагов, необходимые Wine библиотеки подтянуться сами: Обращу ваше внимание на то, что новая версия пакета называется "pipelight-multi", а не "pipelight", который перешёл в состояние deprecated. Теперь, включаем поддержку Unity: Жмём [Y], после этого запустится Wine приложение, ждём его загрузки, перезагружаем браузер - всё, готово! Вы также можете включить другие плагины, которые поддерживаются Pipelight (Silverlight или например Flash, так как Linux версия отстаёт от Win):
Не работает!Если установка прошла успешно, но Unity Web приложение отказывается грузиться на странице, то, скорее всего, в него встроена проверка User Agent'a, отсекающая не Win/Mac OS системы. Проблема решается довольно просто. Устанавливаем один из рекомендованных плагинов (за совместимость с другими плагинами разработчики не ручаются) для быстрой смены юзер агента: Chrome: Firefox:
Всё равно не работает!Если все работало хорошо, а потом внезапно перестало, попробуйте очистить home папку pipelight: rm -rf ~/.wine-pipelight/
Загляните в официальный FAQ (англ.) и баг трекер.
Известные проблемы с Unity 3D WPPipelight поддерживает большинство Unity Web приложений, однако в некоторых возникают проблемы, над которыми разработчики работают (по их заверениям): 1. Остановка загрузки файла посередине. Решается перезагрузкой страницы: загрузка не обрывается, начинается докачка оставшейся части файла.
Выводы и P.S.Pipelight позволяет легко и быстро насладиться Unity 3D Web приложениями в вашем любимом Linux дистрибутиве. Конечно, это не совсем полноценная работоспособность "как от производителя", но намного легче по ресурсам, чем параллельная VM машина, стабильнее чем Wine, и гораздо лучше, чем ничего :-) |