Skip to content

Instantly share code, notes, and snippets.

@BenKato151
Last active July 17, 2024 19:00
Show Gist options
  • Save BenKato151/b8b4a6897cc6cc7835ac9107288d3df2 to your computer and use it in GitHub Desktop.
Save BenKato151/b8b4a6897cc6cc7835ac9107288d3df2 to your computer and use it in GitHub Desktop.
A Guide to get VTube Studio and VSeeFace working on Linux. Tested on Arch Linux

VTube Studio/OpenSeeFace/VSeeFace Guide (tested on Arch Linux)

Requirements:

  • Latest Proton (GE-Proton, Proton-Experimental are both okay)
  • git
  • wine64
  • lutris (winetricks)
  • Install system packages for python (3.11.3 is okay): sudo pacman -S python python-pip python-virtualenv

Download and install OpenSeeFace environment:

  • git clone https://github.com/emilianavt/OpenSeeFace && cd OpenSeeFace && virtualenv -p python3 venv && source venv/bin/activate && pip install onnxruntime opencv-python pillow numpy
  • You need to always start OpenSeeFace in this folder with active env, so you need always: source venv/bin/active
  • Start the tracker with:
  • python facetracker.py -c 0 -W 1280 -H 720 --discard-after 0 --scan-every 0 --no-3d-adapt 1 --max-feature-updates 900 --ip 127.0.0.1 --port 11573
  • This terminal window needs to be always open while using VTube Studio and it will use a lot of your cpu

VTube Studio

  • Start VTube Studio from Steam and make sure that you have SteamPlay enabled and is using the latest Proton version.
  • On the first start you will get some errors, just clicking them away should be fine.
  • To connect VTube Studio with your running OpenSeeFace tracker, you will need to create a file in the following location:
    • ~/.local/share/Steam/steamapps/common/VTube Studio/VTube Studio_Data/StreamingAssets/ip.txt
    • it's content should be the following:
    # 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
    
  • When both the tracker and VTube Studio are running, click on Settings in VTube Studio, select the camera and enable the "Autostart cam wih VTS", then click on "Camera on".
  • with this your tracking should be working in VTube Studio
  • While facetracking is working with this, many features of VTube Studio aren't working with OpenSeeFace

Install VSeeFace (VTube Studio "alternative" in lutris (gui)

  • Download VSeeFace
  • unzip the .zip you downloaded
  • Open Lutris
    • click on the plus in the top left corner and "Add game"
    • In the Game info tab, you need to give it a name (e.g. VSeeFace) and select wine as the runner
    • In the Game options tab, browse for "VSeeFace.exe" as the Executable and it's directory as working directory
    • If you want, you can set the wine-prefix in the same directory or leave it empty for using the system-wine-prefix (~/.wine)
    • Select 64-bit in the Prefix architecture
    • click save
  • make sure you have running the facetracker from above
  • Start it once, but you will notice that a font (arial) is missing which we will install now using winetricks
    • Close the game and click on right arrow next to the bottle and select "winetricks"
    • select default prefix and then "install font"
    • search and select arial, when it is installed, select OK and then you can close winetricks
    • Start VSeeFace from Lutris, read or skip the tutorial
    • Set Camera on "Network Tracking" and the microphon input you are using (in my case PulseAudio)
  • From here on, just take a look at https://www.vseeface.icu/ for more information :)

Sources:

https://www.reddit.com/r/VirtualYoutubers/comments/j8ebuu/how_to_run_vseeface_on_linux/

https://www.vseeface.icu/#running-on-linux-and-maybe-mac

https://github.com/emilianavt/OpenSeeFace

Thanks to everyone who contributed to this.

@Intery
Copy link

Intery commented Aug 10, 2023

This is working great for me thanks!

Note that most of the arguments to facetracker.py are the default settings, you can check what you need on an individual basis with python facetracker.py --help which is quite informative.

@continue-revolution
Copy link

Any idea on how to connect iPhone to VTS Linux via USB? It seems that wifi works well, but USB is not working on my side and I don't know how to resolve.

@mstarongithub
Copy link

Sorry, but I don't think that'll work over USB. Proton/Wine is very specific regarding USB-passthrough and you'd probably have to do a very specific custom config for it

@CodeWithMa
Copy link

CodeWithMa commented Oct 14, 2023

Hey thank you very much.
I found the following installer for VSeeFace with lutris: https://lutris.net/games/vseeface/
No need to do it manually anymore.

@NuVanDibe
Copy link

You mean "so you need always: source venv/bin/activate"

But yeah I can confirm this works great.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment