Microsoft Visual C++ на Steam Deck: зачем нужен и как установить

Ошибка вида msvcp140.dll not found или требование установить Microsoft Visual C++ Redistributable при запуске игры на Steam Deck означает, что внутри префикса Proton отсутствует нужный набор системных библиотек Windows. Steam Deck работает на SteamOS (Linux), а Windows-игры запускаются через слой совместимости Proton, поэтому привычный установщик vc_redist.x64.exe нельзя просто скачать и запустить двойным кликом — библиотеки нужно доставить в конкретный префикс конкретной игры.

Хорошая новость: большинство современных версий Proton уже включают основные компоненты Visual C++, и Steam часто автоматически устанавливает redistributable при первом запуске игры. Проблемы возникают в основном с неофициальными сборками, старыми играми, модами и лаунчерами, которые ждут конкретную версию пакета. Ниже разберём, как всё устроено и что делать, когда игра отказывается стартовать.

Зачем играм на Steam Deck нужен Microsoft Visual C++

Visual C++ Redistributable — это набор библиотек времени выполнения, которые используют программы, написанные на C++ в среде Microsoft Visual Studio. Подавляющее большинство Windows-игр собрано именно там, поэтому без этих библиотек исполняемый файл просто не стартует: система не находит msvcp140.dll, vcruntime140.dll или их аналоги для нужной версии.

На обычном ПК с Windows вопрос решается установкой пакета с сайта Microsoft. На Steam Deck роль Windows выполняет Proton — модифицированная версия Wine. У каждой игры есть собственный изолированный префикс — виртуальный диск C:\ с собственным реестром и системными папками. Именно туда и должны попасть библиотеки Visual C++.

Как Proton устанавливает зависимости автоматически

Когда вы нажимаете «Играть» впервые, Steam выполняет так называемый first-time setup: скрипт установки, приложенный разработчиком к игре, прописывает в префикс нужные компоненты — Visual C++, DirectX, .NET и прочие. В библиотеке Steam это видно по записи «Выполняется скрипт установки» в диалоге запуска.

Кроме того, свежие версии Proton поставляют встроенные реализации многих библиотек Visual C++, поэтому для значительной части игр дополнительных действий не требуется вовсе. Если игра из официального каталога Steam не запускается, первым делом стоит проверить базовые вещи:

  • 🔄 Обновите SteamOS через Настройки → Система → Проверить обновления — свежая система включает актуальный Proton.
  • 🧪 Переключите версию Proton: в свойствах игры Совместимость → Принудительно использовать... попробуйте Proton Experimental или последнюю стабильную ветку.
  • 🗂️ Проверьте целостность файлов игры: Свойства → Установленные файлы → Проверить целостность.
  • 🔁 Удалите префикс игры и дайте Steam создать его заново — об этом подробнее ниже.
📊 Как у вас обычно решается проблема с Visual C++ на Steam Deck?
Само, после обновления Proton
Через Protontricks
Пересозданием префикса игры
Пока не сталкивался с проблемой

Ручная установка через Protontricks

Если автоматика не сработала, основной инструмент — Protontricks. Это утилита с графическим интерфейсом, которая умеет устанавливать компоненты Windows (включая пакеты Visual C++) в префикс любой установленной игры. В режиме рабочего стола Steam Deck она ставится из магазина Discover как Flatpak-приложение.

Порядок действий выглядит так. Сначала найдите игру в списке Protontricks — она отображается по названию и Steam AppID. Затем выберите пункт установки компонента (в терминологии Winetricks это verb). Для Visual C++ актуальные пакеты обычно объединены в компонент vcrun2022, который покрывает версии 2015–2022, а для старых игр могут понадобиться vcrun2013, vcrun2010 и более ранние.

Тем, кто предпочитает терминал, доступен вариант с командой:

flatpak run com.github.Matoking.protontricks APPID vcrun2022

Здесь APPID — числовой идентификатор игры в Steam, его можно посмотреть в свойствах игры или на странице магазина в URL.

☑️ Установка Visual C++ через Protontricks

Выполнено: 0 / 5
⚠️ Внимание: установка компонентов через Protontricks требует подключения к интернету — пакеты скачиваются с серверов Microsoft в момент установки. Прерывание процесса может оставить префикс в повреждённом состоянии, и проще будет пересоздать его заново.

Пересоздание префикса Proton

Иногда проще не чинить, а начать с чистого листа. Префикс игры хранится в каталоге compatdata внутри библиотеки Steam. Путь выглядит примерно так: ~/.steam/steam/steamapps/compatdata/APPID — для карты памяти путь будет вести в соответствующий раздел microSD.

Удалив папку с номером игры, вы заставите Steam при следующем запуске создать префикс заново и повторно выполнить скрипт установки зависимостей. Это обратимая операция для самой игры, но есть важный нюанс: сохранения многих игр лежат внутри префикса, в виртуальной папке пользователя Windows. Перед удалением проверьте, синхронизируются ли сохранения через Steam Cloud, либо скопируйте их вручную.

GE-Proton и нестандартные ситуации

GE-Proton (GloriousEggroll) — community-сборка Proton с дополнительными патчами и более свежими библиотеками. Устанавливается она через приложение ProtonUp-Qt, доступное в Discover. Для игр, которые капризничают на официальном Proton, переключение на GE-Proton нередко помогает, потому что сборка включает обновлённые компоненты и исправления, ещё не вошедшие в стабильную ветку Valve.

Отдельный случай — игры вне Steam: из Epic Games Store, GOG или standalone-установщики. Для них префиксы создают сторонние лаунчеры вроде Heroic или Lutris, и у каждого свои механизмы установки зависимостей. В Lutris, например, winetricks-подобные действия встроены в настройки префикса, а Heroic имеет собственный раздел управления компонентами Wine.

КомпонентКакие игры обычно требуютИмя verb в Protontricks
Visual C++ 2015–2022Большинство современных игрvcrun2022
Visual C++ 2013Игры середины 2010-хvcrun2013
Visual C++ 2010Старые тайтлы и утилитыvcrun2010
.NET FrameworkЛаунчеры, мод-менеджерыdotnet48 (и др.)
DirectX 9 рантаймИгры эпохи DX9d3dx9
⚠️ Внимание: не устанавливайте «на всякий случай» все компоненты подряд. Лишние verb'ы могут заменить встроенные библиотеки Proton на нативные Windows-версии, и игра, которая раньше работала, начнёт падать. Ставьте только то, что требует конкретная ошибка.

Диагностика: как понять, что проблема именно в Visual C++

Не каждый вылет игры связан с библиотеками C++. Характерные признаки именно этой проблемы: сообщение об отсутствующем DLL с именем msvcp* или vcruntime*, окно установщика redistributable, которое появляется и бесследно исчезает, либо мгновенное закрытие игры без ошибки сразу после логотипа.

Чтобы увидеть реальную причину, включите лог Proton. В параметрах запуска игры укажите:

PROTON_LOG=1 %command%

После попытки запуска в домашней папке появится файл steam-APPID.log. Поиск по словам err: и vcrun внутри лога покажет, каких библиотек не хватило. Это избавит от гадания и лишних установок.

Где именно лежит префикс и что внутри

Префикс — это каталог compatdata/APPID/pfx. Внутри него структура, имитирующая Windows: drive_c с папками windows/system32, Program Files и users/steamuser. Библиотеки Visual C++ устанавливаются в windows/system32 (и syswow64 для 32-битных версий), а записи о них попадают в файлы реестра system.reg и user.reg.

Типичные ошибки и их решения

Разберём частые сценарии. Если игра просит vcruntime140_1.dll, нужен пакет 2015–2022 — ставьте vcrun2022. Если ошибка ссылается на msvcr100.dll или msvcp100.dll, это Visual C++ 2010. Точное соответствие версии важно: пакеты разных лет не заменяют друг друга, они сосуществуют.

Вторая типичная ситуация — установщик redistributable запускается при каждом старте игры. Обычно это значит, что установка в префикс завершается с ошибкой, и Steam повторяет её снова. Помогает установка нужного компонента вручную через Protontricks, после чего скрипт видит уже установленный пакет и пропускает шаг.

  • 🧩 Ошибка msvcp140.dll is missing — установите vcrun2022 в префикс игры.
  • ♻️ Установщик VC++ крутится при каждом запуске — поставьте компонент вручную, чтобы скрипт увидел его присутствие.
  • 🎮 Игра из GOG/Epic — используйте средства Heroic или Lutris, а не Protontricks для Steam-игр.
  • 📜 Ничего не помогает — снимите лог через PROTON_LOG=1 и найдите конкретную строку ошибки.
⚠️ Внимание: перед любыми манипуляциями с префиксом убедитесь, что сохранения игры синхронизированы со Steam Cloud или скопированы вручную. Удаление префикса необратимо уничтожает всё, что лежит внутри него.

FAQ: частые вопросы

Можно ли установить Visual C++ на Steam Deck как на обычном ПК?

Нет. SteamOS — это Linux, и установщик vc_redist.exe напрямую в системе не работает. Библиотеки устанавливаются внутрь префикса Proton конкретной игры — автоматически Steam или вручную через Protontricks.

Что такое vcrun2022 и почему его рекомендуют чаще всего?

Это verb (команда установки) в Winetricks/Protontricks, который ставит объединённый пакет Visual C++ Redistributable версий 2015, 2017, 2019 и 2022 — Microsoft выпускает их как единый совместимый пакет. Он покрывает потребности большинства современных игр.

Пропадут ли сохранения, если удалить префикс игры?

Зависит от игры. Многие игры хранят сохранения внутри префикса, в виртуальном профиле пользователя Windows. Если игра поддерживает Steam Cloud, сохранения восстановятся автоматически. В противном случае скопируйте папку с сейвами из префикса перед удалением.

Нужно ли что-то ставить для игр, нативно работающих на Linux?

Нет. Нативные Linux-версии игр не используют Proton и Windows-библиотеки — Visual C++ им не требуется. Всё сказанное в статье относится только к Windows-версиям игр, запускаемым через Proton.

Protontricks не видит игру на карте microSD. Что делать?

Flatpak-версии Protontricks может не хватать доступа к карте памяти. Проверьте права доступа приложения к внешним накопителям (например, через Flatseal) — нужно разрешить доступ к точке монтирования microSD. После этого игра появится в списке.