Time Space Rebuild — китайская FMV-игра (интерактивный фильм) от Innovation Dream. Официальной поддержки Linux нет, но через Proton запускается — с одной проблемой: видео не воспроизводятся.

Вместо видео — чёрный экран или тестовая таблица (цветные полосы). Игра при этом работает, меню отображается, но сама суть — видеоролики — молчат.

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

Внутриигровые видео хранятся в формате HLS (HTTP Live Streaming): .m3u8 плейлисты + .ts сегменты, зашифрованные AES-128-CBC. Это стандартный формат для стриминга, но совершенно нестандартный для игр.

С Wine Media Foundation игра вылетает. Переключение на GStreamer (PROTON_MEDIA_USE_GST=1) решает вылеты, но видео всё равно не воспроизводятся — чёрный экран. Где именно ломается цепочка между Wine, GStreamer и HLS — до конца неясно.

Важно: ни одно из решений по отдельности не работает. Только PROTON_MEDIA_USE_GST=1 — чёрный экран. Только скрипт пересборки видео без параметра запуска — вылет. Нужны оба шага вместе.

Решение

Все три шага обязательны.

1. 32-битный Vulkan-драйвер

Игра 32-битная, поэтому нужен соответствующий драйвер.

Arch Linux (AMD):

bash
sudo pacman -S lib32-vulkan-radeon

Arch Linux (NVIDIA):

bash
sudo pacman -S lib32-nvidia-utils

Arch Linux (Intel):

bash
sudo pacman -S lib32-vulkan-intel

Ubuntu/Debian (AMD/Intel):

bash
sudo apt install mesa-vulkan-drivers:i386

Ubuntu/Debian (NVIDIA):

bash
sudo apt install libnvidia-gl-XXX:i386  # XXX — версия драйвера

2. Параметры запуска в Steam

Steam → ПКМ по игре → Свойства → Общие → Параметры запуска:

text
PROTON_MEDIA_USE_GST=1 %command%

Это переключает Proton с Wine Media Foundation (который вылетает с этой игрой) на GStreamer.

3. Скрипт модификации видео

Скрипт автоматически:

  • Находит папку игры в стандартных путях Steam
  • Создаёт бэкап оригинальных видеофайлов
  • Извлекает AES-ключи из .m3u8 плейлистов
  • Расшифровывает .ts сегменты через openssl
  • Собирает сегменты в чистые MPEG-TS файлы через ffmpeg
  • Подменяет .m3u8 на готовые видеофайлы
bash
git clone https://github.com/MikhailNazarov/timespace-rebuild-linux-fix.git
cd timespace-rebuild-linux-fix
chmod +x fix-videos.sh
./fix-videos.sh

Для нестандартного пути к игре:

bash
./fix-videos.sh /path/to/steamapps/common/時空重構

Репозиторий: github.com/MikhailNazarov/timespace-rebuild-linux-fix

Откат изменений

Бэкап сохраняется в CommonVideoClips.bak рядом с CommonVideoClips:

bash
GAME="$HOME/.local/share/Steam/steamapps/common/時空重構/時空重構/時空重構_Data/StreamingAssets"
rm -rf "$GAME/CommonVideoClips"
mv "$GAME/CommonVideoClips.bak" "$GAME/CommonVideoClips"

Итого

КомпонентПроблемаРешение
VulkanИгра 32-битная, нужен lib32 драйверlib32-vulkan-radeon / lib32-nvidia-utils / lib32-vulkan-intel
Media FoundationВылетает с этой игройPROTON_MEDIA_USE_GST=1 — переключение на GStreamer
ВидеоHLS + AES-128 — чёрный экран даже с GStreamerСкрипт расшифровки и сборки в чистый MPEG-TS

Нужны все три шага. Рекомендуется использовать GE-Proton — он содержит дополнительные патчи и кодеки, которые Valve не может включить в стандартный Proton из-за лицензионных ограничений.