Увеличиваем размер файла подкачки на Steam Deck
Никогда бы не подумал, что какая-то игра с зелёной галочкой может быть неюзабельна без доработки системы напильником.
ㅤ
Ниже расскажу о том, что случилось и как всё улучшить самостоятельно.
1) Дано
2) Решение
3) Проверка
4) Постскриптум (обращение к опытным юзерам)
TL;DR
God of War зависает на Steam Deck.
Причина: переполнение оперативной памяти.
Исправление: установка CryoUtilities.
Дано
Есть шедевральный God of War 2018-го года, который официально поддерживается дэком и рекомендуем к покупке.
Однако в меню своих настроек игра честно признаётся, что размер файла подкачки для неё неприемлем. Вон, красненьким горит внизу:
Вследствие этого спустя час с хвостиком память переполняется, а Steam Deck зависает. Приходится удерживать кнопку питания и жёстко перезагружать гаджет.
ИГРА С ЗЕЛЁНОЙ ГАЛОЧКОЙ И ОТМЕТКОЙ «ПОЛНОСТЬЮ СОВМЕСТИМА» ВЕШАЕТ ДЭК НАМЕРТВО!
Сперва я подумал, что это мой частный единичный случай. Мало ли, вдруг просто внезапный сбой. Но после повторного краша полез в гугл и понял, что ситуация распространённая.
Проблему описывали в январе 2022, есть подробная страница со скринами и замерами утекающей памяти. Но даже спустя 2 года гадавару всё ещё не хватает памяти под линуксовым протоном...
Решение
Увеличиваем файл подкачки.
Это можно сделать как вручную через консоль, так и крутой утилитой от энтузиастов. Я предпочитаю второй способ, потому что в этом случае:
а) легко повторить настройки после обновлений системы;
б) можно в один клик всё откатить назад.
Итак, переходим на страницу загрузки и качаем инсталлятор:
Далее залезаем в папку с загрузками и запускам скачанный файлик, выбрав Execute и согласившись со всем.
После установки новая приложенька появится в главном меню:
Софтина предельно простая. Запускаем, соглашаемся с опасностью действий, вводим пароль суперпользователя (или создаём его, если почему-то не сделали это до сих пор):
На вкладке Swap наблюдаем текущие значения:
Либо меняем их здесь вручную, либо же жахаем рекомендуемые настройки с помощью первой вкладки. В этом случае утилита поставит Swap в 16 GB и Swappiness в 1, с которыми я абсолютно согласен.
Swappiness определяет то, в какой момент системой начинает задействоваться файл подкачки.
Меньше число – меньше желание системы лезть туда.
Задаётся в диапазоне от 1 до 200.
Проверка
God of War в меню больше не ругается на файл подкачки. Уведомление про оперативную память вообще пропало, её игре хватает с головой.
Лишь при выставлении максимальных настроек появляется предупреждение. И в нём, кстати, стоят уже наши активные 16 ГБ подкачки.
После выполнения описанной в посте процедуры Бог Войны не вылетел ни разу.
Последняя игровая сессия длилась почти 3 часа и включала в себя прохождение Альвхейма. Ни яркие вспышки с множеством отражений, ни десятки тёмных эльфов, ни чёрно-белые флешбеки не смогли нарушить стабильность работы.
Проблема решена.
Постскриптум
Уже во время создания этого поста я понимал, что вызову лёгкое возмущение у опытных пользователей. Поэтому отвечу им прямо здесь.
Некоторые закономерно возмутятся тем фактом, что для банальной операции советую ставить отдельный софт, да ещё и вводить пароль суперпользователя где попало. Поэтому если вы уверенный пользователь ПК, любите всё делать ручками и не доверяете всяким «сборкам от энтузиастов», то команды по управлению свопом следующие:
SIZE_IN_GB и VALUE подставляйте свои, конечно же.
Это взято со страницы пояснения сути производимых манипуляций. Там же есть комментарии по твикам с HugePages, применяемым при выставлении рекомендуемых настроек.
Другая категория опытных дэководов скорее всего скажет, что CryoUtilities – это вообще база, это должно устанавливаться в первую очередь на каждый дэк, писать про такое отдельно нет смысла. Отчасти соглашусь, ибо во многих гайдах и видео встречал упоминание этой софтины ещё год назад.
Однако мой подход другой: я против бездумной установки твиков и кастомизации системы без особой необходимости. Искренне не понимаю тех, кто в первый день после покупки бежит ставить всё подряд по всем инструкциям. Зачем и ради чего?
Именно поэтому в данном посте не было упоминания увеличения VRAM через BIOS.
Хотя, казалось бы, раз SWAP увеличили, то давайте ещё и VRAM жахнем побольше, места ведь хватит. Но я себе не поменял, и вам не советую.
«Работает – не трогай».
У меня сейчас даже decky не стоит, потому что в нём нет нужды. Благодаря этому я на протяжении долгого времени могу оценивать работу Steam Deck в относительно стоковом виде и рекомендовать на него игры, в работоспособности которых уверен на 100%.
Например, сейчас выявил проблемный релиз, рассказал про него вам. Не исключено, что после прохождения откачу своп назад, чтобы снова получить задуманную инженерами Valve конфигурацию.
А если какая-то другая игра начнёт глючить «из коробки», то это будет связано с её кривостью, а не засранностью системы.
Пользуясь случаем напоминаю, что другие мои посты про Steam Deck можно найти по тегу #тубиобожаетстимдэк или на странице https://two-bee.github.io/ в разделе "про железо".
Вдруг вы до сих пор не знаете, что внутри чехла терабайтного оледа есть съёмный вкладыш, а кастомные стики без дрифта уже давно выпущены и отлично себя чувствуют после замены
пекапердолинг