Automate installation of DXVK, D9VK + Wine/Wine Staging & update GPU drivers + PlayonLinux wineprefixes (Debian/Ubuntu/Mint/Arch Linux/Manjaro)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

182 lines
4.2 KiB

  1. # Uninstall Wine-Staging, DXVK, meson & glslang buildtime deps on Debian
  2. # Copyright (C) 2018 Pekka Helenius
  3. #
  4. # This program is free software: you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation, either version 3 of the License, or
  7. # (at your option) any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. # GNU General Public License for more details.
  13. #
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <https://www.gnu.org/licenses/>.
  16. ##############################################################################
  17. meson_deps=(
  18. 'dh-python'
  19. 'python3-setuptools'
  20. 'ninja-build'
  21. )
  22. #glslang_deps=(
  23. # Nothing to remove actually, just python2.7 which is likely required by other packages
  24. #)
  25. wine_deps=(
  26. 'libxi-dev:amd64'
  27. 'libxt-dev:amd64'
  28. 'libxmu-dev:amd64'
  29. 'libx11-dev:amd64'
  30. 'libxext-dev:amd64'
  31. 'libxfixes-dev:amd64'
  32. 'libxrandr-dev:amd64'
  33. 'libxcursor-dev:amd64'
  34. 'libxrender-dev:amd64'
  35. 'libxkbfile-dev:amd64'
  36. 'libxxf86vm-dev:amd64'
  37. 'libxxf86dga-dev:amd64'
  38. 'libxinerama-dev:amd64'
  39. 'libgl1-mesa-dev:amd64'
  40. 'libglu1-mesa-dev:amd64'
  41. 'libxcomposite-dev:amd64'
  42. 'libpng-dev:amd64'
  43. 'libssl-dev:amd64'
  44. 'libv4l-dev:amd64'
  45. 'libxml2-dev:amd64'
  46. 'libgsm1-dev:amd64'
  47. 'libjpeg-dev:amd64'
  48. 'libkrb5-dev:amd64'
  49. 'libtiff-dev:amd64'
  50. 'libsane-dev:amd64'
  51. 'libudev-dev:amd64'
  52. 'libpulse-dev:amd64'
  53. 'liblcms2-dev:amd64'
  54. 'libldap2-dev:amd64'
  55. 'libxslt1-dev:amd64'
  56. 'unixodbc-dev:amd64'
  57. 'libcups2-dev:amd64'
  58. 'libcapi20-dev:amd64'
  59. 'libopenal-dev:amd64'
  60. 'libdbus-1-dev:amd64'
  61. 'freeglut3-dev:amd64'
  62. 'libmpg123-dev:amd64'
  63. 'libasound2-dev:amd64'
  64. 'libgphoto2-dev:amd64'
  65. 'libosmesa6-dev:amd64'
  66. 'libpcap0.8-dev:amd64'
  67. 'libgnutls28-dev:amd64'
  68. 'libncurses5-dev:amd64'
  69. 'libgettextpo-dev:amd64'
  70. 'libfreetype6-dev:amd64'
  71. 'libfontconfig1-dev:amd64'
  72. 'libgstreamer-plugins-base1.0-dev:amd64'
  73. 'ocl-icd-opencl-dev:amd64'
  74. 'libvulkan-dev:amd64'
  75. 'libxi-dev:i386'
  76. 'libxt-dev:i386'
  77. 'libxmu-dev:i386'
  78. 'libx11-dev:i386'
  79. 'libxext-dev:i386'
  80. 'libxfixes-dev:i386'
  81. 'libxrandr-dev:i386'
  82. 'libxcursor-dev:i386'
  83. 'libxrender-dev:i386'
  84. 'libxkbfile-dev:i386'
  85. 'libxxf86vm-dev:i386'
  86. 'libxxf86dga-dev:i386'
  87. 'libxinerama-dev:i386'
  88. 'libgl1-mesa-dev:i386'
  89. 'libglu1-mesa-dev:i386'
  90. 'libxcomposite-dev:i386'
  91. 'libpng-dev:i386'
  92. 'libssl-dev:i386'
  93. 'libv4l-dev:i386'
  94. 'libgsm1-dev:i386'
  95. 'libjpeg-dev:i386'
  96. 'libkrb5-dev:i386'
  97. 'libsane-dev:i386'
  98. 'libudev-dev:i386'
  99. 'libpulse-dev:i386'
  100. 'liblcms2-dev:i386'
  101. 'libldap2-dev:i386'
  102. 'unixodbc-dev:i386'
  103. 'libcapi20-dev:i386'
  104. 'libopenal-dev:i386'
  105. 'libdbus-1-dev:i386'
  106. 'freeglut3-dev:i386'
  107. 'libmpg123-dev:i386'
  108. 'libasound2-dev:i386'
  109. 'libgphoto2-dev:i386'
  110. 'libosmesa6-dev:i386'
  111. 'libpcap0.8-dev:i386'
  112. 'libncurses5-dev:i386'
  113. 'libgettextpo-dev:i386'
  114. 'libfreetype6-dev:i386'
  115. 'libfontconfig1-dev:i386'
  116. 'ocl-icd-opencl-dev:i386'
  117. 'libvulkan-dev:i386'
  118. )
  119. dxvk_deps=(
  120. 'meson'
  121. 'glslang'
  122. 'gcc-mingw-w64-x86-64'
  123. 'gcc-mingw-w64-i686'
  124. 'g++-mingw-w64-x86-64'
  125. 'g++-mingw-w64-i686'
  126. 'mingw-w64-x86-64-dev'
  127. 'mingw-w64-i686-dev'
  128. )
  129. wine_deps_noremove=(
  130. 'gcc-multilib'
  131. 'g++-multilib'
  132. 'libxml-simple-perl'
  133. 'libxml-parser-perl'
  134. 'libxml-libxml-perl'
  135. 'lzma'
  136. 'flex'
  137. 'bison'
  138. 'quilt'
  139. 'gettext'
  140. 'oss4-dev'
  141. 'sharutils'
  142. 'pkg-config'
  143. 'dctrl-tools'
  144. 'khronos-api'
  145. 'unicode-data'
  146. 'freebsd-glue'
  147. 'icoutils'
  148. 'librsvg2-bin'
  149. 'imagemagick'
  150. 'fontforge'
  151. )
  152. core_deps_noremove=(
  153. 'make' 'cmake' 'gcc' 'git' 'build-essential' 'fakeroot'
  154. )
  155. removals_name=('Meson' 'Wine Staging' 'DXVK')
  156. removals=('${meson_deps[*]}' '${wine_deps[*]}' '${dxvk_deps[*]}')
  157. i=0
  158. for k in ${removals[*]}; do
  159. echo -e "\nRemoving ${removals_name[$i]} buildtime dependencies\n"
  160. sudo apt-get purge --remove $(eval echo ${k})
  161. let i++
  162. done
  163. echo -e "\nThe following Wine Staging buildtime dependencies were not removed:\n$(for o in ${wine_deps_noremove[*]}; do echo ${o}; done)\n"
  164. echo -e "\nThe following core buildtime dependencies were not removed:\n$(for o in ${core_deps_noremove[*]}; do echo ${o}; done)\n"
  165. read -r -p "Auto remove packages which are no longer needed? [Y/n] " question
  166. if [[ $(echo $question | sed 's/ //g') =~ ^([yY][eE][sS]|[yY])$ ]]; then
  167. sudo apt-get purge --autoremove
  168. fi