Commit 2e4fa2ac authored by Mikhail Tergoev's avatar Mikhail Tergoev

Merge branch 'Boria138-amd-vulkan-select'

parents f151b943 bef62e1b
<div align="center">
<img src="https://raw.githubusercontent.com/Castro-Fidel/PortProton_PKGBUILD/main/portproton.svg" width="64">
<h1 align="center">PortProton</h1>
<p align="center">Проект, призванный сделать запуск Windows-игр в Linux простым и удобным как для начинающих, так и для опытных пользователей.
Проект стремится сделать запуск игр (и другого программного обеспечения) максимально простым, но в то же время предоставляет гибкие настройки для опытных пользователей.</p>
</div>
# **Язык README**
**Русский** - [English](README.md)
## Внимание
**Официальный сайт проекта** с сентября 2022 года: https://linux-gaming.ru. **Любой другой сайт - фальшивка!**
## Особенности
- Основан на версии WINE от Valve (Proton) и ее модификациях (Proton GE).
Включает набор скриптов, объединенных с самим wine-proton, контейнер Steam Runtime Sniper с добавлением портированных версий MANGOHUD (вывод полезной информации в окно игры: FPS, FrameTime, CPU, GPU и т.д.) и vkBasalt (улучшение графики в играх, очень хорош в связке с FSR, DLSS) + множество уже настроенных оптимизаций для максимальной производительности.
- Реализована автоматическая установка одним щелчком мыши (на вкладке АВТОУСТАНОВКА) популярных лаунчеров, таких как: WGC, Epic Games, Battle.net, Origin, EVE Online, RockStar, Ubisoft connect , League of Legends и многие другие.
- Для любителей консольных игр предлагается множество эмуляторов консолей (на вкладке ЭМУЛЯТОРЫ ): PPSSPP, Citra, Cemu, ePSXe, MAME и многие другие..
**ПОЖАЛУЙСТА, НЕ СООБЩАЙТЕ О НАЙДЕННЫХ ОШИБКАХ В WINEHQ ИЛИ ПРОГРАММНОМ ОБЕСПЕЧЕНИИ VALVE!**
## **Ссылка на исходный код версий wine используемых в PortProton:**
* WINE-PROTON: https://github.com/ValveSoftware/Proton
* WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/
## Установка с помощью пакетов
* **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, и т.д.), **Linux Mint 20.x** :
[portproton_1.0-2_amd64.deb](https://github.com/Castro-Fidel/PortProton_dpkg/releases/download/portproton_1.0-2_amd64/portproton_1.0-2_amd64.deb)
* **Arch Linux** и производные (Manjaro, Garuda, и т.д.) :
[AUR](https://aur.archlinux.org/packages/portproton)
* **ROSA Linux** устанавливается с помощью этой команды:
```sh
sudo urpmi portproton
```
* **Fedora 37+** and **Nobara**:
```sh
sudo dnf copr enable boria138/portproton
sudo dnf install portproton
```
* [**openSUSE Leap 15.4**](https://software.opensuse.org/ymp/home:Boria138/15.4/portproton.ymp?base=openSUSE%3ALeap%3A15.4&query=portproton)
* [**openSUSE Leap 15.5**](https://software.opensuse.org/ymp/home:Boria138/15.5/portproton.ymp?base=openSUSE%3ALeap%3A15.5&query=portproton)
* [**openSUSE Tumbleweed**](https://software.opensuse.org/ymp/home:Boria138/openSUSE_Tumbleweed/portproton.ymp?base=openSUSE%3AFactory&query=portproton)
* **Alt Linux** устанавливается с помощью этой команды:
```sh
su -
epm ei
epm full-upgrade
epm play portproton
exit
```
## Универсальный (ручной) метод установки
**ВНИМАНИЕ** : при универсальном способе установки PortProton зависимости должны быть установлены вручную!
Нормальная установка:
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0
```
Тихая установка (ENG):
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng
```
Тихая установка (RUS):
```sh
wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus
```
## Зависимости
* **Пользователи карт NVIDIA**
Если у вас видеокарта от NVIDIA и установлен проприетарный драйвер, то необходимо проверить, установлена ли lib32-nvidia-utils (без нее ни одна 32-битная игра не будет работать)
* **Ubuntu / Linux Mint / Pop!_OS**
```sh
sudo dpkg --add-architecture i386
sudo add-apt-repository multiverse
sudo apt update
sudo apt upgrade
sudo apt install curl file libc6 libnss3 policykit-1 xz-utils zenity bubblewrap curl icoutils tar libvulkan1 libvulkan1:i386 wget zenity zstd cabextract xdg-utils openssl bc libgl1-mesa-glx libgl1-mesa-glx:i386
```
* **Arch Linux / Manjaro**
Сперва проверьте включён ли **multilib** репозиторий
```sh
/etc/pacman.conf
===================================
[multilib]
Include = /etc/pacman.d/mirrorlist
====================================
```
```sh
sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity gzip nss xorg-xrandr vulkan-driver vulkan-icd-loader lsof lib32-freetype2 lib32-libgl lib32-gcc-libs lib32-libx11 lib32-libxss lib32-alsa-plugins lib32-libgpg-error lib32-nss lib32-vulkan-driver lib32-vulkan-icd-loader lib32-gamemode lib32-openssl
```
Если у вас видеокарта от **NVIDIA**, обязательно проверьте, установлен ли пакет **lib32-nvidia-utils**.
```sh
sudo pacman -Syu lib32-nvidia-utils
```
* **Debian/Deepin**
```sh
sudo apt install software-properties-common -y
sudo apt-add-repository non-free
sudo dpkg --add-architecture i386
sudo apt update
sudo apt upgrade
sudo apt install bubblewrap curl gamemode icoutils tar wget zenity zstd libvulkan1 libvulkan1:i386 steam cabextract
```
* **openSUSE**
```sh
sudo zypper install curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang gamemoded libgamemode0 libgamemodeauto0
```
* **Fedora**
```sh
sudo dnf update
sudo dnf upgrade --refresh
sudo dnf install curl gamemode gamemode.i686 icoutils wget zenity bubblewrap zstd cabextract tar openssl mesa-dri-drivers.i686 mesa-vulkan-drivers mesa-vulkan-drivers.i686 vulkan-loader vulkan-loader.i686 nss.i686 alsa-lib.i686 mesa-libGL.i686 mesa-libEGL.i686 wmctrl ImageMagick
```
* **Alt Linux**
```sh
sudo apt-get update
sudo apt-get dist-upgrade -y
sudo apt-get install bubblewrap cabextract curl gamemode icoutils i586-libvulkan1 libvulkan1 steam vulkan-tools wget zenity zstd
```
* **ROSA DESKTOP FRESH R12**
```sh
sudo dnf update
sudo dnf upgrade --refresh
sudo dnf install sysvinit-tools curl libcurl4 icoutils wget zenity bubblewrap zstd cabextract tar libvulkan1 lib64vulkan1 vulkan.x86_64 vulkan.i686 vkd3d.x86_64 vkd3d.i686 coreutils file libc6 libnss3 xz bubblewrap xdg-utils openssl bc libgl1 lib64freetype2 libfreetype2 lib64txc-dxtn libtxc-dxtn lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686
```
* **RED OS**
```sh
sudo -E dnf install curl icoutils libcurl wget zenity bubblewrap zstd cabextract tar goverlay openssl steam
```
* **Solus 4.x**
```sh
sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba
```
## Контакты
<p>
<a href="https://discord.gg/FTaheP99wE">
<img src="https://img.shields.io/discord/378683352946835456?logo=discord"
alt="chat on Discord"></a>
</p>
......@@ -5,6 +5,9 @@
The project strives to make launching games (and other software) as simple as possible, but at the same time provides flexible settings for advanced users.</p>
</div>
# **Readme Language**
**English** - [Русский](README-RU.md)
## Attention
The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!**
......@@ -195,6 +198,6 @@ sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cab
<p>
<a href="https://discord.gg/FTaheP99wE">
<img src="https://img.shields.io/discord/308323056592486420?logo=discord"
<img src="https://img.shields.io/discord/378683352946835456?logo=discord"
alt="chat on Discord"></a>
</p>
......@@ -202,6 +202,15 @@ var_vk_istance_layers_config_update () {
return 0
}
var_ld_library_path_update() {
if [ ! -z "${LD_LIBRARY_PATH}" ]; then
export LD_LIBRARY_PATH="$1:$LD_LIBRARY_PATH"
else
export LD_LIBRARY_PATH="$1"
fi
return 0
}
unpack_tar_zst () {
set -o pipefail
unset PW_ZSTD_PORT
......@@ -818,7 +827,7 @@ pw_check_and_download_plugins () {
}
check_nvidia_rtx () {
if echo "$LSPCI_VGA" | grep -i "nvidia" ; then
if [[ $(echo "$LSPCI_VGA" | grep -i "nvidia") ]] ; then
# Turing (without nvidia 16XX)
[[ "$LSPCI_VGA" == *TU[0-9]* ]] && [[ "$LSPCI_VGA" != *TU11[6-7]* ]] && return 0
# Ampere
......@@ -830,7 +839,7 @@ check_nvidia_rtx () {
}
check_hybrid_graphicks () {
if echo "$LSPCI_VGA" | grep -i nvidia | grep -iE '(intel|amd)'
if [[ $(echo "$LSPCI_VGA" | grep -i nvidia | grep -i -E '(intel|amd)') ]]
then return 0
else return 1
fi
......
......@@ -391,7 +391,7 @@ pw_start_cont_xterm () {
pw_create_prefix_backup () {
cd "$HOME"
PW_PREFIX_TO_BACKUP=$("${pw_yad_v12_3}" --file --directory --borders=3 --width=650 --height=500 --auto-close \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "BACKUP PREFIX TO..." 2>/dev/null )
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "$loc_create_pfx_backup_path" 2>/dev/null )
YAD_STATUS="$?"
if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi
if [[ ! -z "$(grep "/${PW_PREFIX_NAME}/" "${PORT_WINE_PATH}"/*.desktop )" ]] ; then
......@@ -419,9 +419,13 @@ pw_create_prefix_backup () {
done
if [[ -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" ]] ; then
mv -f "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack.part" "${PW_PREFIX_TO_BACKUP}/${PW_PREFIX_NAME}.ppack"
zenity_info "Backup for prefix \"${PW_PREFIX_NAME}\" successfully created."
zenity_info "$PW_PFX_BACKUP_SUCCESS"
else
zenity_error "An error occurred while creating a backup for prefix: \"${PW_PREFIX_NAME}\" !"
zenity_error "$PW_PFX_BACKUP_ERROR"
fi
if [[ ! -f "${PORT_WINE_TMP_PATH}/pfx_backup_info" ]]; then
zenity_info "$PW_PFX_BACKUP_INFO"
echo "1" > "${PORT_WINE_TMP_PATH}/pfx_backup_info"
fi
return 0
}
......@@ -438,7 +442,7 @@ pw_edit_db () {
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
# PW_FORCE_USE_VSYNC PW_WINEDBG_DISABLE PW_USE_AMDVLK_DRIVER HEAP_DELAY_FREE
# PW_FORCE_USE_VSYNC PW_WINEDBG_DISABLE HEAP_DELAY_FREE
}
pw_autoinstall_from_db () {
......@@ -725,15 +729,15 @@ else
--field=" 3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
--field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \
--field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \
--field=" CREATE PFX BACKUP"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' \
--field=' WINETRICKS'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
--field=" CLEAR PREFIX"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
--field=" DOWNLOAD OTHER WINE"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
--field=" WINE UNINSTALLER"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
--field=' WINECFG'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \
--field=' WINEFILE'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \
--field=' WINECMD'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \
--field=' WINEREG'!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
--field=" $loc_gui_create_pfx_backup"!"$PW_GUI_ICON_PATH/separator.png"!"":"FBTN" '@bash -c "button_click pw_create_prefix_backup"' \
--field=" WINETRICKS"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winetricks}":"FBTN" '@bash -c "button_click WINETRICKS"' \
--field=" $loc_gui_clear_pfx"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_clear_pfx}":"FBTN" '@bash -c "button_click gui_clear_pfx"' \
--field=" $loc_gui_download_other_wine"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \
--field=" $loc_gui_wine_uninstaller"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_wineuninstaller}":"FBTN" '@bash -c "button_click gui_wine_uninstaller"' \
--field=" $loc_gui_wine_cfg"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecfg}":"FBTN" '@bash -c "button_click WINECFG"' \
--field=" $loc_gui_wine_file"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winefile}":"FBTN" '@bash -c "button_click WINEFILE"' \
--field=" $loc_gui_wine_cmd"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winecmd}":"FBTN" '@bash -c "button_click WINECMD"' \
--field=" $loc_gui_wine_reg"!"$PW_GUI_ICON_PATH/separator.png"!"${loc_winereg}":"FBTN" '@bash -c "button_click WINEREG"' 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_yad_form_vulkan" &
"${pw_yad_v12_3}" --plug=$KEY --tabnum=${PW_GUI_SORT_TABS[1]} --form --columns=3 --align-buttons --keep-icon-size --scroll \
--field=" Dolphin 5.0"!"$PW_GUI_ICON_PATH/dolphin.png"!"":"FBTN" '@bash -c "button_click PW_DOLPHIN"' \
......
......@@ -66,6 +66,7 @@ pw_install_dll_in_prefix ()
case $PW_PREFIX_NAME in
DEFAULT) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2022 sandbox" ;;
DOTNET) export PW_MUST_HAVE_DLL="physx mfc42 vcrun2019 faudio dotnet48" ;;
PROGRAMS) export PW_MUST_HAVE_DLL="d3dx9 d3dcompiler_43 physx mfc42 vcrun2019 riched20 corefonts msxml3 msxml4 msxml6" ;;
*) export PW_MUST_HAVE_DLL="" ;;
esac
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment