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

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

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

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

Реализация Media Foundation в Wine/Proton не справляется с таким форматом. Поведение зависит от версии Proton:

  • Proton Experimental — вместо видео показывается тестовая таблица 320×240 (цветные полосы)
  • GE-Proton — вылет при попытке воспроизвести зашифрованный HLS

Обычные .mp4 файлы (логотипы, заставки) при этом воспроизводятся нормально в обоих случаях — проблема именно в HLS + AES-128.

Решение

Два шага: 32-битный Vulkan-драйвер и скрипт расшифровки видео.

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
# Узнать версию драйвера: nvidia-smi | head -3
sudo apt install libnvidia-gl-560:i386

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

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

  • Находит папку игры в стандартных путях Steam
  • Создаёт бэкап оригинальных видеофайлов
  • Извлекает AES-ключ из .m3u8 плейлистов
  • Расшифровывает .ts сегменты через openssl
  • Собирает сегменты в чистые MPEG-TS файлы через ffmpeg
  • Подменяет .m3u8 на готовые видеофайлы
  • Обрабатывает SD и 4K видео (4K DLC опционален)
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/時空重構

После этого в Steam: ПКМ по игре → Свойства → Совместимость → выбрать GE-Proton.

Репозиторий: 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
ВидеоHLS + AES-128 — тестовая таблица или вылетСкрипт расшифровки и сборки в чистый MPEG-TS
ProtonНужен GE-Proton для корректного воспроизведенияВыбрать GE-Proton в свойствах совместимости игры

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