VTube Studio

VTube Studio

Not enough ratings
Гайд VTube Studio на Arch Linux
By AniX
Запуск VTube Studio с рабочей камерой на Arch Linux.


Инструкция предназначается только для дистрибутива Arch Linux (Xorg X11 или Wayland)

Проверено на DE: KDE Plasma 5.27.6 сессия Xorg и Wayland
Протестировано на версии Proton Experimental
Среди устройств протестировано на 10 летней вебке из Китая и на Action камере Digma Dicam 810 подключённая к PC в режиме вебки


Использованные материалы:
Официальная инструкция VTubeStudio на Linux[github.com]
Инструкция OpenSeeFace Steam Community
Инструкция VTube Studio и OpenSeeFace - Gist[gist.github.com]
ProtonDB VTube Studio[www.protondb.com]
Моделька Arch Chan используемая в руководстве[github.com] (Удалено)
Офиц. Дискорд канал VTubeStudio[discord.gg]
2
2
   
Award
Favorite
Favorited
Unfavorite
Подготовка
Устанавливаем необходимые пакеты
sudo pacman -S --needed python python-pip python-virtualenv git
Смена версии Python не заменяя/удаляя системную версию Python
Это необходимо только для того чтобы собрать бинарный файл OpenSeeFace без ошибки о несовместимости библиотеки с вашей установленной версией Python (если вдруг эта ошибка у вас возникает)

При запуске треккера эта смена версии Python никак не будет влиять на работу

Устанавливаем необходимые пакеты
sudo pacman -S --needed pyenv tk patch
Пояснение:
  • pyenv - основной пакет для смены версии python
  • tk - необходим чтобы избежать ошибки при изменении версии python
  • patch - необходим как зависимость
Вставляем команду которая добавляет необходимые настройки в ваш файл инициализации оболочки bash/zsh
eval "$(pyenv init -)"
Примечание: Эта команда действует только на текущей сессии терминала, поэтому лучше чтобы вы не закрывали терминал и не выходили из него до сборки бинарного файла OpenSeeFace

Устанавливаем версию python 3.9.7 на которой я всё тестировал
pyenv install 3.9.7
Меняем текущую версию на версию 3.9.7
pyenv global 3.9.7
Проверяем версию
python --version
Установка и запуск трекера лица OpenSeeFace
Клонируем OSF репо и переходим в него
git clone https://github.com/emilianavt/OpenSeeFace && cd OpenSeeFace
Убедитесь что у вас выставлена через pyenv версия python 3.9.7, если всё
норм значит запускаем скрипт для сборки бинарного файла
./make_exe.sh
После завершения исполняемый бинарный файл будет находится в dist/facetracker/

Однако чтобы всё работало вам необходима папка models её нужно скопировать туда где собрался бинарный файл, без неё треккер не запустится
cp models dist/facetracker/
Переходим в каталог
cd dist/facetracker/
И наконец-то активируем треккинг лица и оставляем его включённым
./facetracker -c 0 -W 1280 -H 720 --discard-after 0 --scan-every 0 --no-3d-adapt 1 --max-feature-updates 900 -s 1 --port 11573
Пояснение по опциям:
  • -c [номер]: Камера для использования, вам нужно найти индекс вашей камеры самостоятельно, протестируя эту команду. Также можно добавить -v 1, чтобы проверить, является ли это правильной камерой (появится окно с вашей камерой)
  • -W 1280: Ширина в пикселях
  • -H 720: Высота в пикселях
  • -s 1: Тихий выхлоп. Без этой опции ваш терминал будет захламлён логом
  • --port 11573: Необходим для того чтобы VTS подхватывал OpenSeeFace трекер
Настройка VTube Studio
  1. Где установлена VTube Studio внутри каталога по пути VTube Studio/VTube Studio_Data/StreamingAssets/ создаём файл ip.txt и внутри него вставьте содержимое
    # To listen for remote connections, change this to 0.0.0.0 or your actual IP on the desired interface. ip=0.0.0.0 # This is the port the server will listen for tracking packets on. port=11573
    Без этого не будет показываться камера в списке VTube Studio даже при включённом трекере.

  2. Устанавливаем с помощью yay (или paru) AUR пакеты obs-vkcapture-git[aur.archlinux.org] lib32-obs-vkcapture-git[aur.archlinux.org].
    yay -S obs-vkcapture-git lib32-obs-vkcapture-git
    Перед запуском VTube Studio необходимо добавить в "Параметры запуска"
    obs-gamecapture %command%
    И запускаем VTube Studio

  3. После запуска в VTube Studio жмём на розовую шестерёнку - кликаем на вторую вкладку (иконка камеры) - и необходимо убедится что у вас в стоят пункты как у меня.

    Обычно у меня на этом моменте всё выставлено само, если вы включили трекер: В "Choose Camera" - должно быть "OpenSeeFace - Network"

    После нажатия "Camera ON" и у вас появится скелет вашего лица который будет подхватывать вашу мимику ваш VTube аватар



  4. Далее необходимо поменять задник вашего аватара, кликаем два раза по пустому месту чтобы появилось меню и нажимаем на зелёную иконку - выбираем из списка "ColorPicker"

    Обязательно активируем "Transparent in capture" и выбираем ваш любой цвет (например чёрный).
Настройка OBS
На этом этапе у вас должны быть установлены AUR пакеты obs-vkcapture-git[aur.archlinux.org] lib32-obs-vkcapture-git[aur.archlinux.org]

Если ваша сессия Xorg, запускаем OBS через терминал добавив переменную в начале
OBS_USE_EGL=1 obs
Или добавив переменную отредактировав .desktop ярлык OBS
.... Exec=env OBS_USE_EGL=1 obs ....
И запускаем OBS

В "Источники" добавляем "Захват игры" и в свойства..
  1. Выбираем в "Окно" название запущенного VTube Studio.exe
  2. Убираем "Показывать курсор"
  3. Отмечаем "Использовать прозрачность"


С зажатым Alt+LMB (Левая кнопка мыши) можно обрезать пустые участки вашего аватара

Результат
Советы и доп. информация
  1. Автоматически запускать и останавливать OpenSeeFace всякий раз, когда VTube Studio открывается или закрывается в Steam'е, изменяем "Параметры запуска"
    Пример:
    bash -c "cd <путь репозитория OpenSeeFace>/dist/facetracker; ./facetracker <аргументы команд> & %command%; jobs -p | xargs kill"
    У меня это так выглядит:
    bash -c "cd $HOME/Repos/OpenSeeFace/dist/facetracker; ./facetracker -c 0 -W 1920 -H 1080 --discard-after 0 --scan-every 0 --no-3d-adapt 1 --max-feature-updates 900 -s 1 --port 11573 & obs-gamecapture %command%; jobs -p | xargs kill"
    С данной настройкой в VTube Studio можно активировать "Autostart cam with VTS" что будет автоматический запускать камеру при старте VTube Studio

  2. Если у вас один монитор, для удобства переместите окно VTube Studio на второй виртуальный рабочий стол
Куда кидать Live2D модельки?
Класть модельки по данному пути
$HOME/.steam/steam/steamapps/common/VTube Studio/VTube Studio_Data/StreamingAssets/Live2DModels/
Проблемы и способы их решения
  1. ❌Проблема: Когда в KDE Plasma (Xorg) отключается композитор Kwin на Alt+Shift+F12 (или когда воспроизводится полноэкранная игра) источник моего VTube аватара в OBS пропадает

    ✅✅ Два решения:

    1. Включить полноэкранный режим VTube Studio на Alt+Enter, с данным режимом у меня отключается композитор Kwin но VTube аватар в OBS не пропадает
    2. Переключится на Wayland сессию, в ней такой проблемы нету

  2. ❌Проблема: Глаза у аватара смотрели в сторону

    Решилось само: Видимо на это как-то повлияли обновления VTube Studio, но есть некоторые мелкие неточности в отслеживании

  3. ❌Проблема: При сборке бинарного файла OpenSeeFace у вас может вылезти такая ошибка
    ERROR: Could not find a version that satisfies the requirement <библиотека_name> (from versions: none) ERROR: No matching distribution found for <библиотека_name>
    Это из-за того что данная библиотека не может работать на новой версии python которая у вас установлена

    Решение: Использовать инструмент pyenv для установки старых версий Python с возможностью ими управлять и ставить глобально не затрагивая вашу системную версию Python

    Инструкция по тому как это делается описана в руководстве

  4. ❌Проблема: Не появляется VTubeStudioCam в списке, хотя треккер работает нормально.

    Решение: Оказалось что необходимо в VTube Studio/VTube Studio_Data/StreamingAssets/ создать файл ip.txt и вставить информацию о локальном ip и порт треккера 11573

    OpenSeeFace треккер дополнительно надо запускать с опцией --port 11573

9 Comments
AniX  [author] Jul 20, 2024 @ 1:08pm 
Автор YouTube канала "Robo n' Tux Guides" вышло видео которое показывает как заставить работать множество разных VTube программ (включая VTube Studio) на Linux. Также он предоставил его разработанную удобную графическую обвертку OpenSeeFace называется - Facetracker , которое упрощает настройку. Найти это ПО можно в магазине Flathub
AniX  [author] Jul 2, 2024 @ 10:44am 
@EngiNegr Спасибо за информацию! Я вероятно переделаю немного данное руководство чтобы оно отражало и для других дистрибутивов помимо Arch Linux. Если есть что-то добавить (информацию или какие-то детали) не стесняйтесь писать об этом, это очень важно.
EngiNegr Jul 2, 2024 @ 9:40am 
Гайд актуален и для ROSA FRESH.
Вначале только надо сделать вот так:

sudo dnf install python3 python3-pip python3-virtualenv git
AniX  [author] May 15, 2024 @ 3:11am 
Мелкое обновление: Исходники модельки Arch Chan используемая в руководстве теперь больше недоступны (они теперь в ko-fi автора)
AniX  [author] Aug 14, 2023 @ 12:38am 
@EngiNegr Рад стараться и благодарю за поддержку :luv:
EngiNegr Aug 13, 2023 @ 3:18am 
Спасибо большое за кучу сэкономленного времени.
AniX  [author] Jul 1, 2023 @ 1:17pm 
Итак, я вернулся к OpenSeeFace могу вас порадовать. Я наконец-то смог заставить треккер
снова работать!

Основные отличия:
1) Изменил тип установки и запуска треккера в пользу бинарного файла т.к не требует Python и включения его виртуальной среды

2) Добавил " Смена версии Python не заменяя/удаляя системную версию Python "
Здесь скажите спасибо ChatGPT (FreeGPT)

3) Дополнил " Проблемы и способы их решения "

Всё остальное остаётся как прежде
AniX  [author] May 10, 2023 @ 10:47am 
@Ythotha Всегда пожалуйста! Я вот сейчас попробовал обновить репо OpenSeeFace и заново установить используя pip зависимости, вылезла ошибка что не могу установить ни onnxruntime ни ort_nightly с таким содержанием

ERROR: Could not find a version that satisfies the requirement onnxruntime (from versions: none)
ERROR: No matching distribution found for onnxruntime

Покопавшись я нашёл как установить ort_nightly более новой версии с поддержкой python 3.11 (опишу это в моём гайде)

Трекер заработал НО запустив VTS вижу что не появляется VTubeStudioCam в списке. Тут я уже ничего не мог сделать, придётся ждать обновления
loreleied May 10, 2023 @ 5:00am 
Ядрён-батон, опять питон! Застопорился на шаге virtualenv -p python3 env && source env/bin/activate , выдало кучу эксепшенов. Однако радует, что это дело вообще возможно завести относительно легко. Спасибо за гайд!