├── csp-linux ├── README.md ├── LICENSE └── csp-installer.sh /csp-linux: -------------------------------------------------------------------------------- 1 | export PROTON_PATH=$(cat ~/.config/csprc | grep PROTON_PATH | cut -d '=' -f 2) 2 | echo $PROTON_PATH 3 | export STEAM_COMPAT_DATA_PATH=$(cat ~/.config/csprc | grep STEAM_COMPAT_DATA_PATH | cut -d '=' -f 2) 4 | export STEAM_COMPAT_CLIENT_INSTALL_PATH=$(cat ~/.config/csprc | grep STEAM_COMPAT_CLIENT_INSTALL_PATH | cut -d '=' -f 2) 5 | 6 | echo "Setting Windows version to win81..." 7 | $PROTON_PATH/proton run winecfg -v win81 8 | if [ $? -ne 0 ]; then 9 | echo "Failed to set Windows version to win81" 10 | exit 1 11 | fi 12 | 13 | echo "Starting CSP..." 14 | $PROTON_PATH/proton run $STEAM_COMPAT_DATA_PATH/pfx/drive_c/Program\ Files/CELSYS/CLIP\ STUDIO\ 1.5/CLIP\ STUDIO\ PAINT/CLIPStudioPaint.exe -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CSP Linux 2 | This is a script to install Clip Studio Paint on Linux using the help of Valve's Proton (fork GE-Proton was used). 3 | 4 | ## Dependencies 5 | - wget 6 | - pv 7 | 8 | Arch Linux users can install them with `pacman -S wget pv` 9 | 10 | ## Installation (It's that easy!) 11 | ```bash 12 | git clone https://github.com/minsiam/csp-linux 13 | cd csp-linux 14 | chmod +x csp-installer.sh 15 | ./csp-installer.sh 3 16 | ``` 17 | 18 | Once it's installed, you can start CSP by running `csp-linux` in your terminal. 19 | 20 | ## Uninstallation 21 | To uninstall CSP, run `./csp-installer.sh uninstall`, or delete `~/.local/share/csp-linux` 22 | & `~/.config/csprc` from your machine manually. 23 | 24 | ## Made with love ❤️ by minsiam 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 minsiam 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /csp-installer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This script is used to install Clip Studio Paint on a Linux machine. 4 | # made with love by minsiam 5 | 6 | usage() { 7 | cat << EOF 8 | usage: $0 OPTION 9 | 10 | OPTIONS: 11 | [1|2|3|4] Install CSP major version [1|2|3|4] 12 | help Show this message 13 | uninstall Uninstall CSP 14 | EOF 15 | } 16 | 17 | # Check if the script is run on a supported platform 18 | if [[ "$OSTYPE" != "linux-gnu" ]]; then 19 | echo "This script is only supported on Linux" 1>&2 20 | exit 1 21 | fi 22 | 23 | export CSP_PATH=/home/$USER/.local/share/csp-linux 24 | 25 | # Check there is exactly 1 argument 26 | if [ "$#" -ne 1 ]; then 27 | usage 28 | exit 1 29 | fi 30 | 31 | if [ $1 = "help" ]; then 32 | usage 33 | exit 0 34 | # Remove CSP_PATH and csprc 35 | elif [ $1 = "uninstall" ]; then 36 | echo "Removing CSP..." 37 | 38 | if [ -d $CSP_PATH ]; then 39 | rm -rf $CSP_PATH 40 | if [ $? -ne 0 ]; then 41 | echo "Failed to remove directory $CSP_PATH" 1>&2 42 | exit 1 43 | fi 44 | fi 45 | 46 | if [ -f /home/$USER/.config/csprc ]; then 47 | rm /home/$USER/.config/csprc 48 | if [ $? -ne 0 ]; then 49 | echo "Failed to remove /home/$USER/.config/csprc" 1>&2 50 | exit 1 51 | fi 52 | fi 53 | 54 | echo "Successfully removed CSP" 55 | exit 0 56 | else 57 | CSP_VERSION= 58 | case $1 in 59 | 1) 60 | CSP_VERSION=1 61 | ;; 62 | 2) 63 | CSP_VERSION=2 64 | ;; 65 | 3) 66 | CSP_VERSION=3 67 | ;; 68 | 4) 69 | CSP_VERSION=4 70 | ;; 71 | *) 72 | echo "Unknown command or CSP version" 1>&2 73 | usage 74 | exit 1 75 | ;; 76 | esac 77 | 78 | # Check if wget is installed 79 | if ! command -v wget &>/dev/null; then 80 | echo "Please install wget before running this script" 1>&2 81 | exit 1 82 | fi 83 | 84 | # Check if pv is installed 85 | if ! command -v pv &>/dev/null; then 86 | echo "Please install pv before running this script" 1>&2 87 | exit 1 88 | fi 89 | 90 | if [ ! -d $CSP_PATH ]; then 91 | mkdir $CSP_PATH 92 | fi 93 | 94 | cd $CSP_PATH 95 | 96 | if [ -d "csp-pfx/pfx/drive_c/Program Files/CELSYS/CLIP STUDIO 1.5" ]; then 97 | echo "CSP is already installed" 98 | exit 0 99 | fi 100 | 101 | # Install Proton 102 | if [ ! -d GE-Proton9-20 ]; then 103 | if [ ! -f "GE-Proton9-20.tar.gz" ]; then 104 | echo "Downloading GE-Proton 9-20..." 105 | wget -q --show-progress "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-20/GE-Proton9-20.tar.gz" 106 | fi 107 | 108 | echo "Extracting GE-Proton 9-20..." 109 | pv "GE-Proton9-20.tar.gz" | tar -xvz >/dev/null 110 | echo Removing GE-Proton 9-20.tar.gz... 111 | rm GE-Proton9-20.tar.gz 112 | fi 113 | 114 | # Install steam-container-runtime 115 | if [ ! -d steam-container-runtime ]; then 116 | if [ ! -f "steam-container-runtime.tar.gz" ]; then 117 | echo "Downloading steamrt..." 118 | wget -q --show-progress "https://repo.steampowered.com/steamrt-images-sniper/snapshots/0.20220119.0/steam-container-runtime.tar.gz" 119 | fi 120 | 121 | pv steam-container-runtime.tar.gz | tar -xvz >/dev/null 122 | rm steam-container-runtime.tar.gz 123 | fi 124 | 125 | CSP_SETUP= 126 | case $CSP_VERSION in 127 | 1) 128 | if [ ! -f CSP_1132w_setup.exe ]; then 129 | echo "Downloading CSP_1132w_setup.exe..." 130 | wget -q --show-progress "https://vd.clipstudio.net/clipcontent/paint/app/1132/CSP_1132w_setup.exe" 131 | fi 132 | CSP_SETUP="CSP_1132w_setup.exe" 133 | ;; 134 | 2) 135 | if [ ! -f CSP_206w_setup.exe ]; then 136 | echo "Downloading CSP_206w_setup.exe..." 137 | wget -q --show-progress "https://vd.clipstudio.net/clipcontent/paint/app/206/CSP_206w_setup.exe" 138 | fi 139 | CSP_SETUP="CSP_206w_setup.exe" 140 | ;; 141 | 3) 142 | if [ ! -f CSP_314w_setup.exe ]; then 143 | echo "Downloading CSP_314w_setup.exe..." 144 | wget -q --show-progress "https://vd.clipstudio.net/clipcontent/paint/app/314/CSP_314w_setup.exe" 145 | fi 146 | CSP_SETUP="CSP_314w_setup.exe" 147 | ;; 148 | 4) 149 | if [ ! -f CSP_403w_setup.exe ]; then 150 | echo "Downloading CSP_403w_setup.exe..." 151 | wget -q --show-progress "https://vd.clipstudio.net/clipcontent/paint/app/403/CSP_403w_setup.exe" 152 | fi 153 | CSP_SETUP="CSP_403w_setup.exe" 154 | ;; 155 | *) 156 | echo "Error that should be impossible occurred (failed to properly set CSP_VERSION)" 1>&2 157 | exit 1 158 | ;; 159 | esac 160 | 161 | echo "Installing CSP..." 162 | 163 | mkdir csp-pfx 164 | 165 | export STEAM_COMPAT_CLIENT_INSTALL_PATH="$(realpath steam-container-runtime)" 166 | export STEAM_COMPAT_DATA_PATH="$(realpath csp-pfx)" 167 | 168 | echo "Setting Windows version to win81..." 169 | "GE-Proton9-20/proton" run winecfg -v win81 170 | if [ $? -ne 0 ]; then 171 | echo "Failed to set Windows version to win81" 172 | exit 1 173 | fi 174 | echo "Starting installer..." 175 | echo "Go through the process as you usually would then press enter (on terminal) to finish" 176 | "GE-Proton9-20/proton" run "$CSP_SETUP" 177 | 178 | while true; do 179 | read -r -n 1 key 180 | if [[ -z $key ]]; then 181 | break 182 | fi 183 | done 184 | 185 | if [ -f /home/$USER/.config/csprc ]; then 186 | rm /home/$USER/.config/csprc 187 | fi 188 | 189 | cat << EOF >>/home/$USER/.config/csprc 190 | [Proton] 191 | PROTON_PATH=$CSP_PATH/GE-Proton9-20 192 | STEAM_COMPAT_DATA_PATH=$STEAM_COMPAT_DATA_PATH 193 | STEAM_COMPAT_CLIENT_INSTALL_PATH=$STEAM_COMPAT_CLIENT_INSTALL_PATH 194 | EOF 195 | 196 | echo "CSP is now installed!" 197 | echo "Run csp-linux to start CSP" 198 | 199 | rm "$CSP_SETUP" 200 | fi 201 | 202 | --------------------------------------------------------------------------------