Найти в Дзене
Apple SPb Event

Путь к «консольному экспириенсу»: как я превращал игровой ПК в Steam Deck (и что из этого вышло)

Помните, как в детстве вы садились перед телевизором с геймпадом от Dendy, Sega или PlayStation? Никаких драйверов, патчей, настроек графики. Просто включил — и играешь. Это была магия консольного гейминга: простота, удобство, никакой возни с системой. Прошли годы, кучи другие консолей, пока не возникли проблемы с покупками в PS Store. Нет, конечно, ничего невозможного и всё можно купить, но стало уже не так удобно. Пришлось снова стать «пекарем» — владельцем относительно игрового ПК. В качестве основного железа было выбрано: Ryzen 5 7600, RTX 4070 Super и «мать» MSI PRO B650M-A WIFI. Всё, чтобы можно было порсто подключить без провода геймпад, сесть на диван и запустить тот или иной проект. Производительность вполне себе хорошая (уж не хуже консоли), библиотека Steam огромная, но есть незадача: играть хочется с дивана, а не сидя за столом с клавиатурой и мышью. Windows отлично работает за столом, но для дивана? Нужно запускать Big Picture, настраивать автозапуск, а потом Windows внеза
Оглавление

Помните, как в детстве вы садились перед телевизором с геймпадом от Dendy, Sega или PlayStation? Никаких драйверов, патчей, настроек графики. Просто включил — и играешь. Это была магия консольного гейминга: простота, удобство, никакой возни с системой.

Предисловие: Мечта о диванном гейминге

Прошли годы, кучи другие консолей, пока не возникли проблемы с покупками в PS Store. Нет, конечно, ничего невозможного и всё можно купить, но стало уже не так удобно. Пришлось снова стать «пекарем» — владельцем относительно игрового ПК.

В качестве основного железа было выбрано: Ryzen 5 7600, RTX 4070 Super и «мать» MSI PRO B650M-A WIFI. Всё, чтобы можно было порсто подключить без провода геймпад, сесть на диван и запустить тот или иной проект.

Производительность вполне себе хорошая (уж не хуже консоли), библиотека Steam огромная, но есть незадача: играть хочется с дивана, а не сидя за столом с клавиатурой и мышью. Windows отлично работает за столом, но для дивана? Нужно запускать Big Picture, настраивать автозапуск, а потом Windows внезапно обновляется и требует перезагрузки прямо перед игрой. Да и Big Picture работает всё же не так, как основная ОС, он запускается внутри неё.

-2

В общем, тут я вспомнил про Steam Deck. Valve показала, что Linux может быть игровой платформой. Более того, появились дистрибутивы вроде Bazzite OS, которые обещают превратить обычный ПК в «консоль» с полноценным Game Mode, быстрым запуском игр и управлением геймпадом. Звучит как мечта, правда?

Так началось путешествие в мир «консольного экспириенса» на Linux. Спойлер: это было не так просто, как обещали в маректинговых материалах.

Часть 1: Выбор операционной системы (или «Почему нельзя просто взять Windows?»)

Когда решаешь превратить ПК в «консоль», первый вопрос встаёт давольно очевидный: какую ОС выбрать? Вариантов не так много, и у каждого свои нюансы.

Windows кажется очевидным выбором — всё работает, все игры поддерживаются, никаких танцев с бубном. Но есть проблема: Windows — это полноценная операционная система для работы, а не консоль. Ты включаешь ПК, и тебя встречает рабочий стол, миллион иконок, уведомления об обновлениях, антивирус что-то проверяет... А ты просто хотел запустить игру. Steam Big Picture есть, конечно, но это всего лишь оболочка поверх Windows, а не полноценная «консоль».

Плюс Windows имеет странную привычку обновляться в самый неподходящий момент. Представьте: вы с друзьями собрались поиграть в кооператив, включаете ПК, а он: «Обновление Windows. Пожалуйста, не выключайте компьютер. 23%...». Раздражает.

ChimeraOS — это уже ближе к делу. Дистрибутив Linux, максимально приближённый к Steam Deck. Включаешь ПК — сразу попадаешь в Game Mode, никакого рабочего стола. Но есть нюанс: ChimeraOS построен на Arch Linux, а это дистрибутив для тех, кто любит всё настраивать руками. Документация беднее, сообщество меньше, и если что-то пойдёт не так — придётся долго гуглить решение на зарубежных форумах.

Bazzite — золотая середина. Построен на Fedora Silverblue (стабильная база), имеет солидное сообщество, регулярные обновления и фишку под названием «атомарная система», которая обещает, что ты не сломаешь ОС даже если очень захочешь. Звучит идеально для тех, кто хочет стабильности без головной боли.

Я выбрал Bazzite. И тут начались мои приключения.

Атомарная система: благословение или проклятие?

Первое, что нужно понять про Bazzite — это не обычный Linux. Это атомарная система (Fedora Atomic), и она работает... по-другому.

Представьте, что обычный Linux — это как конструктор Lego. Вы можете добавлять и убирать детали в любой момент, и система сразу меняется. Поставил программу — она сразу доступна. Удалил — она сразу исчезла. Просто и понятно.

Атомарная система — это как собирать новую версию конструктора целиком. Ты говоришь: «Хочу добавить эту деталь», и система отвечает: «Хорошо, я соберу новую версию конструктора с этой деталью, но ты увидишь результат только после того, как разберёшь старый и соберёшь новый». То есть после перезагрузки.

Это значит:

  • Установил программу через rpm-ostree install или местный магазин приложений — нужна перезагрузка
  • Обновил систему — нужна перезагрузка
  • Удалил что-то — нужна перезагрузка

Звучит неудобно? Да. Но есть огромный плюс: невозможно сломать систему наполовину. Либо всё работает, либо ничего. Если что-то пошло не так — просто откатываешься к предыдущей версии (да, тоже через перезагрузку), и всё возвращается как было.

Для меня, человека, который случайно удалял критичные пакеты в Ubuntu и переустанавливал систему заново, это было спасением. Но привыкнуть к постоянным перезагрузкам — тот ещё челлендж.

Часть 2: Установка Bazzite (или «как я провёл вечер пятницы»)

Итак, решение принято — ставим Bazzite. Что нужно:

  • USB-флешка на 8 ГБ
  • Образ Bazzite с официального сайта bazzite.gg (смотрите версию под свою видеокарту)
  • Программа для записи образа (я использовал Balena Etcher — простая и работает на всём)

Скачивание образа заняло минут 20. За это время я успел сделать чай и проверить, что важные файлы сохранены. Да, я решил полностью снести Windows и поставить Bazzite как единственную систему. Смелое решение? Возможно. Но я устал от двойной загрузки и вечного «а на какой системе у меня сейчас эта игра?».

Запись образа: первая перезагрузка из многих

Balena Etcher — программа простая до безобразия. Выбираешь образ, выбираешь флешку, нажимаешь «Flash». И ждёшь. У меня ушло минут 10. За это время я читал форумы Bazzite и понял, что у многих людей возникают проблемы с Nvidia. У меня RTX 4070 Super — будет ли работать? Форум обещал, что «обычно работает». Обнадёживающе туманно.

-3

Флешка готова. Перезагружаю ПК, жму Del, попадаю в BIOS. Находим раздел Boot, выбираем USB-флешку, сохраняем, выходим. ПК перезагружается, и... о чудо, я вижу меню загрузки Bazzite.

Установка

Установщик Bazzite — это Anaconda, стандартный инсталлятор Fedora. Если вы ставили Fedora, вы знаете, что это... специфический опыт. Если нет — приготовьтесь к интерфейсу, который выглядит так, будто его рисовали в 2005 году.

Но на самом деле всё просто:

  1. Язык — выбираю английский (русский добавим потом, не хочу рисковать с кодировками на этапе установки)
  2. Разметка диска — выбираю «Автоматически», галочка «Удалить всё» (прощай, Windows)
  3. Создание пользователя — вводим имя, придумываем пароль... хотя стоп, я же хочу «консольный экспириенс»! Зачем мне пароль при загрузке? Ладно, введу, потом отключу.

Нажимаю «Начать установку», и начинается самое долгое ожидание вечера. Прогресс-бар ползёт медленно. 5%... 10%... 15%... Я успеваю посмотреть два ролика про оптимизацию Bazzite. К концу второго ролика установка завершена.

Перезагружаемся (первая перезагрузка!), вытаскиваем флешку, и...

Первая загрузка: встречаем Game Mode

ПК загружается. Экран мигает, появляется логотип Bazzite, и... я вижу интерфейс Steam! Это Game Mode — тот самый интерфейс «консоли», ради которого всё затевалось.

Выглядит знакомо: библиотека игр, магазин, друзья, настройки. Управление работает c геймпадом (я взял свой 8BitDo Ultimate), курсор плавно скользит по меню. Ощущение как на Steam Deck или PlayStation. Круто!

-4

Но есть проблема: интерфейс на английском. Steam тоже на английском. И я понимаю, что настроить это в Game Mode не получится — нужен рабочий стол. Нажимаю кнопку питания → «Switch to Desktop Mode».

И попадаю в полноценный KDE Plasma — обычный рабочий стол Linux. Знакомые иконки, панели, настройки. Это уже не «консоль», это обычный компьютер. Дуальность Bazzite проявляется сразу: с одной стороны Game Mode для игр, с другой — полноценная ОС для настройки.

Часть 3: Русификация

Desktop Mode — это обычный рабочий стол Linux. Если вы использовали Ubuntu, Linux Mint или любой другой дистрибутив — вы почувствуете себя как дома. Если нет — не пугайтесь, интерфейс интуитивный.

Первым делом нужно добавить русский язык. Открываю System Settings (иконка шестерёнки в панели задач), ищу раздел Regional SettingsLanguage. По умолчанию там только английский. Нажимаю «Add Language», в списке нахожу Russian (Русский), добавляю.

Теперь важный момент: перетаскиваю русский язык на первое место в списке (так реализовали и в Windows 11). Это значит, что система будет использовать его как основной. Применяю изменения, и система предлагает перезагрузиться (вторая перезагрузка!).

После перезагрузки... вуаля! Интерфейс KDE Plasma на русском. «Настройки системы», «Файлы», «Приложения» — всё знакомо и понятно.

Steam остаётся английским. Почему?

Я возвращаюсь в Game Mode, ожидая увидеть русский интерфейс Steam. Но... нет, всё ещё английский. «Library», «Store», «Friends».

Оказывается, язык Steam настраивается отдельно. Это логично: Steam — отдельная программа, и она не зависит от языка системы. Нужно зайти в SettingsInterfaceLanguage и выбрать Russian.

Перезапускаю Steam (третья перезагрузка? Нет, просто выход и вход в Game Mode), и теперь всё на русском. «Библиотека», «Магазин», «Друзья». Идеально!

Русификаторы для игр: начинается самое интересное

Итак, интерфейс системы и Steam на русском. Но что с играми? Не все игры имеют официальную русскую локализацию. А так как часть проектов перестали официально перевеодить, то можно поставить русификатор, чего консоли не позволяют без прошивки. Что делать?

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

Первое: найти папку игры. Это не так очевидно, как на Windows. Игры Steam на Linux лежат здесь:

~/.local/share/Steam/steamapps/common/название_игры/

Или проще: в Steam просмотреть локальные файлы. Откроется папка с игрой.

Второе: скачать русификатор. Сайтов куча, везде есть огромная база русификаторов. Скачиваю архив, распаковываю, копирую файлы в папку игры (обычно заменяются .pak файлы).

-5

Запускаю игру и... о чудо, русский язык появился! Субтитры, меню, всё на родном языке. И это работает.

Но есть проблема. Некоторые игры с защитой от пиратства (например, Denuvo) проверяют целостность файлов. Если файлы изменены (а русификатор их изменяет), игра может не запуститься или вылететь. В таких случаях русификатор просто не работает. Это, конечно, редкость, но бывает.

Часть 4: Установка игр и проблема шейдеров

На Linux нет нативной поддержки Windows-игр. Но есть Proton — слой совместимости, который позволяет запускать Windows-игры на Linux. Это как Wine, но встроенный в Steam и оптимизированный для игр.

Как это работает? Очень просто для пользователя. Открываешь библиотеку Steam, находишь игру, нажимаешь «Установить». Steam автоматически скачивает проект, настраивает Proton, и... всё, игра готова к запуску. Никаких дополнительных действий.

Но за этой простотой скрывается сложная магия. Proton переводит DirectX-вызовы в Vulkan, эмулирует Windows API, подтягивает библиотеки. И иногда что-то идёт не так.

Первый запуск игры: компиляция шейдеров

Я устанавливаю The Outer Worlds 2. Игра весит около 50 ГБ, скачивание занимает полчаса. Наконец, установка завершена. Нажимаю «Играть».

И тут начинается «Компиляция шейдеров».

Прогресс медленно ползёт. 1%... 2%... 3%... Это что, какая-то распаковка? Оптимизация? Я гуглю и узнаю, что Steam компилирует шейдеры для Vulkan перед первым запуском игры.

Что такое шейдеры? Это маленькие программы, которые рисуют графику в игре. В Windows они приходят уже скомпилированными под DirectX. В Linux их нужно перекомпилировать под Vulkan. Steam делает это заранее, чтобы в игре не было фризов.

Звучит разумно. Но на практике это значит, что первый запуск игры затянуться. Впрчем, подобное есть и на Windows, чего уж?

Наконец, 100%. Игра запускается. Красиво, плавно, 60 FPS стабильно. Отлично! Я играю пару часов, выхожу, выключаю ПК. На следующий день включаю, запускаю игру и...

Опять этим шейдерам нужно скомпилироваться. Снова?! Почему?!

Почему шейдеры компилируются снова?

Оказывается, это распространённая проблема. Шейдеры перекомпилируются снова по нескольким причинам:

  1. Обновление драйверов GPU — самая частая причина. Если Mesa (драйверы для AMD/Intel) или Nvidia обновились, все шейдеры нужно компилировать заново.
  2. Обновление игры или Proton — если вышел патч для игры или обновилась версия Proton, шейдеры тоже обновляются.
  3. Обновление Steam — иногда обновление клиента Steam сбрасывает кэш шейдеров.
  4. Баг — у части пользователей шейдеры вообще не сохраняются и перекомпилируются каждый раз после перезагрузки ПК.

У меня, судя по всему, случай №2: игра обновилась в фоновом режиме, и все шейдеры стали «устаревшими».

Решение: ускоряем компиляцию

Ждать по 15 минут каждый раз — не вариант. Я нахожу решение на форуме: можно увеличить количество потоков для компиляции шейдеров.

Создаю файл ~/.steam/steam/steam_dev.cfg (если его нет):

Добавляю в него одну строку:

textunShaderBackgroundProcessingThreads 12

12 — это количество потоков моего процессора (Ryzen 5 7600 имеет 6 ядер × 2 потока = 12). Можно поставить больше, но смысла нет.

Сохраняю файл, перезапускаю Steam. Теперь компиляция использует все потоки процессора и проходит в разы быстрее. Вместо 15 минут — 5-7 минут. Это уже терпимо.

Я оставил предварительную компиляцию, но с ускорением. Компромисс между ожиданием и плавностью.

Часть 5: Геймпад, батарейки и проклятие Bluetooth

Для диванного гейминга нужен хороший геймпад. Я выбрал устройство от 8BitDo — универсальный контроллер, который работает с PC, Switch, iOS и Android. Качество сборки отличное, стики точные, кнопки отзывчивые. И главное — два режима подключения: Bluetooth и 2.4GHz через донгл.

На Windows оба режима работают без проблем. Подключил — и играй. Но на Linux, как выяснилось, есть нюансы.

Попытка 1: подключение через 2.4GHz донгл

Я втыкаю донгл в USB, включаю контроллер, и... о чудо, он сразу работает! Курсор двигается, кнопки нажимаются, игра реагирует. Никаких настроек, драйверов, плясок с бубном. Просто работает.

Я доволен. Играю пару часов, всё отлично. Но потом появляется вопрос: а сколько заряда осталось в контроллере?

На PlayStation 5 батарея контроллера видна прямо в интерфейсе. На Windows тоже можно посмотреть в настройках Bluetooth. А здесь?

Я открываю настройки Game Mode, ищу раздел про контроллеры, и... ничего. Батарея не отображается. Вообще. Контроллер работает, но система не видит его батарею.

Проблема в том, что через 2.4GHz донгл батарея НЕ ВИДНА в системе. Это ограничение протокола, а не баг Linux.

Оказывается, проприетарные беспроводные протоколы (как 2.4GHz у 8BitDo или Xbox Wireless у Microsoft) не передают информацию о батарее. Они работают как Wi-Fi Direct — просто передают сигналы кнопок, но не статус батареи.

Единственный способ узнать заряд — посмотреть на светодиод контроллера:

  • Не горит = полная батарея
  • Медленно мигает красным = батарея в норме
  • Быстро мигает красным = батарея низкая, пора заряжать

Не самый удобный способ, но работает.

Попытка 2: подключение через Bluetooth

Я решаю попробовать Bluetooth. Ведь через Bluetooth батарея должна быть видна, правда?

Отключаю донгл, переключаю контроллер в режим Bluetooth (зажимаю START на 3 секунды, светодиод мигает). Открываю настройки Bluetooth в Desktop Mode, ищу устройства, нахожу «8BitDo Ultimate», нажимаю «Подключить».

Контроллер спаривается, светодиод перестаёт мигать, всё выглядит хорошо. Возвращаюсь в Game Mode, проверяю работу... и контроллер отключается. Просто пропадает. Снова подключаю — снова отключается через пару секунд.

Что за чёрт?!

А это, вроде как, известный баг Bazzite с 8BitDo Ultimate через Bluetooth. Контроллер спаривается, но сразу отключается. На обычном SteamOS (Steam Deck) этого бага нет, но на Bazzite — есть.

Причина — проблемы с драйверами Bluetooth в ядре Linux. Возможно, пофиксят в будущих обновлениях, а пока — работает, но почему-то не всегда с первого раза.

Bluetooth vs 2.4GHz: что лучше?

Раз уж Bluetooth не работает (на Bazzite, по крайней мере), разберёмся, в чём вообще разница между Bluetooth и 2.4GHz.

Задержка (input lag):

  • Bluetooth: ~15-25мс
  • 2.4GHz: ~5-10мс

Для быстрых игр (файтинги, шутеры) разница заметна. Для каких-нибудь RPG — не критично.

Стабильность:

  • Bluetooth: может тормозить при помехах от Wi-Fi и других Bluetooth-устройств
  • 2.4GHz: свой канал, меньше помех

Батарея:

  • Bluetooth: экономичен, держит (как обещают) 20-40 часов игры
  • 2.4GHz: прожорлив, держит 8-10 часов игры

Индикатор батареи:

  • Bluetooth: должен быть виден в системе (но на Bazzite не работает из-за бага)
  • 2.4GHz: не виден нигде (это ограничение протокола)

Вывод: я остаюсь на 2.4GHz донгле. Быстрее, стабильнее, и батарея всё равно не видна через Bluetooth. Смотрю заряд по светодиоду на контроллере — не идеально, но работает.

Часть 6: Decky Loader и бесконечная иконка загрузки

Decky Loader — это система плагинов для Game Mode. Представьте магазин расширений для браузера, но только для Steam. Можно добавлять новые функции: менять темы интерфейса, смотреть статистику FPS, чистить кэш, настраивать CPU/GPU, и даже видеть батарею контроллеров (если повезёт).

Звучит отлично, и я решаю установить.

Установка: первая команда в терминале

Открываю Desktop Mode, ищу терминал (называется Konsole в KDE), открываю. Чёрное окно с мигающим курсором. Классика Linux.

Копирую команду с сайта Decky:

curl -L https://decky.xyz | sh

Нажимаю Enter, и начинается магия: команды бегут по экрану, что-то скачивается, что-то устанавливается. Через минуту всё готово. Перезагружаюсь в Game Mode.

Открываю Quick Access Menu (кнопка включения геймпада + А), и... о чудо, появилась новая иконка Decky. Нажимаю на неё, открывается меню с разделами магазина планинов.

Иду в Plugin Store, жду загрузки списка плагинов, и...

Иконка загрузки крутится. И крутится. И крутится.

Минута, две, пять. Ничего не происходит. Просто бесконечная загрузка.

Как починить магазин

1. Переключение канала магазина (Stable → Testing)
В настройках Decky есть специальная опция. По умолчанию стоит Stable. Переключаю на Testing. Перезагружаю Game Mode. Открываю магазин... и снова загрузка.

2. Переустановка Decky
Может, что-то сломалось при установке? Удаляю Decky, удаляю папку ~/homebrew, ставлю заново. Перезагружаюсь. Открываю магазин... та же картина.

3. Проверка интернета
Может, блокируется файрволом? Проверяю через браузер — интернет работает. Пингую сервера Decky — отвечают. Но магазин всё равно не грузится.

А «Гугл» мне и говорит: магазин Decky не грузится — известная проблема. У кого-то работает, у кого-то нет. Зависит от версии Bazzite, скорости интернета, фазы Луны...

Решение: установка плагинов вручную

Раз магазин не работает, придётся ставить плагины руками. Это сложнее, но работает.

Шаг 1: Найти плагин на GitHub. Например, Controller Tools (плагин для отображения батареи контроллеров):
https://github.com/jfernandez/ControllerTools

Шаг 2: Скачать последний релиз (.zip файл)

Шаг 3: Открыть терминал и выполнить:

cd ~/homebrew/plugins/
wget https://github.com/jfernandez/ControllerTools
/releases/latest/download/ControllerTools.zip

unzip ControllerTools.zip -d ControllerTools
rm ControllerTools.zip

Шаг 4: Перезагрузиться в Game Mode

Шаг 5: Открыть Quick Access Menu → Decky → Controller Tools должен появиться

Получилось, плагин установлен. Правда, он всё равно не показывает батарею моего 8BitDo через донгл (как мы выяснили, это невозможно), но сам факт — плагин работает.

Топовые плагины, которые стоит установить

Раз уж я научился ставить плагины руками, вот список самых полезных:

Для внешнего вида:

  • CSS Loader — меняет темы интерфейса Game Mode. Можно сделать как на PS5, Nintendo Switch, или вообще свою тему.
  • SteamGridDB — автоматически подбирает красивые обложки для игр в библиотеке.
  • Animation Changer — меняет анимацию загрузки и выключения Steam.

Для производительности:

  • PowerTools — тонкая настройка CPU, GPU, TDP. Можно ограничить частоты для экономии энергии или, наоборот, разогнать для максимального FPS.
  • Storage Cleaner — очищает старый кэш шейдеров, освобождает место на диске.

Полезные:

  • ProtonDB Badges — показывает рейтинг совместимости игры с Linux прямо в библиотеке.
  • Pause Games — ставит игру на паузу в любой момент, даже если в игре нет паузы (например, Dark Souls).

Установка каждого плагина — это скачать .zip, распаковать в ~/homebrew/plugins/, перезагрузиться. Неудобно, но работает.

Часть 7: Удалённое управление

Иногда нужно что-то настроить на ПК, не вставая с дивана. Или управлять ПК с MacBook'а/iPhone из другой комнаты. На Windows это просто: встроенный RDP, подключился и работаешь. На Linux... не так просто.

Попытка 1: xrdp

RDP (Remote Desktop Protocol) — стандарт от Microsoft, но есть Open Source реализация для Linux — xrdp. Звучит логично: ставлю xrdp на Bazzite, подключаюсь с MacBook через Microsoft Remote Desktop, и всё работает.

Устанавливаю:

sudo rpm-ostree install xrdp

Система говорит: «Нужна перезагрузка». Ок, перезагружаюсь (уже потерял счёт, какая это по счёту перезагрузка).

После перезагрузки запускаю сервис:

sudo systemctl enable xrdp
sudo systemctl start xrdp

Узнаю IP-адрес ПК:

ip a

Вижу 192.168.1.90. Отлично!

На MacBook устанавливаю Microsoft Remote Desktop из App Store (теперь называется Windows App), ввожу IP, логин, пароль... и подключаюсь.

-6

Экран мигает, показывается чёрный экран на секунду, и... отключение.

Что?! Пробую ещё раз. Тот же результат. Чёрный экран, вылет.

Почему xrdp не работает?

Причина в том, что если ты залогинен в Desktop Mode на самом ПК, xrdp не может подключиться. Это ограничение Linux: один пользователь может быть залогинен либо локально, либо удалённо, но не одновременно.

Решение: разлогиниться на ПК, оставить экран входа, и только тогда подключаться по RDP.

Пробую. Выхожу из Desktop Mode, оставляю экран входа. Подключаюсь с MacBook... и снова чёрный экран.

Ладно, может, проблема в переменных окружения? Редактирую файл /etc/xrdp/startwm.sh, добавляю:

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

Перезапускаю xrdp. Пробую подключиться... и опять чёрный экран.

На форумах пишут, что xrdp на Bazzite (и других Fedora Atomic дистрибутивах) работает нестабильно из-за Wayland и systemd. Нужно переключать систему в multi-user режим, отключать графический интерфейс по умолчанию... В общем, танцы с бубном.

Я сдаюсь. xrdp — это не для меня.

Попытка 2: KDE Connect

KDE Connect — инструмент для интеграции Linux с Android/iOS. Позволяет передавать файлы, использовать телефон как тачпад, видеть уведомления.

Звучит отлично! Устанавливаю KDE Connect (он уже предустановлен в Bazzite), запускаю. На iPhone ставлю приложение KDE Connect из App Store. Открываю, система находит мой ПК, подключаюсь.

Всё работает в Desktop Mode! Я могу передавать файлы, управлять курсором с телефона, видеть уведомления. Круто!

Но есть проблема: KDE Connect не работает в Game Mode. Можно добавить его как «игру» в Steam, запустить из Game Mode, но тогда появляется окно KDE Connect, которое нельзя закрыть или свернуть. Оно просто висит поверх всего.

Вывод: KDE Connect работает только в Desktop Mode. Для Game Mode бесполезен.

Решение: Sunshine + Moonlight

После всех этих мучений с xrdp и KDE Connect я нахожу спасение: Sunshine + Moonlight.

Sunshine — сервер для стриминга рабочего стола (как Nvidia GameStream, но Open Source и для любого железа).
Moonlight — клиент для MacBook/iPhone/Android.

Это работает как магия. Устанавливаю Sunshine:

sudo rpm-ostree install sunshine
systemctl reboot

После перезагрузки в Терминале:
sunshine

ИЛИ
ujust setup-sunshine

Открывается браузер с настройками Sunshine. Создаю логин и пароль, готово. Сервер работает.

На MacBook устанавливаю Moonlight с сайта. Открываю, программа автоматически находит мой ПК. Два клика — и я вижу рабочий стол Bazzite на экране MacBook!

Преимущества перед xrdp:

  • Просто работает — никаких танцев с настройками
  • Низкая задержка (~5-15ms против ~50-120ms у RDP)
  • Работает из Game Mode — можно стримить игры, не только рабочий стол
  • Поддержка геймпадов — можно играть с MacBook с контроллером

Это именно то, что нужно. Лежу на диване, открываю Moonlight на iPhone, подключаюсь к ПК, настраиваю что-то в Desktop Mode или даже запускаю игру. Всё летает, задержки почти нет.

Часть 8: Реальность «консольного экспириенса»

После нескольких дней использования Bazzite я могу выделить, что действительно работает хорошо:

Игры из Steam — большинство запускаются без проблем. Proton творит чудеса. Даже проекты, которые официально не поддерживают Linux, работают через Proton как нативные. Baldur's Gate 3, Cyberpunk 2077, The Outer Worlds 2 — всё летает.

Производительность — FPS такой же или даже выше, чем на Windows (благодаря Vulkan и оптимизациям Mesa). В некоторых играх я увидел прирост на 5-10%.

Game Mode — действительно удобен для геймпада. Никакого рабочего стола, никаких отвлекающих уведомлений. Просто включил ПК, взял контроллер, запустил игру.

Стабильность — система не ломается. За всё время использования ни разу не было ситуации, когда система не загружается или что-то критично сломалось. Атомарная система, помните: либо всё работает, либо можно откатиться к предыдущей версии.

Обновления — происходят в фоне, без перезагрузок посреди игры. Обновления применяются только при ручной перезагрузке. Это удобно.

Что не работает «из коробки»

Но не всё так гладко. Вот список проблем, с которыми я столкнулся:

Батарея контроллеров — через проприетарные протоколы (2.4GHz) не видна. Через Bluetooth должна быть видна, но на Bazzite есть баг с 8BitDo. Приходится смотреть на светодиод контроллера.

Русификаторы — ставятся вручную, могут конфликтовать с защитой от пиратства (Denuvo). Не всегда работают.

Плагины Decky — магазин часто не загружается, приходится ставить плагины вручную через терминал.

Удалённое управление — RDP (xrdp) работает нестабильно, требует танцев с настройками. Sunshine + Moonlight — лучшее решение, но его нужно ставить отдельно.

Шейдеры — компилируются по 10-20 минут при первом запуске игры. Иногда перекомпилируются снова после обновлений драйверов. Можно ускорить, но полностью избежать нельзя.

KDE Connect в Game Mode — не работает. Только в Desktop Mode.

Это консоль или Linux?

Bazzite позиционируется как «консольный экспириенс», но по факту это Linux, одетый в одежду консоли.

Когда всё работает — это действительно удобно. Включаешь ПК, берёшь контроллер, играешь. Как на PlayStation.

Но когда что-то ломается — нужен терминал, команды rpm-ostree, правка конфигов, гугление проблем на форумах. Это не PlayStation, где «просто работает». Это Linux со всеми его плюсами и минусами.

Плюсы:

  • Свобода настройки
  • Производительность
  • Стабильность
  • Бесплатно

Минусы:

  • Нужно разбираться в системе
  • Не все игры работают (анти-читы вроде Easy Anti-Cheat)
  • Некоторые функции требуют ручной настройки

Это компромисс. Вы жертвуете удобством «из коробки» ради свободы и контроля.

Заключение: Стоит ли овчинка выделки?

Установка Bazzite на игровой ПК — это путешествие. Вы узнаете, что такое Proton, rpm-ostree, Vulkan, проприетарные протоколы беспроводной связи. Вы столкнётесь с багами, которых нет на Windows. Но взамен получите стабильную, быстро работающую систему, которую можно настроить под себя.

Стоит ли оно того?
Это зависит от ваших ожиданий. В целом, пока останусь на этой системе. Но и поставлю рядом Windows, для тех проектов, что не запустятся без «бубна» (такх обещают около 5%).

Если вам интересно экспериментировать, понимать, как работает система, и получать максимум от железа — Bazzite отличный выбор. Да, придётся потратить немного времени на настройку, если нужны отдельные фишки. Да, иногда придётся гуглить решения проблем. Но взамен вы получите систему, которая работает быстро, стабильно и по вашим правилам.

Главный урок: «консольный экспириенс» на Linux — это не про удобство из коробки. Это про свободу настройки. И это прекрасно, если вы к этому готовы.

Лично я остался на Bazzite. Да, были проблемы. Да, пришлось разбираться. Но теперь у меня есть система, которая работает так, как я хочу. И это, наверное, того стоило.

Приложение: Полезные команды и ресурсы

Управление системой

Установка пакета (программы)
sudo rpm-ostree install название

Удаление пакета (программы)
sudo rpm-ostree uninstall название

Обновление системы
rpm-ostree upgrade

Откат к предыдущей версии
rpm-ostree rollback

Steam и игры

Папка с играми Steam
~/.local/share/Steam/steamapps/common/

Лог Steam (для отладки проблем)
~/.local/share/Steam/logs/

Для Nvidia: отключить автоочистку кэша шейдеров
nano ~/.profile
Добавить:
export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1

Decky Loader

Установка Decky Loader
curl -L https://decky.xyz | sh

Установка плагина вручную
cd ~/homebrew/plugins/
wget https://github.com/автор/плагин/releases/latest/download/плагин.zip
unzip плагин.zip -d НазваниеПлагина
rm плагин.zip

Удалённое управление

Установка Sunshine
sudo rpm-ostree install sunshine
systemctl reboot
sunshine

Узнать IP-адрес ПК
ip a

Полезные ресурсы

P.S. Если вы решите пройти этот путь — добро пожаловать в клуб. Запаситесь терпением, чаем и хорошим настроением. Удачи!