Unity 3D Web Player на 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. Також через початкову спрямованість на Silverlight, Pipelight може витягнути шрифти, захищені ліцензією Microsoft. У цьому випадку вам доведеться ухвалити ліцензійну угоду. Втім, у мене воно не вимагалося навіть після включення Silverlight'a.
Тепер, включаємо підтримку Unity:
Тиснемо [Y], після цього запуститься Wine додаток, чекаємо на його завантаження, перезавантажуємо браузер - все, готово!
Ви також можете включити інші плагіни, які підтримуються Pipelight (Silverlight або Flash, оскільки Linux версія відстає від Win):
Не працює!
Якщо установка пройшла успішно, але Unity Web додаток відмовляється завантажуватися на сторінці, то, швидше за все, в нього вбудована перевірка User Agent'a, що не відсікає Win/Mac OS системи. Проблема вирішується досить просто.
Встановлюємо один з рекомендованих плагінів (за сумісність з іншими плагінами розробники не ручаються) для швидкої зміни користувач агента:
Chrome: 1. Встановлюємо плагін - chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg 2. Для Unity 3D вибираємо Safari / Mac OS X 3. Для Silverlight - "Windows Firefox 15".
Firefox: 1. Встановлюємо плагін - addons.mozilla.org/en-US/firefox/addon/user-agent-overrider 2. Відкриваємо налаштування плагіна та дописуємо наступні рядки:
3. Для Unity 3D вибираємо Safari/OSX 4. Для Silverlight - "Firefox 15/Windows".
Все одно не працює!
Якщо все працювало добре, а потім раптово перестало, спробуйте очистити home папку pipelight.додаткам! ):
Загляньте в офіційний FAQ(англ.)та баг трекер. Для дистрибутивів відмінних від Ubuntu може знадобитися перезбирати спеціальні Wine пакети, подробиці - тут(англ.).
Все зламалося після поновлення браузера!
Спробуйте вимкнути та заново включити плагіни, а також виконати команду:
Відомі проблеми з Unity 3D WP
Pipelight підтримує більшість Unity Web додатків, однак у деяких виникають проблеми, над якими розробники працюють (за їхніми запевненнями, на момент написання статті):
1. Зупинка завантаження файлу посередині. Вирішується перезавантаженням сторінки: завантаження не обривається, починається докачування частини файлу, що залишилася. 2. Постійно затиснута клавіша лівої стрілки (left arrow key). Вирішується або перезавантаження сторінки, або є нерозв'язною проблемою для конкретної програми. 3. Конкретна програма не запускається взагалі. На жаль, зустрічається із шансом приблизно 1 до 20.
Висновки та P.S.
Pipelight дозволяє легко і швидко насолодитися Unity 3D Web додатками у вашому улюбленому Linux дистрибутиві. Звичайно, це не зовсім повноцінна працездатність «як від виробника», але набагато легше за ресурсами, ніж паралельна VM машина, стабільніша за Wine, і набагато краще, ніж нічого :-)
P.S. Буду радий будь-якій конструктивній критиці щодо посту, побажань, а також вказівок на помилки, застереження та друкарські помилки в особу.
А у нас тут можна отримати грант на тестовий період Яндекс.Хмари. Варто лише у полі «секретний пароль» запровадити «Хабр»