**Применение**: Proton ― это специальная адаптация WINE от Valve, встроенная в Steam. Позволяет запускать большинство игр и приложений для Windows напрямую из Steam.
**Применение**: Lutris и Bottles ― это менеджеры игровых окружений для Linux. Они могут использовать разные версии WINE или Proton для конкретных приложений/игр.
**Всё равно** на Steam Deck игра будет работать через Proton, и при первом запуске сформирует собственный префикс (виртуальную C:-папку с зависимостями и реестром).
### proton в Bottles и proton в Steam - он один и тот же?
**Короткий ответ**: да, это по сути один и тот же Proton (основанный на WINE) ― но может отличаться версиями и сборками. В Bottles вы можете скачать и использовать как официальные версии Proton, так и разные форки, например Proton-GE (GloriousEggroll). А в Steam по умолчанию задействуются именно «официальные» ветки Proton от Valve (хотя и их тоже можно переключать).
Ниже разберём подробнее:
1. **Официальный Proton от Valve**
- Исходный код Proton открытый, поэтому любая программа (включая Bottles) может интегрировать Proton.
- В Steam под названием «Proton» обычно подразумеваются стабильные версии, которые Valve тестирует и распространяет автоматически.
- Есть ещё дополнительные официальные ветки: Proton Experimental, Proton Next (для тестирования будущих релизов).
2. **Proton-GE (GloriousEggroll)**
- Это популярная «неофициальная» сборка Proton, сделанная энтузиастами под руководством GloriousEggroll.
- Часто содержит патчи и исправления, которых ещё нет в официальном Proton.
- В некоторых случаях даёт лучшую совместимость или производительность для определённых игр.
- Bottles и Lutris умеют автоматически ставить Proton-GE, а в Steam вручную требуется скопировать файлы Proton-GE в специальную папку.
3. **Bottles**
- В Bottles есть менеджер «Runners» (различных сборок WINE/Proton), где вы можете выбирать из доступных версий:
- Официальные ветки Proton.
- Proton-GE.
- Различные билды WINE (WineHQ, Wine-Staging и т.д.).
- Таким образом, Bottles может использовать ту же самую сборку Proton, что и Steam, или другую (новее/старее/патченую).
4. **Steam**
- SteamDeck использует встроенный Proton (тоже открытый код), но обновления и патчи Valve публикует через свой канал обновлений в Steam.
- Если хотите на SteamDeck или обычном Linux-настольном Steam запускать нестандартную версию Proton (например, Proton-GE), то надо вручную «подложить» её в папку `~/.local/share/Steam/compatibilitytools.d/`.
5. **Почему отличаются**
- В Bottles (или Lutris) Proton может идти другими версиями/ветками ― иногда более свежими, иногда наоборот, они могут задерживаться.
- В Steam интеграция Proton с играми автоматическая, но версия Proton фиксирована в конкретном релизе (если вы не переключаете вручную).
- Поэтому Bottles позволяет «под капотом» играться с настройками и разными сборками WINE/Proton, а Steam пытается дать «best effort» с официальными проверенными вариантами.
**Вывод**:
- Кодовая база одна ― основана на WINE, а «Proton» от Valve включает дополнительные патчи и доп. tooling.
- В SteamDeck/Steam вы получаете «официальный» Proton. В Bottles можно ставить тот же самый «официальный» или Proton-GE.
- В итоге, если сравнить «Proton Stable» от Valve в Steam и ту же версию «Proton Stable» в Bottles, то это будут очень похожие билды. Главное ― чтобы они были одного релиза.
### Bottles создаёт для каждой игру свою среду (песочницу) или можно для несколких игр сделать общую среду?
**Короткий ответ**: в Bottles можно запускать несколько игр в рамках одной «бутылки» (одного префикса WINE), но по умолчанию логичнее (и безопаснее) создавать отдельную «бутылку» для каждой игры или приложения.
1. **Одна бутылка на игру** – самый «чистый» и надёжный вариант:
- Меньше конфликтов.
- Легче чинить возможные проблемы.
- Можно гибко переключать конкретные версии Proton/WINE для каждой игры.
2. **Одна бутылка на несколько «похожих» игр** – имеет смысл, если:
- У них идентичные требования (одинаковые версии .NET, DirectX и т.д.).
- Вам хочется сэкономить место за счёт общих зависимостей.
- Вас не смущает риск, что при установке нужных библиотек для одной игры что-то сломается в другой.
### можно ли bottles установить игру с зависимостями (библиотеками), а потом через steam запустить игру? подтянет ли steam зависимости, что установлены в окружении (bottles)?
Короткий ответ: **нет**, Steam не «подхватит» зависимости, установленные внутри «бутылки» Bottles, поскольку это совершенно отдельный префикс (wine-префикс) со своим набором файлов и реестром. Proton в Steam создаёт свой собственный каталог для игры, а Bottles ― свой.
Если вы запустите игру из Steam (даже «Non-Steam Game») с Proton, то она не будет автоматически использовать библиотеки, установленные внутри Bottles.
### 1. Как Bottles хранит окружения
- Bottles для каждой «бутылки» создаёт отдельный WINE-префикс (обычно где-то в `~/.var/app/com.usebottles.bottles/data/bottles/` или аналогичном каталоге).
- Все зависимости (Visual C++, DirectX, .NET и т.п.) устанавливаются _внутрь_ этой бутылки, то есть попадают в виртуальный `C:\windows\system32` и т.д., а также прописываются в реестре WINE.
### 2. Как Steam хранит префиксы Proton
- Steam тоже для каждой игры (или для каждой «Non-Steam» игры) создает отдельную папку-префикс Proton (внутри `~/.local/share/Steam/steamapps/compatdata/`).
- Все нужные библиотеки игра (через Proton) устанавливает уже туда.
- WINE-префикс Steam (Proton) не «знает» о существовании Bottles, и наоборот.
---
---
---
### Почему я задаю такие вопросы. у меня есть установщик игры, нужно игру установить (установшик при установке устанавливает в windows зависимости), а потом нужно запустить другую программу, которая исправляет ошибки в директории с игрой. моя задача: сделать так, чтобы на steam deck оказалась игра с исправлениями
Ниже общий принцип, как поступить, если у вас есть **установщик (EXE) игры** (который ставит зависимости в Windows) и потом ещё какая-то **программа-«патчер»**, которая «исправляет» файлы в установленной игре:
1. **Нельзя напрямую «перенести» Windows-зависимости** (из Windows в Steam Deck), потому что Steam Deck под Linux + Proton работает иначе. Даже если вы на Windows запустите установщик, который поставит .NET, Visual C++ и т.п., они пропишутся в системе Windows. На Steam Deck эти библиотеки тоже должны установиться, но **внутри Proton** (WINE-префикс).
2. **Файлы самой игры и любые «исправления» (патчи) копируются нормально**. Если установщик (или последующая программа) вносит изменения _внутрь_ папки с игрой (подменяет EXE, добавляет файлы, исправляет скрипты и т.д.), то эти изменения остаются, и вы можете просто взять итоговую папку игры и перенести на Deck.
3. **Как «донести» зависимости**:
- Чаще всего, когда вы запускаете игру под Proton (Steam Deck), она сама пытается установить нужные зависимости (DirectX, Visual C++ и прочие), если их нет.
- Если это не произошло автоматически, можно воспользоваться **Protontricks** (или Bottles) – это утилиты, которые позволяют «доставить» недостающие зависимости (например, `dotnet472`, `vcrun2019` и пр.) в префикс Proton (или в «бутылку» Bottles).
- Но просто «скопировать» папки `C:\Windows\System32` или регистровые ключи с Windows в Deck нельзя – всё это нужно устанавливать нативно для WINE/Proton.
---
## Способы решения
### Способ A: Устанавливать игру и патч **сразу на Steam Deck** (через Proton/Bottles)
1. **В Desktop Mode** на Deck добавляете «Non-Steam Game» → указываете установщик (EXE).
2. Запускаете через Proton (в свойствах → Compatibility → Proton).
3. Проходит установка (создаётся префикс Proton, в него ставятся нужные зависимости).
4. Туда же потом запускаете и «программу-исправлялку» (патчер) под тем же префиксом.
5. Готово – игра установлена и пропатчена прямо на Deck. Всё внутри одного префикса.
**Плюсы**:
- Всё происходит «как в Windows», только внутри Proton, и зависимости автоматически ставятся туда, куда нужно.
- Не нужно копировать туда-сюда.
**Минусы**:
- Иногда сложнее, если установщик игр громоздкий или требует несколько перезагрузок (хотя WINE-«перезагрузка» – это, по сути, перезапуск процесса).
- Если патчер или установщик «капризные», надо возиться с настройками Proton, версиями и т.д.
**Производительность** (в самой игре) – не хуже, чем при любом другом методе. Главное – корректно установить зависимости.
---
### Способ B: Установить и пропатчить на Windows, а потом скопировать файлы на Deck
1. На ПК с Windows запускаете установщик, игра ставится в `C:\Games\MyGame`, вместе с нужными библиотеками (но они прописываются именно в Windows).
2. Запускаете программу-«патчер», она вносит изменения в файлы игры (в `C:\Games\MyGame`).
3. Теперь копируете **итоговую папку игры** (с уже исправленными файлами) на Steam Deck (например, в `~/Games/MyGame`).
4. **На Deck**:
1. Добавляете EXE игры в Steam как «Non-Steam Game» (или используете Bottles/Lutris).
2. При первом запуске Proton создаёт префикс, пытается поставить зависимости, которые игра запрашивает (или вы вручную ставите их через Protontricks).
3. Если игра требует .NET, Visual C++, DirectX и т.д., которые не установились автоматически, придётся вручную «доустановить» их в префикс.
**Плюсы**:
- Не нужно возиться с установщиком/патчером на Deck – все операции сделали в Windows.
- Быстро, если у вас уже есть игра, и вы только хотите «закинуть» её на Deck.
**Минусы**:
- Зависимости не перенесутся автоматически – придется выяснять, чего не хватает, и ставить в Proton вручную.
- Иногда нужны дополнительные правки (например, если Windows-пути прописаны в конфиге игры, придётся вручную менять пути).
**Производительность**: как и любая игра под Proton. Если все нужные библиотеки установлены в префикс, проблем с производительностью не будет.
---
### Как понять, какие зависимости нужны
- Обычно при установке на Windows вы видите, что инсталлятор ставит, например, Visual C++ 2015-2019 Redistributable, .NET Framework 4.6, DirectX и т.д.
- На Steam Deck (в Proton) аналогичные библиотеки можно поставить через **Protontricks** или встроенные скрипты Proton (например, некоторые игры автоматом ставят DXVK, vcrun и т.п.).
- Если запускается установщик с game-редистрибутивами (DXSETUP.exe, vcredist_x64.exe и т.д.), Proton их тоже обычно запускает в своём окружении.
---
### Вывод
1. **Если установщик игры и «патчер» дружат с WINE/Proton** – проще **сразу всё устанавливать на Deck**, так вы получите рабочие зависимости внутри одного префикса.
2. **Если удобнее на Windows** – установите и пропатчите игру на Windows, потом **копируйте только папку игры** на Deck. На Deck придётся вручную позаботиться о библиотеке .NET или Visual C++ (через Protontricks и т.п.), если она не поставилась автоматически.
3. В любом случае, перенос «Windows-среды» в готовом виде невозможен: WINE/Proton используют другой механизм работы с реестром и системными DLL.
В результате у вас будет **игра с исправленными файлами**, которая запускается на Steam Deck под Proton (либо Bottles/Lutris), при условии, что все нужные библиотеки стоят в префиксе.
### "Туда же потом запускаете и «программу-исправлялку» (патчер) под тем же префиксом." разве так можно сделать через steam?
Короткий ответ: **в чистом Steam, «из коробки», каждая добавленная «Non-Steam Game» получает свой собственный Proton-префикс**, так что запустить «установщик», а потом в том же префиксе (в рамках той же «игры») второй EXE («патчер») через меню Steam напрямую — **не всегда просто**.
Однако есть несколько обходных путей:
---
## 1. Запуск двух EXE в одном префиксе – как это устроено в Steam
Когда вы добавляете любую программу в Steam как «Add a Non-Steam Game», Steam «присваивает» ей уникальный внутренний ID (AppID) и создаёт **отдельную папку префикса** Proton (wine-префикс) в папке `compatdata/<AppID>`.
- Все следующие запуски (по ярлыку этой «Non-Steam Game» в библиотеке) будут обращаться только к этому префиксу.
- Если вы добавите ещё один EXE как «Non-Steam Game», он получит **другой** AppID и, соответственно, **новый** префикс.
### Возможные сценарии
1. **Заменить EXE в уже существующей «Non-Steam Game»**
- Допустим, вы сначала добавили установщик игры (installer.exe) в Steam, запустили его, установили игру.
- Теперь, чтобы запустить «патчер.exe» в том же самом префиксе, можно **изменить путь к EXE** в свойствах этой же «Non-Steam Game».
1. Зайдите в «Properties…» → «Target» (Путь к исполняемому файлу) и поменяйте на путь к вашему «патчер.exe» (который лежит в той же папке).
2. Запустите снова через Steam. Теперь Proton пойдёт в тот же префикс (папка `compatdata/<AppID>`).
3. После успешной «пропатчки» можно снова поменять «Target» на уже установленную игру (например, `game.exe`).
- Так вы по очереди сможете запускать разные EXE, **но** всё это в одной позиции библиотеки Steam (нужно вручную менять путь).
2. **Запустить патчер напрямую из установленной игры** (если патчер вызывается самой игрой)
- Некоторые «патчеры» представляют собой EXE, который вызывается при старте или внутри меню самой игры. Тогда вмешиваться не нужно, всё сработает «внутри» одного префикса.
3. **Использовать скрипт на Linux, который внутри себя вызывает любой EXE**
- Можно создать скрипт-шелл (.sh) в Desktop Mode, который через переменные окружения укажет Proton, какой префикс использовать, и какой EXE запускать.
- В Steam в качестве «Non-Steam Game» добавить этот скрипт, прописать совместимость (Proton).
- Тогда вы сможете запускать и установщик, и патчер, и саму игру из одного префикса, просто меняя аргументы внутри скрипта (или делая меню). Но это уже «ручная» настройка и не самая тривиальная для новичков.
**Важно**: если вы просто добавите **два отдельных ярлыка** (installer.exe и patcher.exe) в Steam по очереди, то (без дополнительных ухищрений) у них будут **разные** префиксы. Вы получите две разные «Non-Steam» записи в библиотеке, которые не «видят» изменения друг друга.
---
---
## 3. Итог
- **Прямого удобного механизма** «добавить два EXE и заставить их жить в одном префиксе» в Steam **нет** – у каждой «Non-Steam Game» свой префикс.
- **Но** с «Non-Steam Game» можно «исхитриться» и **поочерёдно менять** путь к EXE внутри **одной** записи в Steam. Тогда оба EXE будут использовать тот же AppID и, значит, один префикс.
- Альтернативно, можно **использовать скрипт**, который вызывает нужные EXE под одним AppID, но это требует ручной подготовки.
- Если для вас важно в удобном GUI запускать установщик, потом патчер, потом саму игру (всё в одном окружении), лучше пойти в Bottles или Lutris, где это штатно реализовано.
### Теперь, чтобы запустить «патчер.exe» в том же самом префиксе, можно изменить путь к EXE в свойствах этой же «Non-Steam Game». где угодно может лежать exe файл?
Да, физически **EXE-файл может находиться в любой папке**, лишь бы вы указали **полный путь** к нему в свойствах «Non-Steam Game». Steam (Proton) при запуске будет пользоваться тем же самым префиксом, если вы **не меняете** саму запись «Non-Steam Game», а просто правите в ней путь к EXE.
Однако учтите несколько моментов:
1. **Права доступа**
- Убедитесь, что у вас есть права на запуск (исполнение) файла в этой папке. На Linux это флаг «исполняемый» (executable) или chmod +x.
- Если вы сохраняете .exe на внешнем накопителе или в необычной папке, может потребоваться разрешить ему запуск (через файловый менеджер или команду chmod).
2. **Относительные пути игры**
- Если «патчер.exe» ищет файлы игры рядом с собой (по относительным путям), тогда он **должен** лежать либо в том же каталоге, что и игра, либо знать путь к ней. Иначе он может не найти нужные файлы.
- То есть, чисто со стороны Steam/Proton, вы можете положить EXE куда угодно. Но сам «патчер» может рассчитывать, что он находится вместе с игрой.
3. **Один AppID/префикс**
- Ключевой момент – чтобы запустить несколько EXE «в одном префиксе», вы **не** создаёте отдельную «Non-Steam Game» на каждый EXE.
- Вместо этого **используете одну и ту же запись** (один AppID).
- Меняете путь с «...\installer.exe» на «...\patcher.exe» или «...\game.exe» в настройках, в зависимости от того, что хотите запустить. Таким образом и установщик, и патчер, и сама игра будут жить в одном и том же окружении Proton.
Таким образом, **да**, «патчер.exe» может находиться где угодно, если это не мешает самой логике патчера (поиску файлов). Steam важен только путь к EXE, а префикс определяется AppID и «Non-Steam Game» записью.
### рабочая папка - путь там тоже менять?
Да, в большинстве случаев **имеет смысл (или даже необходимость)** менять и «Working Directory» (рабочую папку) в свойствах «Non-Steam Game» на соответствующую папку, где лежит ваш EXE.
Это нужно потому, что многие программы (установщики, патчеры, лаунчеры, да и сами игры) используют **относительные пути** для доступа к ресурсам (конфигам, файлам, библиотекам). Если «рабочая папка» будет указывать не туда, программа может не найти нужных файлов.
### Как это выглядит
1. **Target (Путь к EXE)**: здесь вы указываете полный путь к файлу, например:
```
/home/deck/игры/MyGame/installer.exe
```
2. **Start in (Working Directory)**: здесь обычно ставят путь к папке, где этот EXE лежит, без самого названия файла, к примеру:
```
/home/deck/игры/MyGame
```
Или туда, откуда программе нужно стартовать, если у патчера/игры особая логика расположения папок.
### Общая рекомендация
- **Если вы меняете EXE** (на патчер или на игру), то желательно **согласовать** и «Working Directory» (обычно это та же папка, что и EXE).
- Это не всегда строго обязательно, если программа сама умеет корректно находить нужные файлы. Но **почти все Windows-приложения с относительными путями** предполагают, что рабочая папка совпадает с местом, где лежит их основной EXE-файл (или корневая папка игры).
Таким образом, если вы собираетесь запустить «патчер.exe» в другом каталоге, **да**, следует поменять в свойствах «Non-Steam Game» и «Target», и «Start in» на соответствующие пути, чтобы всё правильно работало в одном префиксе Proton.
### путь до патчера должен быть указан или путь до игры?
Если на данном этапе вы хотите **запустить именно патчер**, то:
1. В поле **Target** (Путь к EXE) нужно прописать путь **до патчера** (например, `/home/deck/игры/MyGame/patcher.exe`).
2. В поле **Start in** (Working Directory) указываете папку, **где лежит этот патчер** (обычно та же `/home/deck/игры/MyGame`, без названия EXE).
Таким образом при запуске из Steam в одном и том же префиксе Proton запускается ваш `patcher.exe` и ищет нужные файлы (часто по относительным путям) в каталоге, указанном в «Start in».
> **Важно**: если патчер ссылается на файлы самой игры в другом месте, нужно убедиться, что он либо лежит в одной папке с игрой, либо правильно настроен для поиска файлов (некоторые патчеры читают из текущего каталога, другие берут путь из настроек). Обычно патчер располагают рядом с исполняемым файлом игры, чтобы относительные пути совпадали.
После окончания работы патчера, если нужно запускать уже **игру**, вы можете:
- Переписать **Target** на путь к `game.exe`, а **Start in** – к папке с игрой, чтобы всё так же запускалось в том же самом (единственном) Proton-префиксе.
- Или (если патчер срабатывает автоматически при каждом старте) оставить настройки как есть, если так задумано.
Но для однократного применения патча обычно удобнее:
1. Прописать путь к патчеру → запустить Steam → дождаться окончания работы патчера.
2. Вернуть путь в свойствах «Non-Steam Game» к `game.exe` → запустить уже саму игру.
# При запуске патчера, выдает такую ошибку
![[Снимок экрана 2025-03-10 в 11.53.03.png|400]]
Сообщение означает, что патчер не находит нужную библиотеку Visual C++ (VC++ Runtime) версии 2015 или выше. Поскольку на Steam Deck всё идёт через Proton (WINE-префикс), нужно установить эти библиотеки _внутрь_ того же префикса, где запускается патчер. Ниже несколько способов, как это сделать:
---
## Способ 1: Protontricks (самый популярный путь)
1. **Переключитесь в Desktop Mode** (нажмите кнопку Steam → «Power» → «Switch to Desktop»).
2. **Установите Protontricks**, если у вас его ещё нет. Проще всего через Discover (магазин приложений) или командой в консоли:
```bash
flatpak install com.github.Matoking.protontricks
```
3. Запустите **Protontricks**. Появится окно со списком игр/префиксов.
- Найдите ту «Non-Steam Game» или игру (AppID), которая соответствует вашему патчеру. Если вы не видите точного названия, посмотрите ID (или добавьте патчер в Steam заново).
4. Когда выбран нужный префикс, Protontricks предложит **установить компоненты** (Install DLL components).
5. Поставьте галочку напротив `vcrun2015` или `vcrun2019` (зависит от того, что нужно). Иногда достаточно `vcrun2015`, а Visual C++ 2019 включает 2015+ (backwards-compatible).
6. Программа скачает и установит библиотеки внутри этого префикса Proton.
7. Запустите снова патчер через Steam (в том же Non-Steam ярлыке). Ошибка должна пропасть.
> **Примечание**: Если ваш патчер или игра требует конкретно «VC++ 2015 or later», то попробуйте либо `vcrun2015`, либо (чаще) `vcrun2019`. Это обычно решает проблему.
---
## Способ 2: Запустить официальный установщик vcredist_x64.exe вручную под тем же префиксом
Если не хотите (или не можете) ставить Protontricks:
1. **Скачайте** нужный `vcredist_x64.exe` (Visual C++ Redistributable 2015/2017/2019/2022) с сайта Microsoft (в Desktop Mode).
2. **Добавьте** этот EXE как «Non-Steam Game» (или замените Target/Working Directory в уже существующей записи, чтобы оно пошло в тот же префикс).
3. Запустите его под тем же Proton-префиксом. Он установит нужные библиотеки.
4. Верните ярлык на ваш патчер.exe и запустите патчер.
---
## Способ 3: Использовать Bottles (если у вас Bottles)
Если вы **не** через «Non-Steam Game» запускаете патчер, а через Bottles:
1. Откройте Bottles → выберите бутылку, где лежит патчер.
2. Зайдите в «Installers» / «Dependencies» (в зависимости от версии Bottles) и найдите «Visual C++ 2015-2019» (или необходимую).
3. Нажмите «Install».
Bottles автоматически скачает и установит нужную библиотеку в текущую «бутылку». После этого патчер запустится без ошибки.
---
## Кратко об ошибке
- Сообщение **«Visual C++ Runtime files are not installed. Please install the Visual C++ x64 Redistributable 2015 or later. Error Code: E099»** возникает из-за отсутствия vcrun2015 (или более новой) внутри WINE/Proton-среды.
- На обычном Windows системе всё ставится через официальный vcredist. На Steam Deck / Linux тот же пакет надо ставить в Proton-префикс (через Protontricks, Bottles или вручную).
После установки нужной библиотеки патчер должен запускаться нормально, и вы сможете продолжить работу над игрой.
# А разве proton не должен сам поставить недостающие библиотеки?
**Коротко**: в теории, Proton **может** автоматически устанавливать определённые стандартные библиотеки (DirectX, VC++ и т. п.) для **официальных игр из Steam**, у которых прописаны «install scripts». Но в случаях с **«Non-Steam Games»** или кастомными EXE-файлами (например, патчерами) нередко автоматическая установка **не срабатывает** или вообще не предусмотрена. Тогда приходится вручную добавлять нужные пакеты (через Protontricks, Bottles или установщики vcredist).
Ниже поясним, почему так получается:
1. **Механизм автоматической установки**
- Когда вы запускаете _официальную_ игру из Steam (поддерживаемую Proton), Steam может проверять, какие redistributables (распространяемые компоненты) требуются.
- Обычно это делается через специальные скрипты, которые Valve и издатели прописывают в манифесте игры (например, «скрипт установки DirectX» или «скрипт установки VC++ Redistributable»).
- Proton распознаёт эти инструкции и «подсовывает» нужный установщик внутри WINE-префикса.
2. **«Non-Steam Games»** или **клиентские EXE** (не идущие в составе официальной Steam-игры)
- Когда вы самостоятельно добавляете EXE в Steam, у него **нет** прописанного install script, который бы указывал «установить vcrun2015».
- Proton видит лишь запущенный EXE и не знает, какие именно зависимости нужны. Если ваша программа при запуске не запустила vcredist-установщик сама, Proton не сможет «догадаться».
- Поэтому если EXE даёт ошибку «отсутствует Visual C++», вам приходится **вручную** добирать нужные библиотеки (Protontricks, Bottles или запустить вручную официальный vcredist_x64.exe под тем же префиксом).
3. **Почему именно Visual C++ 2015 или выше**
- Многие игры/патчеры используют библиотеки, появившиеся начиная с VC++ 2015 (которые охватывают 2015/2017/2019/2022).
- Если их нет в вашем префиксе, игра или патчер покажут ошибку вроде «Runtime files are not installed».
4. **Производительность**
- Установка недостающих redistributables **никак не влияет** на производительность, а лишь обеспечивает запуск.
- Если же без них EXE просто не запускается, то после их установки игра/патчер будут работать нормально.
---
### Вывод
- Proton **может автоматически** ставить библиотеки, **но только** если это официальная Steam-игра с прописанным в манифесте инсталлятором, или если сам EXE при запуске запускает «vcredist_x64.exe».
- **Для Non-Steam программ** автоматическая установка часто не работает: у них нет «steam install script», а инсталлятор (vcredist) не вызывается. Приходится **самому** ставить эти библиотеки в префикс (через Protontricks, Bottles или добавив установщик vcredist как «Non-Steam Game» и запустив его).
---
---
---
я решил запустить ещё раз Protontricks. запустил его, выбрал нужный appId, он подумал, подумал, какие-то ошибки выплюнул, и появилось окно установки .NET. это нормально?
После попытки установить библиотеку для фикса предыдущей ошибки, появились новые ошибки. Теперь помимо ранее описанной ошибки, теперь выдает еще и эту (просит поставить PowerShell):
![[Снимок экрана 2025-03-10 в 12.09.44.png]]