Ошибка вида 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 создать его заново — об этом подробнее ниже.
Ручная установка через 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
⚠️ Внимание: установка компонентов через 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 рантайм | Игры эпохи DX9 | d3dx9 |
⚠️ Внимание: не устанавливайте «на всякий случай» все компоненты подряд. Лишние 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. После этого игра появится в списке.