5 декабря 2018 5.12.18 10 3762

Зачем Valve «влезла» в Linux?

+24

Привет. Меня зовут Иван Рыбаков (или, как тут написано, notecx), и я бы хотел вам рассказать о линуксах и играх на нём. «Ха!» – вы подумали, мы уже все слышали про их провальную идею со Steam Machines и какую-то непонятную Steam OS. Но я хочу попробовать поразмыслить, зачем Valve решила в это влезть, чего нам можно ожидать, и причём тут Microsoft.

Предисловие

Начну с небольшой истории про себя. Я пользуюсь операционными системами на базе Linux уже где-то, наверно, лет десять. Я не программист, не системный администратор или даже не кто-то около того. Я обычный любитель поковыряться в компах и в различном софте.

Моё знакомство с линуксом произошло довольно странно. В одном из журналов околокомпьютерной тематики тех лет я вычитал, что есть такая «операционка», которой вирусы не страшны, которая очень бережно потребляет ресурсы твоего ПК, и вообще – она бесплатная. Я тогда такой: «Вау!.. А что это вообще такое?». И с такой вопрос я задал своему учителю информатики, который мне тогда и сказал, что это всё какая-то любительская хрень и ничего хорошего бесплатно не бывает.

Из одного такого журнала я и прознал про Linux. Фото не моё, мои журналы в 150 км от меня

Я не поверил, скачал образ Ubuntu (это, если кто не знает, один из вариантов операционных систем Linux), записал на диск, запустил его, и!.. Монитор мне показал грустную командную строку, из которой по всей видимости следовало, что ничего увидеть мне не светит, твой учитель был прав, и давай иди нафиг. Так моё знакомство с Linux на этом приостановилось.

Но если бы не распираемое чувство чего-то не достигнутого, того, что внутри меня говорило мне: «Ты что, лох? Не смог даже разобраться? Просто бросил и всё?», я бы, наверно, так всё и оставил. Но я пошёл в Интернет – читать, познавать, готовиться, понимать. Скачал с областного локального торрент-трекера другой линукс, Mandriva (земля ей пухом), и, о чудо, она запустилась! С этого началось своё плавание в мире Linux, свободного программного обеспечения и опенсорса.

Дивный мир Linux

Linux? Игры? Что?!

Что я сразу приметил – это способ установки программ. Мне не надо было ходить по сомнительным сайтам, качать варез с депозит файлс, или программки с «классными» и так нужными человечеству Яндекс.Барами и тому подобным весельем. В операционках линукс разработчиками ОС заведено так, что они сами собирают программы в «пакеты» (формат запаковки программ), «пакеты» размещаются на их серверах и/или серверах-зеркалах (в России одним из самых больших серверов-зеркал заведует Яндекс), сортируются по их назначению (видео, музыка, игры, Web и т. д.) и поставляются на компьютер пользователя через свой «пакетный менеджер», который выглядит как каталог с описанием, картинками и отзывами. Для меня, как перебежчика с Винды, это было в новинку. И это меня зацепило.

Центр приложений в современной среднестатистической Linux выглядит примерно так

Я не буду углубляться в подробности различий между Linux и Windows, да и названия Linux, и продолжу с одной из основных проблем – игры. В самом деле, сайт-то игровой.

С играми в Linux, по правде говоря, было не так уж и плохо. Ещё в бородатые времена id Software выпускала порты своих игр и на эту операционку. Была так же создана компания Loki Entertainment, которая даже выпускала физические диски с портированными играми под Linux. И всё это было на фоне внезапного успеха из ниоткуда возникшего проекта Linux, который начался как любительская разработка одного финского студента и продолжил стремительно развиваться. Правда, ожидания в плане свержения монополиста домашних ПК в лице Microsoft не оправдались, сама Linux застряла на однопроцентном рубеже, и ушла в сервера. Да, остались версии для домашнего пользователя, но что производители, что разработчики стараться ради одного процента пользователей особо не стремились. Количество игр, по сравнению с Windows, было на уровне погрешности.

Доля Linux на серверах vs доля Linux в Steam

Microsoft приносит «магазин», а Valve повышает ставки

Так бы всё и осталось, если бы не та же самая Microsoft и их неоднозначно встреченная Windows 8, которая вышла в 2012 году. Можно подумать, это была провальная операционка, как она вообще могла на что-то повлиять? Но кто-то вспомнит, что это была первая операционная система от Microsoft, которая поставлялась со своим собственным магазином приложений и игр. Да, он был странный, в нём было полно мусорных приложений, а те приложения, что хоть что-то из себя представляли, запускались только в полноэкранном планшетном виде. Но это был первый «звоночек» – Microsoft хочет поставлять программы и игры через себя. Прошлый раз, когда Microsoft сделала что-то подобное, был предустановленный в Windows 95 браузер Internet Explorer, который в своё время по факту уничтожил «мастодонта» Netscape Navigator. На этот раз Microsoft показала, что теперь на своей платформе она хочет стать поставщиком приложений и игр. По сути, взрастить прямого конкурента Steam, да ещё и предустановленного в систему.

Первые неловкие шаги Microsoft в мир цифровой дистрибуции ПО

Гейб Ньюэлл же, как руководитель сервиса дистрибуции игр Steam, не мог не заметить появления угрозы со стороны Microsoft. И, судя по последующим действиям, был готов к этому. В том же 2012 году Valve объявила, что их клиент Steam будет работать не только на Windows и Mac OS X (нынче macOS), но теперь и на альтернативной операционке Linux. Valve впряглась тогда не слабо – наняла одного из бывших работников Loki Entertainment Сэма Лантинга написать новую версию программной библиотеки SDL (Simple DirectMedia Layer – прослойка для игр, передающая управление клавомышью/геймпадом, выводит картинку и звук, и, вы не поверите, разрешающую сворачивать игру (да, раньше игра в Linux, словно порнобаннер в Windows, перехватывала управление, и ты не мог её свернуть)). Сама Valve не только портировала Steam, но и все свои игры. Пользователи Linux впервые смогли официально проехаться на поезде в Half-Life.

На этом всё не закончилось. Valve объявила об инициативе Steam Machines – устройств, поставляющихся с их собственной операционной системой SteamOS (естественно, это Linux). Разработчики игр, увидев амбиции «клапанов», решили обзавестись собственными портами под вновь, как казалось, развивающегося конкурента Windows – кто через таких посредников-портировщиков как Aspyr, Feral Interactive или Virtual Programming, а кто и своими силами (не только различные инди-разработчики с Super Meat Boy, Bastion, Trine и другие, но и 4A Games сами перенесли игры серии «Метро 2033», а так же разработчики одной такой игры с более тысячи наземной, водной и воздушной военной техники ( ͡° ͜ʖ ͡°) ).

Значок с поршнем правее от яблока в Steam обозначает, что игра поддерживает Steam OS (или просто Linux)

Но вот мы здесь, большинство читающих это скорее всего Linux так в глаза и не видело (или видело где-то в стенах школ или других каких учреждениях), Windows доминирует и властвует на домашних ПК. Как же так произошло?

Отступить и набраться сил

Видя, что делает Valve, Microsoft отступила. Она так и не стала ограничивать свою операционную систему работой только со своим магазином приложений, выпустила более удачную Windows 10. Сама Valve не совладала со своими амбициями, Steam Machines оказались никому не нужны, портирование игр как-бы заглохло. Одна Feral Interactive нет-нет, да выпустит несвоевременный порт какой-нибудь игры с запозданием в лучшем случае в полгода. Все остались на Windows, и вроде всё хорошо, так? Но магазин приложений никуда не пропал.

Игровое подразделение Microsoft, занимающееся развитием Xbox, в последнее время сместило своё направление с развития только лишь своей игровой консоли Xbox One. Игры от Microsoft стали выходить и на ПК, правда, только на Windows 10, и распространяются они через их магазин. Кто-то может возразить, что с того, например Quantum Break, Cuphead, Inside есть и в Steam. В таких конкретных случаях нужно смотреть, за кем остались права по распространению игр (конкретно в этих случаях разработчики права сохранили). Но и это не так важно, на самом деле. Главное для Microsoft – наполнить магазин играми, и не только своими. Там уже есть проекты и от сторонних разработчиков – Resident Evil 7, Call of Duty и т. д. Главное для – сделать всё плавно и незаметно, не сильно раздражая игроков, чем они и занимались после провала Windows 8. Из последнего, Microsoft наполнило своё портфолио игровых разработчиков такими мастерами классических RPG как Obsidian и inXile.

Microsoft заинтересована в рынке игр для ПК, да и не только игр. В недрах Microsoft уже не первый год идёт разработка новой операционной системы под названием Windows Core OS – это некая модульная ОС с различными профилями работы, зависящими от устройства, на котором она работает: Xbox, ПК, голографический шлем Hololens, корпоративный планшет-доска Surface Hub. Именно Surface Hub (а точнее вторая его версия) в будущем первым получит возможность работать под управлением Windows Core OS. Кстати, одна из особенностей новой операционки – она не может запускать программы, написанные под обычные версии Windows, и ограничена она магазином приложений.

UWP приложения объединяют продукты Microsoft

Microsoft ведёт тихую «игру» по развитию своего магазина. Она больше не хочет внезапного раздражения пользователей, Фил Спенсер (руководитель Xbox) уже пообещал в будущем переработать их магазин в лучшую сторону (в нём недавно появились корзина и список желаемого, как и в Steam), и даже пообещал поддержку их сервиса игр по подписке Xbox Game Pass. А что Valve?

Valve strikes back

Valve, благодаря диверсификации своего магазина цифровой дистрибуции ещё в 2012 году, отвязав его от одной платформы (mac не в счёт, это довольно обособленная платформа), проделала большую работу по созданию альтернативы, и в 2018 году сделала ещё одну важную вещь – сделала возможным запуск Windows игр под Linux без каких-либо затрат со стороны разработчиков игр, а именно – создала Steam Play. Steam Play, по сути своей, в мир Linux ничего нового не принес, это сборка Wine от Valve (слой реализации работы Windows приложений под другими ОС), кроме главного – удобства использования. Действительно, когда раньше для запуска игрушки, которая была написана только для Windows, нужно было «курить» гайды в Интернете, всё долго настраивать, а в итоге, в большинстве случаев, получить ничего, сейчас Steam Play просто позволяет скачать Windows игру в Steam одним кликом, и, аналогично Windows, просто нажать «Играть». И всё.

От игры в Deus Ex: Human Revolution меня разделяют пара кликов, а в Eidos Montreal скорее всего об этом даже и не подозревают. И не должны

Steam Play не какое-то особое колдовство, DirectX от Microsoft заставить работать на чём-либо, кроме Windows, просто так нельзя. Для этого используется «переводчик» на лету с DirectX на более свободную графику OpenGL. Но как и обычный людской переводчик, на лету без потерь не обойтись, т. е. игры работают через такой способ сильно медленнее. Так бы всё и было, и Steam Play никто бы делать не стал, пока не появился Vulkan – новый способ отображать картинку, позволяющий взаимодействовать с устройствами компьютера более плотно и тесно, выдавая более лучшую производительность. Энтузиаст под псевдонимом doitsujin решил этим воспользоваться и написать «переводчик» с DirectX 11 на Vulkan под названием dxvk, чтобы можно было играть в NieR: Automata без необходимости перезагружаться в Windows. Разработка получилась настолько хорошей и производительной, что Valve не преминула возможностью нанять этого человека в свою компанию. Именно dxvk внутри Steam Play позволяет с разницей в 15-20 процентов от запуска под Windows запускать игры под Linux, а количество игр, уже работающих через Steam Play, растёт, как и само качество работы Steam Play.

А что в итоге?

По-моему мнению, Linux для Valve на данном этапе скорее как спасательная шлюпка. Только это такая шлюпка, в которую Valve активно инвестирует, развивает, которую Valve хочет сделать настоящим кораблём. И в случае чего, мы все в него поместимся.


Лучшие комментарии

Интересно было наблюдать, как игры приходят на Linux. По началу было всего пара десяток игр и то почти все от Valve, но потом как-то быстро библиотека разрослась и всего за один год перевалила за 1000. А драйверы? Когда я впервые установил Ubuntu и попытался запустить Serious Sam 3, оказалось что свободный драйвер не поддерживает OnenGL 4.x, пришлось устанавливать проприетарный и я ужаснулся от его качества. Всё тормозило, глючило, картинка превращалась в месиво из графических глитчей. Играть было невозможно. Но, как и с ростом количества игр, росло и качество драйверов и опять таки за год ситуация кардинально изменилась и почти все проблемы были решены. Каждый раз, когда выходила очередная более менее крупная игра на Linux, я тут же её устанавливал и смотрел как она работает. Мне даже не интересно было играть в игры, я просто смотрел как они работают на Linux и наблюдал как с каждым новым патчем правились баги и улучшалась оптимизация. Жаль, что сейчас я не могу протестировать Proton, т.к. моя видеокарта не поддерживает Vulkan.
А вот процент игроков как был около единицы, так и остался. Очень жаль.
Хах, да это же моя история практически! Глитчи в Serious Sam 3 на Catalyst? Всё то же самое было, у меня тогда была Radeon HD 4650.


Сейчас у «красных» дела лучше, конечно. :)
Да да, Catalyst) У меня Radeon HD 5650. Да, по началу всё было печально конечно. Но потом я даже Ведьмака 2 полностью прошёл на Linux, хотя эта игра и на Windows была тяжела для моей видеокарты. Некоторые игры были практически идеально перенесены, например Metro Last Light, её я тоже на Linux прошёл
Проблема Linux в том, что ему нечего предложить рядовому пользователю. Даже если он ни в чем не будет уступать Windows, то этого будет недостаточно, чтобы переманить хоть какую-то существенную часть пользователей с привычной Windows.
В том то и дело, что нужно переучиваться. То есть человек потратит время и, возможно, деньги, чтобы освоить новый софт, а какой «выхлоп»? Потеря 15-20% производительности в играх?
Мы сейчас не говорим о админах, у которых может быть профессиональная потребность в Linux, или энтузиастах, которых прёт от самого процесса изучения чего-то нового для себя. Для перехода на Linux обычному пользователю недостаточно получить то же самое, нужно получить больше. Иначе зачем менять то, что и так нормально работает?
У вас опечатка в одном из тайтлов
Vavle strikes back

Как это Mandriva всё? Когда?!
В поисках решения временного лечения разного рода проблем с Windows, иногда хочется попробовать любую альтернативу в надежде на стабильность и безопасность. Не говоря о более глубокой кастомизации, которая официально в окнах не поддерживается. Лично для меня, как пользователя, пугают серьёзные проблемы на старте с поиском альтернативного софта в -unix системах. Не говоря о том, что большая часть того, что я использую — не кроссплатформенные продукты и были приобретены не за бесплатно. Отсюда и желание работать с другим/новыми продуктами отпадает.

Рядовому пользователю, скорее всего, достаточно будет полной поддержки win-приложений, чтобы попробовать переехать без боли для повседневного использования ПК.
А можно поподробнее, что она не предложит рядовому пользователю?
Установка? ну установка ubuntu, debian оформлена в графике, в принципе не сложно.
Видео смотреть можно, играть, ну в соответствии со статьей тоже.
Браузер есть, в браузере все приложения google disk + word online и тд. Хочется на комп? — libreoffice.
Что еще нужно рядовому пользователю? Почтовые программы есть, скайп онлайн, антивирус не нужен особо, хотя даже он есть. Работа с телефонами такая же.
Интерфейс можно найти как windows. Я хз, может специализированные программы? Ну так и они в большинстве своем имеют аналоги. Ну да, надо будет переучится. Да могут быть косяки с обновлениями и установками. Но у винды в последнее время с обновлениями тоже не сладко.
Спасибо. Не понимаю, как не углядел заголовке.
А Mandriva-то уже лет семь как всё. После банкротства Mandriva S.A. часть разработчиков ушла в Mageia, кто-то перешёл в ROSA, и на разработках ROSA уже третьи люди основали OpenMandriva. Да, основано оно всё на оригинальной Mandriva, но и отошли от неё далеко, и былой популярности уже нет.
Читай также