# Linux-Guide-To-Vtubing

LINUX GUIDE TO VTUBING By KyloNeko
( this is the text version I would suggest taking a look at the pdf for visuals)

# Prerequisites:


- A Linux distro of your choosing (I use Linux Mint 22 (Xorg/X11) but other distros should work)


- Vtube Studio, VSeeFace or any other face tracking application that (may) work on linux:

3D VRM

[VSeeFace](https://www.vseeface.icu/)

[VNyan](https://suvidriel.itch.io/vnyan)

[Warudo](https://store.steampowered.com/app/2079120/Warudo/)

Live2D

[Vtube Studio](https://store.steampowered.com/app/1325860/VTube_Studio/)


- [FaceTracker](https://flathub.org/apps/de.z_ray.Facetracker) off Flathub or you can follow [RougeRen's guide](https://www.youtube.com/watch?v=Q3aMVZXh_cI&t=7s) 


- Make sure your wine dependencies are updated: https://github.com/lutris/docs/blob/master/WineDependencies.md#archendeavourosmanjaroother-arch-derivatives


- If you have an Update manager make sure you're up-to-date


- For Vtube Studio Specifically you need the [Denchi Soft IP.txt](https://gist.github.com/DenchiSoft/122729d9a0bd0f96798bea28bfe146d6) file in the streaming assets folder

- A webcam that is UVC compliant (others may work) or a smartphone that can interface over the network (Android is easiest, but an iPhone X or newer can provide better tracking with some additional work)


- Steam either the system package: https://store.steampowered.com/about/

or the Flatpak*: https://flathub.org/apps/com.valvesoftware.Steam 

*The Steam flatpak is unofficial, your milage may vary with support from Valve


- [OBS Studio](https://flathub.org/apps/com.obsproject.Studio) 


- If you use an AMD gpu, your drivers are already built into the kernel. If you use Nvidia, you can try to get a Linux version that had your drivers included already (ex. Pop!_OS or Nobara) or install them yourself.

For Ubuntu based distros (if your installer doesn't already give you an option at install): https://ubuntu.com/server/docs/nvidia-drivers-installation

For Arch: https://wiki.archlinux.org/title/NVIDIA 


- For audio you may want to grab the following: 

`pavucontrol`

`qjackctl`

`qpwgraph`

`easyeffects`

`qasmixer` 

These all help with audio control and configurations on linux. Most of them should be in your app store, or can be installed from the terminal with one of the following commands:

Ubuntu: `sudo apt install` followed by the name

Fedora: `sudo dnf install` followed by the name

Arch: `sudo pacman -Syu` followed by the name

So for example, I want to install `easyeffects` on Linux Mint which is Ubuntu based. I would use `sudo apt install easyeffects`


OPTIONAL Prerequisites:
- Install Proton-GE either by using [ProtonUp-QT](https://flathub.org/apps/net.davidotek.pupgui2)
or by using [ProtonPlus](https://flathub.org/apps/com.vysp3r.ProtonPlus)
(Try to get the latest Proton-GE version, though you may need to experiment with what works best with Vtube Studio or any other software on Steam) 

- [Lutris](https://flathub.org/apps/net.lutris.Lutris) This is to be used for VTS POG. Also make sure port 3800 tcp is open in your firewall with an exception. If you're unsure how to do this, just skip setting up VTS POG. 

- [VTS POG](https://eruben.itch.io/vts-pog)

- [Mix it up](https://mixitupapp.com/)

- [T.I.T.S](https://remasuri3.itch.io/tits) 

- [Bottles](https://flathub.org/apps/com.usebottles.bottles) possible usage for other Vtubing applications like VSeeFace (lutris can also be used here or you can use Steam's built in non-steam game feature as well, though it usually isn't recommended to use for non-games.) 

- Optional UVC compliant Capture card like the Pcie EZCAP/Pyle LINK capture cards for consoles or second PC capture. Alternatively, for a second PC you can use NDI capture over the network (NDI capture can add lag so be aware of this)


# STARTING OUT ON LINUX

Hello everyone, this is KyloNeko and I am here with a guide to help you get started on Linux! This is a Guide that is Intended to be a way for Vtubers to want to be able to Move away from Windows (or Mac) or People who were not too Keen on the windows Recall Feature, I hope this guide helps a lot of people out as it took me awhile to  switch over and get things worked out, but trust me it works out correctly as I have done a lot of testing on Linux with Various applications that I daily Drive. Make sure you find or test a Linux distro that you intend to use long term you can use Distro Sea to help you figure this out: https://distrosea.com/ . Once you have selected your flavor of Distro you can then proceed to the next step.


# Installing your distro

Ok you made it this far after you selected your flavor of Distro , you can now grab a Flash Drive and then either use [Balena Etcher](https://etcher.balena.io/) or [Rufus](https://rufus.ie/en/)

Rufus only works on Windows, but Balena Etcher works on Windows, Mac, and Linux. 

Select your drive you intend to use, locate the `.iso` file you downloaded and then proceed to flash it to the usb drive, once you do that , I HIGHLY suggest you also BACK UP any files you wanted to keep from windows to a different drive or use google drive , and then reboot your pc and either go into the bios and select your LINUX bootable drive as the option or press F12 Repeatedly until the drive options appear , you will then be able to boot into a Linux bootloader called grub , you can then select the top option (usually) and then be able to boot into a welcome screen. Make sure you do everything the welcome screen install tells you to (and maybe play around with the os more before you install) and then once your distro is installed you can then be notified to reboot into the os. After you have done that you will be given another welcome screen  to follow and install any updates or drivers you deem necessary.  
	
	
# Install Steam & Proton/GE-Proton

Steam Proton is a very valuable aspect of this whole thing as it is the one that is able to interface with a lot of the applications here, so use the links above and download steam and get Vtube studio, or any of the other applications mentioned above as possible alternatives. Once you have signed into steam make sure you also go to Settings - > Compatibility - > enable steam play - > then reboot steam once you are prompted.

To install Proton-GE, download the ProtonUp-Qt app linked earlier in this guide and run it. The app will give you a menu for what version to download and where to install it to. As the writing of this guide, GE-Proton9-11 works the best. This is however subject to change.


# Vtube Studio

Firstly grab Vtube studio off of steam and install it , go into the compatibility settings and choose either ProtonExperimental or use the latest Ge-Proton verson, then go into the files and navigate to streaming assets, put the [IP.txt file](https://gist.github.com/DenchiSoft/122729d9a0bd0f96798bea28bfe146d6) from here after you downloaded it and put it in the streaming assets folder.

Once that is said and done make sure you grab the Flatpak for [Face tracker](https://flathub.org/apps/de.z_ray.Facetracker) this will already have the appropriate settings enabled but you may change a few to see fit, make sure you select your webcam and also enable it! 

Example of the settings I Use and it should work after you enable your Webcam in Vtube studio

Once you're in Vtube studio you will notice a few things are off. Like your eyes are pointing up for whatever reason , this can be fixed after you adjust a few values , these may vary but offer similar results depending on the model , you may also need to adjust and configure some mouth shape settings:

After you have made your adjustments to your model you will then need to go to obs


# OBS Studio

Now Unfortunately the Plugin for Spout 2 Doesn't work in Obs (on linux) as of right now , But there's at least 2 alternatives. You can either use a Chroma Keyed Window Capture, or you can enable NDI capture for Vtube studio. In my experience the Window Capture method is the best as it offers No latency despite the UI being visible so that is what will be covered in this guide.
First go to OBS and select Window Capture (Xcomposite) then select Vtube Studio it should look like this after you load your model in: 

Next you need to change the background to color picker and change the color to this value here: 

You should get this (optionally you can also do 2bf0 instead for a blue screen): 

Next you should go into OBS and select these filters:

Next you should go into the chroma Key Filter and adjust your settings to something like this: 
 
TA-DA! you should get this:

You can now Live2D Vtube on Linux!
Make sure the live2d window is open though or you will be greeted with a black screen, you cannot minimize this but keeping it open is the best solution to this issue.



# VTS POG TTS application 

Hello again so after switching to Linux I wanted to find a way to use VTS POG

First off you need to Purchase VTS-POG off of Itch.io: https://eruben.itch.io/vts-pog 

Next you will need to get the Lutris Flatpak, the system package WILL NOT WORK: https://flathub.org/apps/net.lutris.Lutris 

Next you will need to install Vts POG and then go into the files on itch and Copy it to the desktop

Next you will need to open up Lutris and add a game:

Make sure you select the Locally Installed option: 

Next you will need to go into your game options and select the `VTS POG.exe` that is in the vts pog folder you put on the desktop:

Once you do that go to Runner options and change it to GE-Proton9-11:

As of the time of this writing VTS POG is only compatible with lutris, it will open on bottles, Steam, and Protontricks but it will only function if you use Lutris.

Click on VTS POG that you just made and click on play and you should see this appear:

Go to OBS and add the HTML files for the pngtuber in the browser source locally. A guide for this can be found [here](https://www.youtube.com/watch?v=DW6oDI4GFoo)

Make sure you when you open up VTS pog on linux you hit TTS Enabled and disabled every time you open it for it to actually register the 3800 port in the system , also make sure you allow port 3800 tcp in your firewall as on linux it can Nuke VTS pog for a bit before it gets re-established again (it's not foolproof but it will happen less) 

And it should work, also Live 2d models will work if you load them in as items after configuring them as well as VTS pog will communicate with Vtube studio just like an I-phone would via a Network Port.

Here is a Video guide for VTS POG as well that I made showcasing what is possible : https://youtu.be/lE5g9CSwmfE 


# Mix it Up

So recently I got Mix it Up working  on linux and I want to be able to share my findings , this one is a bit more simple than the other parts of the guide but you will need to do a few things:

	Prerequisites 

Download Mix it Up here: https://mixitupapp.com/ 

Get the program called bottles off of Flathub to be used to install and run the program:https://flathub.org/apps/com.usebottles.bottles 

Make sure you have Vtube Studio: https://store.steampowered.com/app/1325860/VTube_Studio/ 


Step 1 go to bottles and create a Runner under gaming for Mix It up click on the plus sign:

After the bottle is created go ahead and change your runner to GE-9-11 then install the program the program that is installed wont immediately appear in bottles but the directory will show up now there is a number of ways to run this program as it works in bottles and proton tricks but the simplest way of getting this program to work is running it in bottles  so after you install it find the program in the directory after you install it from the downloads folder: 

Then add the Mix it up Exe as a shortcut in bottles under ge proton in bottles: 

Next click run and it should let you sign into your twitch account( note if you have issues with it letting you sign in try using proton tricks or steam to facilitate this) :
 
Next navigate to services with vtube studio open with plugins enabled a pop up appear:

It should connect to the program properly

Create a Browser source and put this in the url part of it as on linux the copy command in Mix it up doesn't work properly: http://localhost:8111/overlay/ 

Next follow this video guide by Demythical to add your redeems https://youtu.be/mRpHrXeK5s0 
Tada now you should have redeems working with obs and vtube studio!

# Twitch Integrated Throwing System

	Prerequisites:
[T.I.T.S](https://remasuri3.itch.io/tits)

Get the program called [Bottles](https://flathub.org/apps/com.usebottles.bottles) to set up and run the program

Make sure you have [Vtube Studio](https://store.steampowered.com/app/1325860/VTube_Studio/) and [OBS Studio](https://flathub.org/apps/com.obsproject.Studio) 

Just like with Mix it up make a bottle for TITS and use the GE proton 9-11 runner

Next go to  https://remasuri3.itch.io/tits  and purchase and download the program as a Zip file

Go into bottles and add it as an executable shortcut

And you should see this: 

Next go to connections and enable Twitch and Vtube Studio (or VSeeFace)





You will then be greeted with this: 

Go to obs an add TITS in window capture:

Make sure the color key is: 323232 as this will allow for transparency

Follow this video to make [redeems for TITS by maddiekuma](https://www.youtube.com/watch?v=hWOIZqv-u50) happy throwing!


# VmagicMirrior on Linux 

A good indepth video can be found here by [Cyb3r-Kun](https://www.youtube.com/watch?v=S7t5EVSNx9k)


# 3D Vtubing


Follow this video made by [Robo n' Tux Guides](https://youtu.be/H0YotaNSbDc?si=EkrrlxiQ-h6eEDKr)

VSeeFace is covered in that video [here](https://youtu.be/H0YotaNSbDc?si=FyiimfEbSMJmYNDL&t=223)

For OBS game capture you will need a plugin called [OBS-VKcapture](https://github.com/nowrep/obs-vkcapture) installed. As far as I'm aware Vtube Studio doesn't play nicely with linux gamecapture as a launch option just yet but VSeeFace should.

The launch option you would use in Bottles after you made the runner and got the program added as a shortcut would be obs-gamecapture %command%


# AUDIO

Using one of the audio patch bays to help route audio please look at this video for an exlanation : https://www.youtube.com/watch?v=TDBGsbwMo40 


# Contributing?
If you would like to contribute to the Linux Guide to Vtubing you can reach me at nekokylo@gmail.com or on twitter at @KyloNek0 

