Compare commits
	
		
			80 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 81947443a7 | ||
|  | d6ed28c382 | ||
|  | 3584b832a3 | ||
|  | 8a83ff1745 | ||
|  | 8ef052acd4 | ||
|  | db70aaebfa | ||
|  | 62005d5bde | ||
|  | d7aac3dee6 | ||
|  | 8d03563dbc | ||
|  | bd440ce8e7 | ||
|  | cc8529c551 | ||
|  | 45c5e052d6 | ||
|  | 4bf9cb677f | ||
|  | d2cb6fefee | ||
|  | 13142f8ed6 | ||
|  | e10facc9ba | ||
|  | c584c3697d | ||
|  | 4a083a9300 | ||
|  | 5f4bdc536c | ||
|  | d2ab7a6c18 | ||
|  | 5f02f61550 | ||
|  | 15b84b931b | ||
|  | 9cc48c4761 | ||
|  | b9754bfab2 | ||
|  | 88baf8b0d2 | ||
|  | 7dc2676de8 | ||
|  | 0c8b21648c | ||
|  | 406de39ba5 | ||
|  | 1db0baad5b | ||
|  | 41bc48fb1f | ||
|  | d8f96debe9 | ||
|  | 21c21f8769 | ||
|  | 9d4934ca35 | ||
|  | cbf9648193 | ||
|  | c826f58567 | ||
|  | dbdc0d5a77 | ||
|  | 6620fa6582 | ||
|  | 787182f9c3 | ||
|  | 3100a30ba6 | ||
|  | 1de526ba37 | ||
|  | 39549a1832 | ||
|  | ae12e2c7a6 | ||
|  | ec2fe82d68 | ||
|  | ca019feeba | ||
|  | 5d5b24df32 | ||
|  | ecc931fae3 | ||
|  | 5406e3b792 | ||
|  | cc7f5c328c | ||
|  | a2b5385071 | ||
|  | 8b442cf9ef | ||
|  | 9e07d5bc97 | ||
|  | 2029bb8275 | ||
|  | bab528078e | ||
|  | d2410479d8 | ||
|  | 366cd15995 | ||
|  | 3f0f52669f | ||
|  | f74a051301 | ||
|  | 29fea96413 | ||
|  | 6103a61657 | ||
|  | caa498a99d | ||
|  | da38a958ac | ||
|  | bcc3387749 | ||
|  | 564ed9aaf6 | ||
|  | 3ba7742e7f | ||
|  | efaeef7749 | ||
|  | 5fa3dd120c | ||
|  | 72e773cfa0 | ||
|  | 29eb9ba79f | ||
|  | f411b5a27c | ||
|  | 6b7621b251 | ||
|  | e99a88355a | ||
|  | 9d35697588 | ||
|  | d992080a2e | ||
|  | cd9b43f1f5 | ||
|  | 42fa075e3f | ||
|  | a09063c284 | ||
|  | cd5f85371f | ||
|  | 1c252a12a8 | ||
|  | 0fa5790b42 | ||
|  | 76e52f5a78 | 
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,6 +1,6 @@ | ||||
| MIT License | ||||
|  | ||||
| Copyright (c) 2022 Castro-Fidel (PortWINE-Linux.ru) | ||||
| Copyright (c) 2022 Castro-Fidel (linux-gaming.ru) | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
|   | ||||
							
								
								
									
										112
									
								
								README.md
									
									
									
									
									
								
							
							
						
						| @@ -1,11 +1,105 @@ | ||||
| # PortWINE   | ||||
|    | ||||
| data_from_portwine - contains scripts and additional files for configuring and running applications.   | ||||
|    | ||||
| portwine_install_script - contains a self-extracting port setup script   | ||||
|    | ||||
| PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE!   | ||||
| # PortProton | ||||
|  | ||||
| Generated Wine sources for use in PortWINE:   | ||||
| The **official website of the project** since September 2022: https://linux-gaming.ru. **Any other site is fake!** | ||||
|  | ||||
| PortProton is a project designed to make it easy and convenient to run Windows games on Linux for both beginners and advanced users. | ||||
| 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. | ||||
|  | ||||
| Based on the version of WINE from Valve (Proton) and its modifications (Proton GE). Includes a set of scripts combined with wine-proton itself, a Steam Runtime Sniper container with the addition of ported versions of MANGOHUD (output useful information over the game window: FPS, FrameTime, CPU, GPU, etc) and vkBasalt (improvement of graphics in games, very good in in conjunction with FSR, DLSS) + many already configured optimizations for maximum performance. | ||||
|  | ||||
| Implemented one-click auto-installation (in the AUTOINSTALL tab ) of popular launchers such as: WGC, Epic Games, Battle.net, Origin, EVE Online, RockStar, Ubisoft connect , League of Legends and many others. | ||||
| For fans of console games, there are many console emulators to choose from (in the EMULATORS tab ): PPSSPP, Citra, Cemu, ePSXe, MAME and many others. | ||||
|  | ||||
| PLEASE DO NOT REPORT BUGS ENCOUNTERED WITH THIS AT WINEHQ OR VALVE SOFTWARE! | ||||
|  | ||||
| Wine sources used in PortWINE:   | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton   | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/   | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
|  | ||||
| ## Installation using packages | ||||
|  | ||||
| * **Ubuntu 20.04** (Kubuntu, Xubuntu, Lubuntu, etc.), **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** and derivatives (Manjaro, Garuda, etc.) : [portproton-1.0-8-x86_64.pkg.tar.zst](https://github.com/Castro-Fidel/PortProton_PKGBUILD/releases/download/portproton-1.0-8-x86_64/portproton-1.0-8-x86_64.pkg.tar.zst) | ||||
| * **ROSA Linux** (package in the official repository) is installed with the command:  `sudo urpmi portproton` | ||||
|  | ||||
| ## Universal (manual) installation | ||||
|  | ||||
| **ATTENTION** : with the universal method of installing PortProton, dependencies must be installed manually! | ||||
|  | ||||
| Normal installation: | ||||
|  | ||||
| `wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0` | ||||
|  | ||||
| Silent installation (ENG): | ||||
|  | ||||
| `wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -eng` | ||||
|  | ||||
| Silent installation (RUS): | ||||
|  | ||||
| `wget -c "https://github.com/Castro-Fidel/PortWINE/raw/master/portwine_install_script/PortProton_1.0" && sh PortProton_1.0 -rus` | ||||
|  | ||||
| ## Dependencies | ||||
|  | ||||
| * **NVIDIA graphics card users** | ||||
|  | ||||
| If you have a video card from NVIDIA and a proprietary driver is installed, then you need to check if lib32-nvidia-utils is installed (no 32-bit game will work without it) | ||||
|  | ||||
| * **Ubuntu / Linux Mint / Pop!_OS** | ||||
|  | ||||
| `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** | ||||
|  | ||||
| `sudo pacman -Syu bash icoutils wget bubblewrap zstd cabextract bc tar openssl gamemode desktop-file-utils curl dbus freetype2 gdk-pixbuf2 ttf-font zenity lsb-release 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` | ||||
|  | ||||
| If you have a video card from **NVIDIA** , be sure to check if the **lib32-nvidia-utils** package is installed | ||||
|  | ||||
| `sudo pacman -Syu lib32-nvidia-utils` | ||||
|  | ||||
| * **Debian/Deepin** | ||||
|  | ||||
| `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** | ||||
|  | ||||
| `sudo zypper ref && sudo zypper up && sudo zypper in curl icoutils wget zenity bubblewrap zstd cabextract tar steam zenity zenity-lang` | ||||
|  | ||||
| Installing Gamemode is done with a separate command: | ||||
|  | ||||
| `opi gamemode` | ||||
|  | ||||
| * **Fedora** | ||||
|  | ||||
| Enable Non-free repository: | ||||
|  | ||||
| `sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm` | ||||
|  | ||||
| Install the required dependencies: | ||||
|  | ||||
| `sudo dnf update && sudo dnf upgrade --refresh && sudo dnf install curl gamemode icoutils libcurl  wget zenity bubblewrap zstd cabextract tar goverlay openssl steam` | ||||
|  | ||||
| * **Alt Linux** | ||||
|  | ||||
| `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** | ||||
|  | ||||
| `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 coreutils lib64opencl1 libopencl1 libdrm2 libdrm2.i686 mesa.i686` | ||||
|  | ||||
| * **Solus 4.x** | ||||
|  | ||||
| `sudo eopkg it curl file zenity bubblewrap curl icoutils tar wget zenity zstd cabextract xdg-utils openssl bc vulkan vulkan-32bit mesalib-32bit samba` | ||||
|  | ||||
| ## Contacts | ||||
|  | ||||
| You can join our [Discord](https://discord.gg/FTaheP99wE) server. | ||||
|   | ||||
							
								
								
									
										295
									
								
								data_from_portwine/changelog_eng
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,7 +1,300 @@ | ||||
| You can help us in the development of the project on the website: https://boosty.to/portwine-linux.ru | ||||
| You can help us in the development of the project on the website: boosty.to/linux-gaming.ru | ||||
| ----------------------------------------- | ||||
| Changelog: | ||||
|  | ||||
| ###Scripts version 2157### | ||||
| * Updated libs_v36: | ||||
|     depot 0.20230111.68 | ||||
|     pressure-vessel 0.20221215.0 scout | ||||
|     scripts 0.20221215.0 | ||||
|     sniper 0.20230109.1 | ||||
|  | ||||
| ###Scripts version 2156### | ||||
| * the variable "PW_MANGOHUD_x32" has been added to EDIT_BD, which enables MANGOHUD for 32-bit games (temporary need to bypass the error of MANGOHUD in 64-bit games in some systems) | ||||
|  | ||||
| ###Scripts version 2155### | ||||
| * updated versions: | ||||
|     PROTON_LG="7-47" | ||||
|     PROTON_GE="7-47" | ||||
|     DXVK_GIT_VER="2.0-116" | ||||
|     VKD3D_GIT_VER="1.1-3115" | ||||
|  | ||||
| ###Scripts version 2154### | ||||
| * updated PROTON_LG 7-43 | ||||
|  | ||||
| ###Scripts version 2153### | ||||
| * updated versions: | ||||
|       PROTON_GE="7-43" | ||||
|       DXVK_GIT_VER="2.0-36" | ||||
|       VKD3D_GIT_VER="1.1-3094" | ||||
| * fixed crashes of the Witcher 3 game (next gen. DX12) It is necessary to use the PROTON_GE_7-43 version | ||||
|  | ||||
| ###Scripts version 2152### | ||||
| * added installation of the game Path of Exile | ||||
| * updated versions of GIT DXVK and VKD3D: | ||||
|       DXVK_GIT_VER="2.0-34" | ||||
|       VKD3D_GIT_VER="1.1-3088" | ||||
| * added vkbasalt unexpected shutdown when building GIT versions of DXVK and VKD3D (temporarily) | ||||
| * libs_v34 (updated container and created a prefix template transfer plugin from a directory in the libs directory) | ||||
|       pressure vessel 0.20221130.0 | ||||
|       sniper 0.20221130.0 | ||||
| * updated FAKE_DLSS version to 091122 | ||||
|  | ||||
| ###Scripts version 2151### | ||||
| * added Panzar | ||||
|  | ||||
| ###Scripts version 2150### | ||||
| * added Warframe | ||||
|  | ||||
| ###Scripts version 2149### | ||||
| * added STEAM (version for Windows) | ||||
| * added Indiegala Client | ||||
|  | ||||
| ###Scripts version 2148### | ||||
| * added Crossout | ||||
|  | ||||
| ###Scripts version 2147### | ||||
| * created a repository https://github.com/Castro-Fidel/vulkan/releases with DXVK and VKD3D versions compiled specifically to work under the container, which reduces problems and increases the number of games launched | ||||
| * default versions: | ||||
|      export DXVK_STABLE_VER="1.10.3-28" | ||||
|      export DXVK_GIT_VER="2.0-26" | ||||
|      export VKD3D_STABLE_VER="1.1-2602" | ||||
|      export VKD3D_GIT_VER="1.1-2967" | ||||
| * you can still set the standard versions of DXVK and VKD3D for individual games and they will be downloaded from off. GitHub repositories | ||||
| * solved problem with League of Legends game on some systems (eg Rosa Linux) | ||||
|  | ||||
| ###Scripts version 2146### | ||||
| * added interface language switching in the "PORTPROTON SETTINGS" section | ||||
| * added the ability to download the new version of PROTON STEAM 7.0-5 | ||||
| * minor fixes and script improvements | ||||
|  | ||||
| ###Scripts version 2145### | ||||
| * added the ability to change SVN and VKD3D versions in the game settings file .pdb and globally in user.conf using variables (values are given for example): | ||||
|         export DXVK_STABLE_VER="1.10.3" | ||||
|         export SVN_GIT_VER="2.0" | ||||
|         export VKD3D_STABLE_VER="2.6" | ||||
|         export VKD3D_GIT_VER="2.7" | ||||
| * for League of Legends, the default version is DXVK 1.10.2 - as more stable for this game | ||||
|  | ||||
| ###Scripts version 2144### | ||||
| * updated WINE for League of Legends | ||||
|  | ||||
| ###Scripts version 2143### | ||||
| * due to EA Launcher issues, the Origin installer has been temporarily reverted | ||||
|  | ||||
| ###Scripts version 2142### | ||||
| * added alternative FTP server for PP component updates if download failed from main GITHUB server | ||||
| * added display of current versions of DXVK and VKD3D when they are selected in the PortProton interface | ||||
| * Changed the WINE_WIN_START="start /i /b /wait /high /unix" variable to increase the priority of the application being started (test) and more detailed output of information when creating a Log. | ||||
| * for lovers of MMORPGs and weak hardware, an automatic installer Fulqrum Games has been added to launch Royal Quest - a massively multiplayer online game developed by 1C and Katauri Interactive. Thanks chal55rus (Sergey P.) | ||||
| * Added PlariumPlay automatic installer to launch Raid: Shadow Legends | ||||
|  | ||||
| ###Scripts version 2141### | ||||
| * HOTFIX - added EA icon | ||||
|  | ||||
| ###Scripts version 2140### | ||||
| * added the USE_WINE_DXGI variable to EDIT_DB | ||||
| * added the function of modular updating of DXVK and VKD3D-PROTON from GitHub servers | ||||
| * added selection of DXVK and VKD3D-PROTON versions when launching games/launchers | ||||
| * changed the automatic installation of ORIGIN on EA Launcher (beta test) | ||||
|  | ||||
| ###Scripts version 2139### | ||||
| * added the function of reinstalling PortProton from the menu of PortProton itself and using the "--reinstall" argument in the terminal | ||||
| * updated version of PROTON_LG 7.34 based on PROTON GE 7.39 (Updated support for running game: "Overwatch 2") | ||||
|  | ||||
| ###Scripts version 2138### | ||||
| * added "Calibre" in AUTOINSTALL (thanks chal55rus) | ||||
|  | ||||
| ###Scripts version 2137### | ||||
| * updated version of PROTON_LG 7.32 based on PROTON GE 7.38 (Added support for running game: "Uncharted: Legacy of Thieves") | ||||
| * minor script optimizations for running PortProton | ||||
|  | ||||
| ###Scripts version 2136### | ||||
| * added "Lesta Game Center" in AUTOINSTALL | ||||
|  | ||||
| ###Scripts version 2135### | ||||
| * updated PROTON_GE_7-37 (updated dxvk and vkd3d) | ||||
|  | ||||
| ###Scripts version 2134### | ||||
| * added the WINE-GE-CUSTOM tab in GET_OTHER_WINE to download versions of wine LUTRIS | ||||
| * updated the PROTON_LG 7.31 version (together with dxvk and vkd3d) | ||||
| * changed the MY.GAMES auto-installer to vkPlay (with the creation of a separate VK_PLAY prefix) | ||||
|  | ||||
| ###Scripts version 2133### | ||||
| * update libs_v33 (steam runtime sniper container 09/29/2022, version MANGOHUD 0.6.8) | ||||
| * update plugins_v8 (updated version of FAKE DLSS - FSR 2.1.1) | ||||
| * removed variables from the EDIT_DB menu that are no longer necessary | ||||
| * made a small optimization of scripts to speed up the launch of games  | ||||
| * ORIGIN is working again (if you already have ORIGIN installed, enable USE_TERMINAL in EDIT_DB) | ||||
|  | ||||
| ###Scripts version 2132### | ||||
| * ATTENTION! The site portwine-linux.ru which is working again - FAKE! What kind of person did this and with what motives is unknown. So be vigilant! The site of our project: LINUX-GAMING.RU - and once again I will ask all the authors of their sites and Youtube channels to change their links. Thank you. | ||||
|  | ||||
| ###Scripts version 2131### | ||||
| * HOTFIX and change url | ||||
|  | ||||
| ###Scripts version 2130### | ||||
| * by default, the WINE version of PROTON_LG is used (based on wine-ge-custom with the addition of patches required for PortProton) You can still use the PROTON_GE version by selecting it in the startup menu.exe file. | ||||
| * due to the rebranding and the transition to the new WINE-PROTON branch, the scripts have been significantly updated | ||||
| * ATTENTION: The prefix of variables in "EDIT_DB" and "user.conf" has changed from "PW_" to "PW_". At the first launch after the update, your settings files will also be updated. | ||||
|  | ||||
| ###Scripts version 2129### | ||||
| * scipts optimization for dxvk and vkd3d | ||||
|  | ||||
| ###Scripts version 2128### | ||||
| * updated "plugins_v7" (updated libraries for FAKE DLSS - FSR 2.1 operation) | ||||
| * updated PROTON_GE_7-33 (updated dxvk and vkd3d) | ||||
|  | ||||
| ###Scripts version 2127### | ||||
| * updated "plugins_v6" (added libraries for FAKE DLS) | ||||
| * added the ability to enable support for USE_FAKE_DLSS in the EDIT_DB menu (Works on ANY video card with Vulkan support) | ||||
|  | ||||
| ###Scripts version 2126### | ||||
| * updated PROTON_GE_7-30 (dxvk and vkd3d from PROTON_STEAM_7.0-4) | ||||
|  | ||||
| ###Scripts version 2125### | ||||
| * HOTFIX - start.sh | ||||
|  | ||||
| ###Scripts version 2124### | ||||
| * updated "PROTON_GE" to version 7-29 | ||||
| * updated "PROTON_STEAM" to version 7.0-4 | ||||
| * updated pp-games-lib plugin | ||||
|  | ||||
| ###Scripts version 2123### | ||||
| * HOTFIX - GALLIUM NINE mode | ||||
|  | ||||
| ###Scripts version 2122### | ||||
| * added the pp-games-lib plugin to the new PortProton/data/plugins/ details directory on github (plugin author: comrade zorn) https://github.com/zorn-v/PortProton-games-library | ||||
| * updated scripts for installing and launching League of Legends (updated WINE_LOL_GE_7.0-4 - from now on there is no need to enter the root password to launch League of Legends) | ||||
| * for GALLIUM_NINE to work, PROTON_GE is used by default | ||||
| * in GALLIUM_NINE mode, the operation of launchers (such as Epic Games) has been fixed | ||||
| * for Wargaming Game Center, the startup argument "--disable-gpu" is disabled automatically when using VULKAN mode. | ||||
| * when using the DOTNET prefix, the black screen display in some applications has been fixed | ||||
| * added a choice of downloading and automatic installation of WINE versions from Kron4ek | ||||
|  | ||||
| ###Scripts version 2121### | ||||
| * updated "PROTON_GE" to version 7-26 | ||||
| * fixed creation of shortcuts for WGC (to automatically fix existing shortcuts, just run the WGC installer from PortProton) | ||||
| * Added automatic activation of MANGOHUD when using FPS limit | ||||
|  | ||||
| ###Scripts version 2120### | ||||
| * updated "PROTON_GE" to version 7-21 | ||||
| * updated "libs_v32" (Steam Runtime Snipers) | ||||
| * updated installation of ORIGIN | ||||
|  | ||||
| ###Scripts version 2119### | ||||
| * HOTFIX - for PW_USE_D3D_EXTRAS | ||||
| * updated information about the project, developers and paid subscribers on boosty | ||||
| * added optimization of games and applications when using a Wayland session (using direct launch, not using XWayland) | ||||
|  | ||||
| ###Scripts version 2118### | ||||
| * PW_USE_D3D_EXTRAS is back on by default (except WGC) | ||||
| * updated "PROTON_STEAM" to version 7.0-3 | ||||
| * added information about the project and developers (test mode) | ||||
|  | ||||
| ###Scripts version 2117### | ||||
| * HOTFIX - World of Sea Battles | ||||
| * HOTFIX - AUTOINSTALL | ||||
|  | ||||
| ###Scripts version 2116### | ||||
| * HOTFIX - Epic Games Store | ||||
| * HOTFIX - League of Legends | ||||
|  | ||||
| ###Scripts version 2115### | ||||
| * optimized launch PortProton in Rosa Linux | ||||
|  | ||||
| ###Scripts version 2111 - 2114### | ||||
| * debug | ||||
|  | ||||
| ###Scripts version 2110### | ||||
| * updated "PROTON_GE" to version 7-20 | ||||
| * fixed the work of the game World of Warplanes | ||||
| * variable PW_D3D_EXTRAS_DISABLE renamed to PW_USE_D3D_EXTRAS and disabled by default | ||||
|  | ||||
| ###Scripts version 2109### | ||||
| * update "libs_v31" | ||||
| * updated "PROTON_GE" to version 7-19 | ||||
|  | ||||
| ###Scripts version 2108### | ||||
| * HOTFIX for Rosa Linux | ||||
|  | ||||
| ###Scripts version 2107### | ||||
| * accelerated container launch | ||||
| * optimization of start.sh script | ||||
| * updated "libs_v30" (restored work of vkBasalt on previous versions of OS Linux) | ||||
| * updated "PROTON_GE" to version 7-18 | ||||
|  | ||||
| ###Scripts version 2106### | ||||
| * updated libs_v29 (steam runtime sniper 20220509, mangohud 0.6.7, vkBasalt 0.3.2.5) | ||||
| * added "WINE_FULLSCREEN_FSR" variable to "EDIT_DB" to enable "AMD FidelityFX Super Resolution" | ||||
| * improved image quality when using FSR (Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen) | ||||
| * vkBasalt performance improved | ||||
| * performance improvements in games when using the VULKAN API (DXVK and VKD3D) | ||||
|  | ||||
| ###Scripts version 2105### | ||||
| * updated "PROTON_STEAM" to version 7.0-2 | ||||
| * updated "PROTON_GE" to version 7-16 | ||||
| * updated "WINE_LOL_GE" to version 7.0-2 + installation and startup scripts (game client launch is accelerated) | ||||
| * removed "Bethesda.net Launcher" from AUTOINSTALL (because it moved to STEAM) | ||||
| * improved prefix image creation and unpacking functions | ||||
|  | ||||
| ###Scripts version 2104### | ||||
| * HOTFIX - download and update winetricks | ||||
| * when creating a log, all d3dx* and d3dcomp* were removed for readability | ||||
|  | ||||
| ###Scripts version 2103### | ||||
| * updated container launch mode | ||||
| * temporary variable PW_USE_AMDVLK_DRIVER does not work | ||||
|  | ||||
| ###Scripts version 2102### | ||||
| * fixed work of GALLIUM_NINE on integrated video cards from Intel | ||||
| * fixed switching AMDVLK - RADV | ||||
| * FPS increase in games up to 20% (for all launch modes) | ||||
|  | ||||
| ###Scripts version 2101### | ||||
| * fix work WINETRICKS (new prefix manager) in the absence of winetricks.log | ||||
| * updated "libs_v28" (MANGOHUD update to version 0.6.6-1) | ||||
|  | ||||
| ###Scripts version 2100### | ||||
| * updated "libs_v27" (unification of library directories for different Linux OS) | ||||
| * MANGOHUD works again in OPENGL mode | ||||
| * added launcher World of Sea Battle (TEST) | ||||
|  | ||||
| ###Scripts version 2099### | ||||
| * updated "PROTON_GE" to version 7-14 | ||||
| * updated "libs_v26" (Steam Runtime Sniper container update) | ||||
| * updated "plugins_v5" | ||||
| * added check for the presence of the d3dadapter9 library in the system (required for GALLIUM_NINE to work on a larger number of Linux OS) | ||||
| * faster creation of a new prefix | ||||
| * default theme for wine is light (after creating a new one, or clearing the current prefix) | ||||
| * added variable PW_USE_SHADER_CACHE to EDIT_DB to control shader caching (disable only if there are microfreezes in the game) | ||||
| * removed STEAM_PP from AUTOINSTALL (because there is a native STEAM for Linux with its own wine-proton) | ||||
|  | ||||
| ###Scripts version 2098### | ||||
| * due to possible problems with some games, MANGOHUD is disabled by default (enabled in EDIT_DB -> MANGOHUD, or globally by adding export PW_MANGOHUD=1 to user.conf) | ||||
|  | ||||
| ###Scripts version 2097### | ||||
| * accelerated launch of all applications in PortProton up to 200% depending on the system | ||||
| * updated additional libraries "plugins_v4" (added support for GALLIUM_NINE) | ||||
| * added "GALLIUM_NINE" mode selection (support for native DirectX9 on video card with MESA driver) | ||||
| * new interface for WINETRICKS added settings tab | ||||
| * added variable PW_USE_AMDVLK_DRIVER to EDIT_DB (use AMDVLK driver instead of RADV on AMD video cards) | ||||
| * added label archiving when creating a prefix image | ||||
| * added restoration of shortcuts after unpacking the prefix image (the path to the .exe file is corrected automatically) | ||||
| * improved virtual desktop performance | ||||
| * explorer changed to winefile (free disk space detection fixed) | ||||
| * disabled loading of mono and gecko for League of Legends (speeds up the first launch) | ||||
| * to force the use of AMD graphics cards instead of NVIDIA, you can add "export DRI_PRIME=1" to user.conf | ||||
|  | ||||
| ###Scripts version 2096### | ||||
| * added check for LANG variable for PortProton to work on STEAM-DECK | ||||
| * added new interface for WINETRICKS | ||||
| * updated "libs_v25" (updated steam runtime sniper, added support for "MANGOHUD" and "vkBasalt" for systems: "RED OS" and "OpenSUSE") | ||||
| * added variable PW_FIX_VIDEO_IN_GAME to EDIT_DB (required for video playback in some games so that it is not distorted, colored pink) | ||||
|  | ||||
| ###Scripts version 2095### | ||||
| * updated "libs_v24" (hotfix) | ||||
|  | ||||
| ###Scripts version 2094### | ||||
| * rollback "PROTON_GE" to version 7-9 | ||||
|  | ||||
|   | ||||
| @@ -1,7 +1,318 @@ | ||||
| Вы можете помочь развитию проекта: https://portwine-linux.ru/donate/ | ||||
| Вы можете помочь развитию проекта: https://linux-gaming.ru/donate/ | ||||
| ----------------------------------------- | ||||
| История изменений: | ||||
|  | ||||
| ###Scripts version 2157### | ||||
| * Обнорвлен пакет библиотек libs_v36 | ||||
|     depot 0.20230111.68 | ||||
|     pressure-vessel 0.20221215.0 scout | ||||
|     scripts 0.20221215.0 | ||||
|     sniper 0.20230109.1 | ||||
| * обновлен шаблон default префикса | ||||
|  | ||||
| ###Scripts version 2156### | ||||
| * в EDIT_BD (НАСТРОЙКИ) добавлена переменная "PW_MANGOHUD_x32" которая включает MANGOHUD для 32-битных игр (временная необходимость для обхода ошибки работы MANGOHUD в 64-битных играх на некоторых системах) | ||||
|  | ||||
| ###Scripts version 2155### | ||||
| * обновлены версии: | ||||
|     PROTON_LG="7-47" | ||||
|     PROTON_GE="7-47" | ||||
|     DXVK_GIT_VER="2.0-116" | ||||
|     VKD3D_GIT_VER="1.1-3115" | ||||
|  | ||||
| ###Scripts version 2154### | ||||
| * обновлена версия PROTON_LG до 7-43 | ||||
|  | ||||
| ###Scripts version 2153### | ||||
| * обновлены версии: | ||||
|     PROTON_GE="7-43" | ||||
|     DXVK_GIT_VER="2.0-36" | ||||
|     VKD3D_GIT_VER="1.1-3094" | ||||
| * исправлены вылеты игры Ведьмак 3 (next gen. DX12) Необходимо использование версии PROTON_GE_7-43 | ||||
|  | ||||
| ###Scripts version 2152### | ||||
| * обновлен шаблон дял создания префикса (улучшено отобраение кирилицы в некоторых приложениях, например Path of Exile) | ||||
| * добавлена установка игры Path of Exile | ||||
| * обновлены GIT версии DXVK и VKD3D: | ||||
|     DXVK_GIT_VER="2.0-34" | ||||
|     VKD3D_GIT_VER="1.1-3088" | ||||
| * добавлено автоматическое отключение vkbasalt при использовании GIT версий DXVK и VKD3D (временно) | ||||
| * libs_v34 (обновлен контейнер и произведен перенос шаблона префикса из каталога plugin в каталог libs) | ||||
|     pressure-vessel	0.20221130.0			 | ||||
|     sniper	0.20221130.0 | ||||
|     для экономии места, шаблон default_pfx запакован в архив | ||||
| * обновлена версия FAKE_DLSS до 091122 | ||||
| * обновлена поддержка DLSS для видеокарт NVIDIA серии RTX (требуется проверка) | ||||
|  | ||||
| ###Scripts version 2151### | ||||
| * добавлена установка игры Panzar - Российская клиентская сессионная многопользовательская онлайн-игра 3D MMO, сочетающий в себе несколько жанров,из RPG, MOBA и шутеров от отечественных разработчиков Panzar Studio (спасибо chal55rus) + бонус: улучшенная из коробки графика в игре с помощью vkbasalt | ||||
|  | ||||
| ###Scripts version 2150### | ||||
| * добавлена установка игры Warframe | ||||
|  | ||||
| ###Scripts version 2149### | ||||
| * возвращена установка Windows версии STEAM (проблема с миганием окон внутри клиента еще актуальна, но на работу игр не влияет) | ||||
| * добавлена установка Indiegala Client | ||||
|  | ||||
| ###Scripts version 2148### | ||||
| * добавлена автоматическая установка игры Crossout (античит EAC проверен) Внимание: Если после запуска лончера будет ошибка - она на работу не влияет, просто нажмите close для её закрытия. | ||||
|  | ||||
| ###Scripts version 2147### | ||||
| * создан репозиторий https://github.com/Castro-Fidel/vulkan/releases с версиями DXVK и VKD3D скомпилированные специально для работы под контейнером, что уменьшает проблемы у увеличевает количество запускаемых игр  | ||||
| * версии по умолчанию: | ||||
|     export DXVK_STABLE_VER="1.10.3-28" | ||||
|     export DXVK_GIT_VER="2.0-26" | ||||
|     export VKD3D_STABLE_VER="1.1-2602" | ||||
|     export VKD3D_GIT_VER="1.1-2967" | ||||
| * вы всё еще можете выставить для отдельных игр стандартные версии DXVK и VKD3D и они скачаются с офф. репозиториев GitHub | ||||
| * решена проблема с игрой League of Legends на некоторых системах (например Rosa Linux) | ||||
|  | ||||
| ###Scripts version 2146### | ||||
| * добавлено переключение языка интерфейса в разделе "НАСТРОЙКИ PORTPROTON" | ||||
| * добавлена возможность скачивания новой версии PROTON STEAM 7.0-5 | ||||
| * небольшие исправления и улучшения скриптов | ||||
|  | ||||
| ###Scripts version 2145### | ||||
| * добавлена возможность смены версий DXVK и VKD3D в файле настроек игры .ppdb и глобально в user.conf с помощью переменных (значения приведены для примера): | ||||
|     export DXVK_STABLE_VER="1.10.3"  | ||||
|     export DXVK_GIT_VER="2.0" | ||||
|     export VKD3D_STABLE_VER="2.6" | ||||
|     export VKD3D_GIT_VER="2.7" | ||||
| * для League of Legends по умолчанию выбана версия DXVK 1.10.2 - как более стабильная для данной игры | ||||
|  | ||||
| ###Scripts version 2144### | ||||
| * обновлена версия WINE для League of Legends | ||||
|  | ||||
| ###Scripts version 2143### | ||||
| * из за проблем связанных с EA Launcher, временно возвращен установщик Origin | ||||
|  | ||||
| ###Scripts version 2142### | ||||
| * добавлен альтернативный FTP сервер для обновлений компонентов PP если не удалось скачать с основного сервера GITHUB | ||||
| * добавлен вывод текущих версий DXVK и VKD3D при их выборе в интерфейсе PortProton | ||||
| * изменена перемееная WINE_WIN_START="start /i /b /wait /high /unix" для увеличения приоритета запускаемого приложения (тест) и более подробного вывода информации при создании Лога. | ||||
| * для любителей MMORPG и слабого железа добавлен автоматический установщик Fulqrum Games для запуска Royal Quest — массовая многопользовательская онлайн-игра, разработанная Фирмой «1С» и Katauri Interactive. Спасибо chal55rus (Sergey P.) | ||||
| * добавлен автоматический установщик PlariumPlay для запуска игры Raid: Shadow Legends | ||||
| * небольшие улучшения локализации | ||||
|  | ||||
| ###Scripts version 2141### | ||||
| * HOTFIX - добавлена иконка EA | ||||
|  | ||||
| ###Scripts version 2140### | ||||
| * значительно улучшена локализация интерфейса PortProton.  | ||||
| * добавлено множество всплывющих подсказок при наведении курсора мыши | ||||
| * добавлена переменная USE_WINE_DXGI в EDIT_DB (настройки) | ||||
| * добавлена функция модульного обновления DXVK и VKD3D-PROTON из серверов GitHub | ||||
| * добавлен выбор версий DXVK и VKD3D-PROTON при запуске игр/лончеров | ||||
| * изменена автоматическая установка ORIGIN на EA Launcher (бета тест) | ||||
|  | ||||
| ###Scripts version 2139### | ||||
| * добавлена функция переустановки PortProton из меню самого PortProton и с помощью аргумента "--reinstall" в терминале | ||||
| * обновлена версия PROTON_LG 7.34 на основе PROTON GE 7.39 (Обновлена поддержка запуска игры: "Overwatch 2") | ||||
|  | ||||
| ###Scripts version 2138### | ||||
| * добавлена установка игры Калибр (спасибо chal55rus за помощь) | ||||
|  | ||||
| ###Scripts version 2137### | ||||
| * обновлена версия PROTON_LG 7.32 на основе PROTON GE 7.38 (Добавлена поддержка запуска игры: "Uncharted: Legacy of Thieves") | ||||
| * небольшие оптимизации скриптов для запуска PortProton | ||||
|  | ||||
| ###Scripts version 2136### | ||||
| * добавлен автоустановщик "Lesta Game Center" и автоматическое обновление ярлыков, при условии что LGC уже установлен, но запущен ярлык для WGC. | ||||
|  | ||||
| ###Scripts version 2135### | ||||
| * обновлен "PROTON_GE" до версии 7-37 (версии dxvk и vkd3d обновлены) | ||||
|  | ||||
| ###Scripts version 2134### | ||||
| * добавлена вкладка WINE-GE-CUSTOM в GET_OTHER_WINE для скачивания версий вайн LUTRIS | ||||
| * обновлена версия PROTON_LG 7.31 (совместно с dxvk и vkd3d) | ||||
| * изменён автоустановщик MY.GAMES на vkPlay (с созданием отдельного префикса VK_PLAY) | ||||
|  | ||||
| ###Scripts version 2133### | ||||
| * обновление libs_v33 (контейнер steam runtime sniper 29.09.2022, версия MANGOHUD 0.6.8) | ||||
| * обновление plugins_v8 (обновлена версия FAKE DLSS - FSR 2.1.1) | ||||
| * из меню EDIT_DB удалены переменные в которых более нет необходимости | ||||
| * произведена небольшая оптимизация скриптов для ускорения запуска игр  | ||||
| * ORIGIN снова работает (если у вас уже установлен ORIGIN, включите USE_TERMINAL в EDIT_DB) | ||||
|  | ||||
| ###Scripts version 2132### | ||||
| * добавлен фикс для работы PortProton на системах Alt и Simply Linux (подготовка к возможному добавлению в репозитории) | ||||
| * ВНИМАНИЕ! Сайт portwine-linux.ru который снова заработал - ФЕЙК! Что за человек это сделал и с какими мотивами - неизвестно. Так что будте бдительны! Сайт нашего проекта: LINUX-GAMING.RU - и еще раз попрошу всех авторов своих сайтов и каналов на Youtube сменить ссылки у себя. Спасибо. | ||||
|  | ||||
| ###Scripts version 2131### | ||||
| * исправлены ссылки со старого сайта на новый  | ||||
| * префикс переменных временно возвращен на "PW_".  | ||||
|  | ||||
| ###Scripts version 2130### | ||||
| * по умолчанию используется WINE версии PROTON_LG (основан на wine-ge-custom с добавлением патчей необходимых для PortProton) Вы всё так же можете использовать версию PROTON_GE выбрав его в меню при запуске .exe файла. | ||||
| * в связи с ребрендингом и переходом на новую PROTON_LG ветку WINE-PROTON, значительно обновлены скрипты | ||||
| * ВНИМАНИЕ: префикс переменных в "EDIT_DB" и "user.conf" изменился с "PW_" на "PW_". При первом запуске после обновления, обновяться и ваши файлы настроек. | ||||
|  | ||||
| ###Scripts version 2129### | ||||
| * произведена оптимизация части скрипта отвечающая за dxvk и vkd3d | ||||
|  | ||||
| ###Scripts version 2128### | ||||
| * обновлен "plugins_v7"  | ||||
| * обновлены библиотеки для работы FAKE DLSS (обновлена версия FSR до 2.1)  | ||||
| * добавлена функция подмены видеокарты для значительного увеличения списка поддержки игр с FAKE_DLSS (активируется автоматически при включении USE_FAKE_DLSS в EDIT_DB) | ||||
| * ускорено создание нового префикса | ||||
| * обновлен "PROTON_GE" до версии 7-33 (версии dxvk и vkd3d обновлены) | ||||
|  | ||||
| ###Scripts version 2127### | ||||
| * обновлен "plugins_v6" (добавлены библиотеки для работы FAKE DLSS) | ||||
| * добавлена возможность включения поддержки USE_FAKE_DLSS в меню EDIT_DB (Работает на ЛЮБОЙ видеокарте с поддержкой Vulkan) | ||||
|  | ||||
| ###Scripts version 2126### | ||||
| * обновлен "PROTON_GE" до версии 7-30 (версии dxvk и vkd3d используются из PROTON_STEAM_7.0-4) | ||||
| * обновлен список платных подписчиков в разделе "Авторы и спасибы" которые поддерживают развитие проекта на https://boosty.to/linux-gaming.ru | ||||
|  | ||||
| ###Scripts version 2125### | ||||
| * HOTFIX - start.sh | ||||
|  | ||||
| ###Scripts version 2124### | ||||
| * обновлен "PROTON_GE" до версии 7-29 | ||||
| * обновлен "PROTON_STEAM" до версии 7.0-4 | ||||
| * обновлен плагин pp-games-lib | ||||
|  | ||||
| ###Scripts version 2123### | ||||
| * HOTFIX - скачивание PROTON GE при использовании режжима GALLIUM NINE | ||||
| * добавлена русификация CREDITS (Авторы и спасибы) - спасибо chal55rus | ||||
| * добавлена русификация плагина pp-games-lib - спасибо zorn | ||||
|  | ||||
| ###Scripts version 2122### | ||||
| * добавлен плагин pp-games-lib в новый каталог PortProton/data/plugins/ подробности на github (автор плагина: товарищ zorn) https://github.com/zorn-v/PortProton-games-library | ||||
| * обновлены срипты установки и запуска League of Legends (обновлен WINE_LOL_GE_7.0-4 - отныне нет необходимости вводить пароль рут для запуска League of Legends) | ||||
| * для работы GALLIUM_NINE по умолчанию используется PROTON_GE | ||||
| * в режиме GALLIUM_NINE исправлена работа лаунчеров (таких как Epic Games) | ||||
| * для Wargaming Game Center аргумент запуска "--disable-gpu" отключаестя автоматически при исползовании режима VULKAN. | ||||
| * при использовании префикса DOTNET исправлено отображение черного экрана в некоторых приложениях | ||||
| * добавлен выбор скачивания и автоматической установки версий WINE от Kron4ek  | ||||
|  | ||||
| ###Scripts version 2121### | ||||
| * обновлен "PROTON_GE" до версии 7-26 | ||||
| * исправлено создание ярлыков для WGC (для атоматического исправления уже существующих ярлыков, просто запустите установщик WGC из PortProton) | ||||
| * добавлено автоматическое включение MANGOHUD при использовании ограничения FPS | ||||
|  | ||||
| ###Scripts version 2120### | ||||
| * обновлен "PROTON_GE" до версии 7-21 | ||||
| * обновлен "libs_v32" (Steam Runtime Snipers) | ||||
| * обновлена установка ORIGIN | ||||
|  | ||||
| ###Scripts version 2119### | ||||
| * исправлено и ускорено создание DOTNET префикса | ||||
| * HOTFIX - для PW_USE_D3D_EXTRAS  | ||||
| * обновлена информация о проекте, разработчиках и платных подписчиков на boosty | ||||
| * добавлена оптимизация игр и приложений при использовании сесcии Wayland (используется прямой запуск, не используя XWayland) | ||||
|  | ||||
| ###Scripts version 2118### | ||||
| * переменная PW_USE_D3D_EXTRAS снова включена по умолчанию (кроме WGC) | ||||
| * обновлен "PROTON_STEAM" до версии 7.0-3 | ||||
| * добавлена информация о проекте, разработчиках и платных подписчиков на boosty (тестовый режим)  | ||||
|  | ||||
| ###Scripts version 2117### | ||||
| * исправлена установка и запуск World of Sea Battle | ||||
| * для AUTOINSTALL по умолчанию включена переменная PW_USE_D3D_EXTRAS (необходима для стабильной установки лончеров в тихом режиме) | ||||
|  | ||||
| ###Scripts version 2116### | ||||
| * HOTFIX - Epic Games Store | ||||
| * HOTFIX - League of Legends | ||||
|  | ||||
| ###Scripts version 2115### | ||||
| * ускорен запуск PortProton в Rosa Linux | ||||
|  | ||||
| ###Scripts version 2111 - 2114### | ||||
| * исправление ошибок | ||||
|  | ||||
| ###Scripts version 2110### | ||||
| * обновлен "PROTON_GE" до версии 7-20 | ||||
| * исправлена работа игры World of Warplanes | ||||
| * переменная PW_D3D_EXTRAS_DISABLE переименована в PW_USE_D3D_EXTRAS и выключена по умолчанию (в связи с развитием WINE сторонние библиотеки DirectX нужны в меньшем количестве игр) | ||||
|  | ||||
| ###Scripts version 2109### | ||||
| * обновлен "libs_v31" (HOTFIX для Rosa Linux) | ||||
| * обновлен "PROTON_GE" до версии 7-19 | ||||
| * исправлена работа Overwatch | ||||
|  | ||||
| ###Scripts version 2108### | ||||
| * HOTFIX  - для правильной работы в Rosa Linux | ||||
|  | ||||
| ###Scripts version 2107### | ||||
| * ускорен запуск контейнера | ||||
| * оптимизация скрипта start.sh | ||||
| * обновлен "libs_v30" (восстановлена работа vkBasalt на предыдущих версиях OS Linux) | ||||
| * обновлен "PROTON_GE" до версии 7-18 | ||||
|  | ||||
| ###Scripts version 2106### | ||||
| * обновлен libs_v29 (steam runtime sniper 20220509, mangohud 0.6.7, vkBasalt 0.3.2.5) | ||||
| * для включения "AMD FidelityFX Super Resolution" в "EDIT_DB" добавлен переменная "WINE_FULLSCREEN_FSR" | ||||
| * улучшено качество изображения при использовании FSR (Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана) | ||||
| * улучшена производительность vkBasalt | ||||
| * улучшение производительности в играх при использовании API VULKAN (DXVK и VKD3D) | ||||
|   | ||||
| ###Scripts version 2105### | ||||
| * обновлен "PROTON_STEAM" до версии 7.0-2 | ||||
| * обновлен "PROTON_GE" до версии 7-16 | ||||
| * обновлен "WINE_LOL_GE" до версии 7.0-2 + скрипы установки и запуска (ускорен запуск клиента игры) | ||||
| * удален "Bethesda.net Launcher" из AUTOINSTALL (из за его переезда в STEAM) | ||||
| * улучшены функции создания образа префикса и его распаковки  | ||||
| * улучшение локализации | ||||
|  | ||||
| ###Scripts version 2104### | ||||
| * HOTFIX - скачивание и обновление winetricks | ||||
| * при создании лога убраны все d3dx* и d3dcomp* для удобства чтения | ||||
|  | ||||
| ###Scripts version 2103### | ||||
| * обновлен режим запуска контейнера | ||||
| * временно переменная PW_USE_AMDVLK_DRIVER не работает  | ||||
|  | ||||
| ###Scripts version 2102### | ||||
| * исправлена работа GALLIUM_NINE на интегрированных видеокатрах от Intel | ||||
| * исправлено переключение AMDVLK - RADV | ||||
| * увеличениние FPS в играх до 20% (для всех режимов запуска) | ||||
|  | ||||
| ###Scripts version 2101### | ||||
| * фикс работы WINETRICKS (новый prefix manager) при отсутствии winetricks.log | ||||
| * обновлен "libs_v28" (обновление MANGOHUD до версии 0.6.6-1) | ||||
|  | ||||
| ###Scripts version 2100### | ||||
| * обновлен "libs_v27" (унификация каталогов библиотек под разные ОС Linux) | ||||
| * MANGOHUD снова работает в режиме OPENGL | ||||
| * добавлен лаунчер World of Sea Battle (ТЕСТ) | ||||
|  | ||||
| ###Scripts version 2099### | ||||
| * обновлен "PROTON_GE" до версии 7-14 | ||||
| * обновлен "libs_v26" (обновление контейнера Steam Runtime Sniper) | ||||
| * обновлен "plugins_v5" | ||||
| * добавлена проверка наличия библиотеки d3dadapter9 в системе (неоходимо для работы GALLIUM_NINE на большем кол-ве ОС Linux) | ||||
| * ускорено создание нового префикса | ||||
| * по умолчанию для wine используется тема light (после создания нового, или чистки текущего префикса) | ||||
| * в EDIT_DB добавлена переменная PW_USE_SHADER_CACHE для управление кешированием шейдеров (отключать только при наличии микрофризов в игре) | ||||
| * удален STEAM_PP из AUTOINSTALL (так как есть нативная версия STEAM для Linux со своим wine-proton)  | ||||
|  | ||||
| ###Scripts version 2098### | ||||
| * из за возможных проблем с некоторыми играми по умолчанию MANGOHUD выключен (включается в EDIT_DB -> MANGOHUD, или глобально добавлением export PW_MANGOHUD=1 в user.conf) | ||||
|  | ||||
| ###Scripts version 2097### | ||||
| * ускорен запуск всех приложений в PortProton до 200% в зависимости от системы | ||||
| * обновлены дополнительные библиотеки "plugins_v4" (добавлена поддержка GALLIUM_NINE) | ||||
| * добавлен выбор режима "GALLIUM_NINE" (поддержка нитивного DirectX9 на видеокарте с MESA драйвером) | ||||
| * в новый интерфейс для WINETRICKS добавлена вкладка settings | ||||
| * в EDIT_DB добавлена переменная PW_USE_AMDVLK_DRIVER (использовать драйвер AMDVLK вместо RADV на видеокартах от AMD) | ||||
| * добавлена архивация ярлыков при создании образа префикса | ||||
| * добавлено востановление ярлыков после распаковки образа префикса (путь до .exe файла корректируется автоматически) | ||||
| * улучшена работа виртуального рабочего стола | ||||
| * explorer изменен на winefile (исправлено определение свободного дискового пространства) | ||||
| * отключена загрузка mono и gecko для League of Legends (ускоряет первый запуск) | ||||
| * для принудительного использования AMD видеокарты, вместо NVIDIA, можно добавить "export DRI_PRIME=1" в user.conf | ||||
|  | ||||
| ###Scripts version 2096### | ||||
| * добавлена проверка на переменную LANG для работы PortProton на STEAM-DECK | ||||
| * добавлен новый интерфейс для WINETRICKS | ||||
| * обновлен "libs_v25" (обновлен steam runtime sniper, добавлена поддержка "MANGOHUD" и "vkBasalt" для систем: "RED OS" и "OpenSUSE") | ||||
| * в EDIT_DB добавлена переменная PW_FIX_VIDEO_IN_GAME (требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено, окрашено в розовый цвет) | ||||
|  | ||||
| ###Scripts version 2095### | ||||
| * обновлен "libs_v24" (hotfix) | ||||
|  | ||||
| ###Scripts version 2094### | ||||
| * откат "PROTON_GE" до версии 7-9 | ||||
|  | ||||
| @@ -308,7 +619,7 @@ | ||||
| ###Scripts version 2022### | ||||
| * добавлен фикc для работы EVE Online | ||||
| * добавлен в GUI вывод версий WINE используемых по умолчанию | ||||
| * в функцию "GET OTHER WINE" добавлена вкладка с версиями WINE от PortWINE-Linux.ru (тест) | ||||
| * в функцию "GET OTHER WINE" добавлена вкладка с версиями WINE от linux-gaming.ru (тест) | ||||
| * исправлено завершение тихого режима установки | ||||
|  | ||||
| ###Scripts version 2021### | ||||
| @@ -349,7 +660,7 @@ PS: Cefeiko - отдельный респект за помощь в отлов | ||||
|  | ||||
| ###Scripts version 2014### | ||||
| * обновлен WINE PROTON_STEAM до версии 6.3-7 совместно с DXVK и VKD3D | ||||
| * реализован запуск League Of Legends (необходимо запускать с версией wine: https://github.com/Castro-Fidel/wine_builds/releases/download/WINE_LOL_GE_6.16-2/WINE_LOL_GE_6.16-2.tar.xz ) | ||||
| * реализован запуск League Of Legends (необходимо запускать с версией wine: github.com/Castro-Fidel/wine_builds/releases/download/WINE_LOL_GE_6.16-2/WINE_LOL_GE_6.16-2.tar.xz ) | ||||
|  | ||||
| ###Scripts version 2013### | ||||
| * добавлен автоматический перенос содержимого каталога ~/.PortWINE в ../PortProton/data/tmp | ||||
| @@ -361,7 +672,7 @@ PS: Cefeiko - отдельный респект за помощь в отлов | ||||
| ###PortProton-96### 16.09.2021 ###Scripts version 2012### --- TEST --- | ||||
| * PortProton переведен в режим обновлений "rolling release": | ||||
|     - проверка и обновление скриптов в приоритете перед другими обновлениями | ||||
|     - создана ветка https://github.com/Castro-Fidel/wine_builds/releases | ||||
|     - создана ветка github.com/Castro-Fidel/wine_builds/releases | ||||
|     - реализован функционал позволяющий добавлять любую версию WINE/PROTON/GE/LUTRIS в каталог dist и эта версия автоматически появиться при выборе в графическом интерфейсе | ||||
|     - обновлен скрипт установки порта | ||||
| * проверка версии PortProton перенесена с ftp на github | ||||
| @@ -478,7 +789,7 @@ PS: не забывает для активации добавить перем | ||||
| * добавлен пользовательский файл конфигурации (путь_до_PortProton/data/user.conf) который при наполнениии замещает настройки скрипта var и db файлов, но при обновлении скриптов остается неизменным, для сохранения ваших настроек. | ||||
| * автоматическое изменение раскладки клавиатуры работает только при установке значении переменной export PW_XKBD_RU_HACK=1 (можно прописывать как в скрипт var, так и в user.conf) | ||||
| * HOTFIX - определение месторасполажения установленных шейдеров для vkBasalt (для работы под Arch и Manjaro) | ||||
| * проверка и обновления скриптов из https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz | ||||
| * проверка и обновления скриптов из github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz | ||||
|  | ||||
| ###Scripts version 1113### | ||||
| * обновлен dxvk до v1.9-51 | ||||
| @@ -753,7 +1064,7 @@ PS: не забывает для активации добавить перем | ||||
| * в AUTOINSTALL добавлены установки "Origin" и "Battle.net Launcher" | ||||
| * увеличено время ожидания ответа при проверки связи с интернетом (ping -w5 -c1 github.com) | ||||
| * увеличено количество попыток скачивания для неустойчивого интернет соединения (wget -c -t 10 -T 1) | ||||
| * в GUI PortProton добавлена кнопка F.A.Q. для открытия справочной страницы portwine-linux.ru | ||||
| * в GUI PortProton добавлена кнопка F.A.Q. для открытия справочной страницы linux-gaming.ru | ||||
|  | ||||
| ###Scripts version 1046### | ||||
| * обновлена верси VKD3D используемая по умолчанию до версии 2.3.1 (скрипт var, переменная export PW_DEF_VKD3D_VER=2.3.1) | ||||
| @@ -784,7 +1095,7 @@ PS: не забывает для активации добавить перем | ||||
|  | ||||
| ###PortProton-75### 24.04.2021 ###Scripts version 1040### | ||||
| * обновлен wine Proton experimental 6.3 от 23.04.2021 | ||||
| * добавлена функция pw_clear_pfx для отчистки префикса порта во время обновления без затрагивания игр и программ | ||||
| * добавлена функция pw_clear_pfx для очистки префикса порта во время обновления без затрагивания игр и программ | ||||
| * проверка и настройка переменных для MANGOHUD добавлены функцию pw_mangohud_check | ||||
| * версия VKD3D по умолчанию = 2.3 | ||||
| * добавлена поддержка DXR (RTX) в режиме VKD3D, при условии использования переменной PW_USE_DXR10=1 | ||||
| @@ -800,7 +1111,7 @@ PS: не забывает для активации добавить перем | ||||
| * ускорена работа reset скрипта останавливающая все процессы порта | ||||
| * исправлены ошибки связанные с остановкой отсутствующих pid-оф yad и процессов wine. | ||||
| * удалено использование wineserver -k в функции kill_portwine (влияло на инициализацию префикса) | ||||
| * добавлена отчистка ~/.PortWINE, при условии установки новой версии порта | ||||
| * добавлена очистка ~/.PortWINE, при условии установки новой версии порта | ||||
| * добавлена вся информация из db файла и winetricks.log в debug | ||||
| * удален каталог vars (из за db файлоа больше в нем нет необходимости) | ||||
| * скрипт PortProton_vars перенесен в каталог scripts и переименован в var | ||||
| @@ -836,7 +1147,7 @@ PS: не забывает для активации добавить перем | ||||
| * убран xterm из debug (иначе ломает шрифты) | ||||
| * добавлена кнопка редактирования найденного db файла | ||||
| * ТЕСТ: автоудаление PINNED_LIBS и отключение setup.sh --force | ||||
| * изменение сравнения версий скриптов и портов "$(curl -s --list-only "https://portwine-linux.ru/ftp/current_version/blabla_ver")" | ||||
| * изменение сравнения версий скриптов и портов "$(curl -s --list-only "linux-gaming.ru/ftp/current_version/blabla_ver")" | ||||
| * автоматическая установка в префикс порта PW_DLL_INSTALL="vcrun2017   mfc42" | ||||
| * исправлено создание db файла при создании ярлыков, в именах которых присутствует одниковвые названия запускаемого файла | ||||
| * исправили создания префикса на некоторых системах при использования встроенного xterm из ~/PortWINE/libs | ||||
| @@ -848,7 +1159,7 @@ PS: не забывает для активации добавить перем | ||||
| * добавлен прогресс загрузки библиотек с интернета | ||||
| * добавлен в debug полный путь до запускаемой игры/программы вместе с именем файла | ||||
| * исправлено дублирование db файлов при создании ярлыков | ||||
| * перенос libs с сервера PortWINE-Linux.ru на https://github.com/Castro-Fidel/PortWINE/releases/ | ||||
| * перенос libs с сервера linux-gaming.ru на github.com/Castro-Fidel/PortWINE/releases/ | ||||
| * скачивание mono оф. github mono | ||||
| * скачивание gecko оф. ftp winehq | ||||
| * в /data/scripts/vars/PortProton_vars добавлена переменная PW_MANGOHUD=1 что включает HUD для монитроринга FPS, нагрузку на CPU, GPU и т.п (при условии что в системе предустановлен пакет mangohud) | ||||
| @@ -892,6 +1203,3 @@ PS: не забывает для активации добавить перем | ||||
| * простое создание ярлыков с выбором режима запуска (+ возможно добавить свои параметры запуска к игре/приложению)  | ||||
| * добавлена интеграция PortProton в рабочее окружение (root права не нужны, концепция порта не изменилась) | ||||
|  | ||||
| ###ЗАМЕТКИ### | ||||
| * проверка версий dxvk на github: curl -s https://github.com/doitsujin/dxvk/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g' | ||||
| * проверка версий vkd3d на github: curl -s https://github.com/HansKristian-Work/vkd3d-proton/releases | grep Version | awk {'print $3'} | sed 's%</a>%%g' | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
|  # Create the VkSurface on the first call to IDXGISwapChain::Present, | ||||
| # Create the VkSurface on the first call to IDXGISwapChain::Present, | ||||
| # rather than when creating the swap chain. Some games that start | ||||
| # rendering with a different graphics API may require this option, | ||||
| # or otherwise the window may stay black. | ||||
| @@ -15,8 +15,17 @@ | ||||
| # | ||||
| # Supported values : 0 - 16 | ||||
|  | ||||
| # dxgi.maxFrameLatency = 0 | ||||
| # d3d9.maxFrameLatency = 0 | ||||
| # dxgi.maxFrameLatency = 1 | ||||
| # d3d9.maxFrameLatency = 1 | ||||
|  | ||||
| # Enables frame rate limiter. The main purpose of this is to work around | ||||
| # bugs in games that have physics or other simulation tied to their frame | ||||
| # rate, but do not provide their own limiter. | ||||
| # | ||||
| # Supported values : Any non-negative integer | ||||
|  | ||||
| # dxgi.maxFrameRate = 0 | ||||
| # d3d9.maxFrameRate = 0 | ||||
|  | ||||
|  | ||||
| # Override PCI vendor and device IDs reported to the application. Can | ||||
| @@ -24,19 +33,21 @@ | ||||
| # | ||||
| # Supported values: Any four-digit hex number. | ||||
|  | ||||
| # dxgi.customDeviceId = 0000 | ||||
| # dxgi.customVendorId = 0000 | ||||
| dxgi.customDeviceId = 222F | ||||
| dxgi.customVendorId = 10de | ||||
|  | ||||
| # d3d9.customDeviceId = 0000 | ||||
| # d3d9.customVendorId = 0000 | ||||
| # d3d9.customDeviceId = 222F | ||||
| # d3d9.customVendorId = 10de | ||||
|  | ||||
|  | ||||
| # Report Nvidia GPUs as AMD GPUs by default. This is enabled by default | ||||
| # to work around issues with NVAPI, but may cause issues in some games. | ||||
| # Override the reported device description | ||||
| # | ||||
| # Supported values: True, False | ||||
| # Supported values: Any string. | ||||
|  | ||||
| # dxgi.customDeviceDesc = "" | ||||
| # d3d9.customDeviceDesc = "" | ||||
|  | ||||
|  | ||||
| # dxgi.nvapiHack = False | ||||
|  | ||||
| # Override maximum amount of device memory and shared system memory | ||||
| # reported to the application. This may fix texture streaming issues | ||||
| @@ -48,6 +59,15 @@ | ||||
| # dxgi.maxSharedMemory = 0 | ||||
|  | ||||
|  | ||||
| # Some games think we are on Intel given a lack of NVAPI or | ||||
| # AGS/atiadlxx support. Report our device memory as shared memory, | ||||
| # and some small amount for a "carveout". | ||||
|  | ||||
| # Supported values: True, False | ||||
|  | ||||
| # dxgi.emulateUMA = False | ||||
|  | ||||
|  | ||||
| # Override back buffer count for the Vulkan swap chain. | ||||
| # Setting this to 0 or less will have no effect. | ||||
| # | ||||
| @@ -85,15 +105,6 @@ | ||||
| # d3d9.tearFree = Auto | ||||
|  | ||||
|  | ||||
| # Performs range check on dynamically indexed constant buffers in shaders. | ||||
| # This may be needed to work around a certain type of game bug, but may | ||||
| # also introduce incorrect behaviour. | ||||
| # | ||||
| # Supported values: True, False | ||||
|  | ||||
| # d3d11.constantBufferRangeCheck = False | ||||
|  | ||||
|  | ||||
| # Assume single-use mode for command lists created on deferred contexts. | ||||
| # This may need to be disabled for some applications to avoid rendering | ||||
| # issues, which may come at a significant performance cost. | ||||
| @@ -107,9 +118,9 @@ | ||||
| # with. Setting this to a higher value may allow some applications to run | ||||
| # that would otherwise fail to create a D3D11 device. | ||||
| # | ||||
| # Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1 | ||||
| # Supported values: 9_1, 9_2, 9_3, 10_0, 10_1, 11_0, 11_1, 12_0, 12_1 | ||||
|  | ||||
| # d3d11.maxFeatureLevel = 11_1 | ||||
| # d3d11.maxFeatureLevel = 12_1 | ||||
|  | ||||
|  | ||||
| # Overrides the maximum allowed tessellation factor. This can be used to | ||||
| @@ -117,7 +128,7 @@ | ||||
| # | ||||
| # Supported values: Any number between 8 and 64 | ||||
|  | ||||
| # d3d11.maxTessFactor = 0 | ||||
| # d3d11.maxTessFactor = 16 | ||||
|  | ||||
|  | ||||
| # Enables relaxed pipeline barriers around UAV writes. | ||||
| @@ -130,6 +141,16 @@ | ||||
| # d3d11.relaxedBarriers = False | ||||
|  | ||||
|  | ||||
| # Ignores barriers around UAV writes from fragment shaders. | ||||
| # | ||||
| # This may improve performance in some games, but may also introduce | ||||
| # rendering issues. Please don't report bugs with the option enabled. | ||||
| # | ||||
| # Supported values: True, False | ||||
|  | ||||
| # d3d11.ignoreGraphicsBarriers = False | ||||
|  | ||||
|  | ||||
| # Overrides anisotropic filtering for all samplers. Set this to a positive | ||||
| # value to enable AF for all samplers in the game, or to 0 in order to | ||||
| # disable AF entirely. Negative values will have no effect. | ||||
| @@ -140,21 +161,31 @@ | ||||
| # d3d9.samplerAnisotropy = -1 | ||||
|  | ||||
|  | ||||
| # Changes the mipmap LOD bias for all samplers. The given number will be | ||||
| # added to the LOD bias provided by the application, rather than replacing | ||||
| # it entirely. Positive values will reduce texture detail, while negative | ||||
| # values may increase sharpness at the cost of shimmer. | ||||
| # | ||||
| # Supported values: Any number between -2.0 and 1.0 | ||||
|  | ||||
| # d3d11.samplerLodBias = -0.3 | ||||
|  | ||||
|  | ||||
| # Declares vertex positions as invariant in order to solve | ||||
| # potential Z-fighting issues at a small performance cost. | ||||
| # | ||||
| # Supported values: True, False | ||||
|  | ||||
| # d3d11.invariantPosition = True | ||||
| # d3d9.invariantPosition = False | ||||
| # d3d9.invariantPosition = True | ||||
|  | ||||
|  | ||||
| # Replaces NaN outputs from fragment shaders with zeroes for floating | ||||
| # point render target. Used in some games to prevent artifacting. | ||||
| # Forces the sample count of all textures to 1, and performs | ||||
| # the needed fixups in resolve operations and shaders. | ||||
| # | ||||
| # Supported values: True, False | ||||
|  | ||||
| # d3d11.enableRtOutputNanFixup = False | ||||
| # d3d11.disableMsaa = False | ||||
|  | ||||
|  | ||||
| # Clears workgroup memory in compute shaders to zero. Some games don't do | ||||
| @@ -165,10 +196,53 @@ | ||||
| # d3d11.zeroWorkgroupMemory = False | ||||
|  | ||||
|  | ||||
| # Resource size limit for implicit discards, in kilobytes. For small staging | ||||
| # resources mapped with MAP_WRITE, DXVK will sometimes allocate new backing | ||||
| # storage in order to avoid GPU synchronization, so setting this too high | ||||
| # may cause memory issues, setting it to -1 disables the feature. | ||||
|  | ||||
| # d3d11.maxImplicitDiscardSize = 256 | ||||
|  | ||||
|  | ||||
| # Resource size limit for buffer-mapped dynamic images, in kilobytes. | ||||
| # A higher threshold may reduce memory usage and PCI-E bandwidth in | ||||
| # some games, but may also increase GPU synchronizations. Setting it | ||||
| # to -1 disables the feature. | ||||
|  | ||||
| # d3d11.maxDynamicImageBufferSize = -1 | ||||
|  | ||||
|  | ||||
| # Allocates dynamic resources with the given set of bind flags in | ||||
| # cached system memory rather than uncached memory or host-visible | ||||
| # VRAM, in order to allow fast readback from the CPU. This is only | ||||
| # useful for buggy applications, and may reduce GPU-bound performance. | ||||
| # | ||||
| # Supported values: Any combination of the following: | ||||
| # - v: Vertex buffers | ||||
| # - i: Index buffers | ||||
| # - c: Constant buffers | ||||
| # - r: Shader resources | ||||
| # - a: All dynamic resources | ||||
|  | ||||
| # d3d11.cachedDynamicResources = "" | ||||
|  | ||||
|  | ||||
| # Force-enables the D3D11 context lock via the ID3D10Multithread | ||||
| # interface. This may be useful to debug race conditions. | ||||
| # | ||||
| # Supported values: True, False | ||||
|  | ||||
| # d3d11.enableContextLock = False | ||||
|  | ||||
|  | ||||
| # Sets number of pipeline compiler threads. | ||||
| # | ||||
| # If the graphics pipeline library feature is enabled, the given | ||||
| # number of threads will be used for shader compilation. Some of | ||||
| # these threads will be reserved for high-priority work. | ||||
| # | ||||
| # Supported values: | ||||
| # - 0 to automatically determine the number of threads to use | ||||
| # - 0 to use all available CPU cores | ||||
| # - any positive number to enforce the thread count | ||||
|  | ||||
| # dxvk.numCompilerThreads = 0 | ||||
| @@ -189,33 +263,32 @@ | ||||
| # dxvk.useRawSsbo = Auto | ||||
|  | ||||
|  | ||||
| # Toggles early discard. | ||||
| # Controls graphics pipeline library behaviour | ||||
| # | ||||
| # Uses subgroup operations to determine whether it is safe to | ||||
| # discard fragments before the end of a fragment shader. This | ||||
| # is enabled by default on all drivers except RADV and Nvidia. | ||||
| # Enabling this may improve or degrade performance depending | ||||
| # on the game and hardware, or cause other issues. | ||||
| # Can be used to change VK_EXT_graphics_pipeline_library usage for | ||||
| # debugging purpose. Doing so will likely result in increased stutter | ||||
| # or degraded performance. | ||||
| # | ||||
| # Supported values: | ||||
| # - Auto: Don't change the default | ||||
| # - True, False: Always enable / disable | ||||
| # - Auto: Enable if supported, and compile optimized pipelines in the background | ||||
| # - True: Enable if supported, but do not compile optimized pipelines | ||||
| # - False: Always disable the feature | ||||
|  | ||||
| # dxvk.useEarlyDiscard = Auto | ||||
| # dxvk.enableGraphicsPipelineLibrary = Auto | ||||
|  | ||||
|  | ||||
| # Controls workaround for NVIDIA HVV Heap bug. | ||||
| # Controls pipeline lifetime tracking | ||||
| # | ||||
| # Limits the budget of NVIDIA's HVV (host-visible, | ||||
| # device-local) heap to be half of the reported size. This is | ||||
| # needed to avoid NVIDIA driver bug 3114283, and defaults to | ||||
| # being enabled on all affected drivers. | ||||
| # If enabled, pipeline libraries will be freed aggressively in order | ||||
| # save memory and address space. Has no effect if graphics pipeline | ||||
| # libraries are not supported or disabled. | ||||
| # | ||||
| # Supported values: | ||||
| # - Auto: Don't change the default | ||||
| # - True, False: Always enable / disable | ||||
| # - Auto: Enable tracking for 32-bit applications only | ||||
| # - True: Always enable tracking | ||||
| # - False: Always disable tracking | ||||
|  | ||||
| # dxvk.halveNvidiaHVVHeap = Auto | ||||
| # dxvk.trackPipelineLifetime = Auto | ||||
|  | ||||
|  | ||||
| # Sets enabled HUD elements | ||||
| @@ -240,17 +313,6 @@ | ||||
| # d3d9.shaderModel = 3 | ||||
|  | ||||
|  | ||||
| # Evict Managed on Unlock | ||||
| # | ||||
| # Decides whether we should evict managed resources from | ||||
| # system memory when they are unlocked entirely. | ||||
| # | ||||
| # Supported values: | ||||
| # - True, False: Always enable / disable | ||||
|  | ||||
| #  d3d9.evictManagedOnUnlock = False | ||||
|  | ||||
|  | ||||
| # DPI Awareness | ||||
| # | ||||
| # Decides whether we should call SetProcessDPIAware on device | ||||
| @@ -306,18 +368,21 @@ | ||||
| # - Max Available Memory: Any int32_t | ||||
| # - Memory Tracking Testing: True, False | ||||
|  | ||||
| # d3d9.maxAvailableMemory = 1024 | ||||
| # d3d9.maxAvailableMemory = 4096 | ||||
| # d3d9.memoryTrackTest = False | ||||
|  | ||||
|  | ||||
| # Force enable/disable floating point quirk emulation | ||||
| #  | ||||
| # | ||||
| # Force toggle anything * 0 emulation | ||||
| # Tristate | ||||
| # Setting it to True will use a faster but less accurate approach that works for most games. | ||||
| # Supported values: | ||||
| # - True/False | ||||
| # - True: Use a faster but less accurate approach. Good enough for most games | ||||
| # - False: Disable float emulation completely | ||||
| # - Strict: Use a slower but more correct approach. Necessary for some games | ||||
| # - Auto: DXVK will pick automatically | ||||
|  | ||||
| # d3d9.floatEmulation =  | ||||
| # d3d9.floatEmulation = Auto | ||||
|  | ||||
|  | ||||
| # Enable dialog box mode | ||||
| @@ -331,7 +396,7 @@ | ||||
| # d3d9.enableDialogMode = False | ||||
|  | ||||
| # Overrides the application's MSAA level on the swapchain | ||||
| #  | ||||
| # | ||||
| # Supported values: -1 (application) and 0 to 16 (user override) | ||||
|  | ||||
| # d3d9.forceSwapchainMSAA = -1 | ||||
| @@ -348,16 +413,6 @@ | ||||
|  | ||||
| # d3d9.longMad = False | ||||
|  | ||||
| # Alpha Test Wiggle Room | ||||
| # | ||||
| # Workaround for games using alpha test == 1.0, etc due to wonky interpolation or | ||||
| # misc. imprecision on some vendors | ||||
| # | ||||
| # Supported values: | ||||
| # - True/False | ||||
|  | ||||
| # d3d9.alphaTestWiggleRoom = False | ||||
|  | ||||
| # Device Local Constant Buffers | ||||
| # | ||||
| # Enables using device local, host accessible memory for constant buffers in D3D9. | ||||
| @@ -369,16 +424,6 @@ | ||||
|  | ||||
| # d3d9.deviceLocalConstantBuffers = False | ||||
|  | ||||
| # Allow Read Only | ||||
| # | ||||
| # Enables using the D3DLOCK_READONLY flag. Some apps use this | ||||
| # incorrectly, and write when they should be reading. | ||||
| # | ||||
| # Supported values: | ||||
| # - True/False | ||||
|  | ||||
| # d3d9.allowLockFlagReadonly = True | ||||
|  | ||||
| # No Explicit Front Buffer | ||||
| # | ||||
| # Disables the front buffer | ||||
| @@ -397,6 +442,15 @@ | ||||
|  | ||||
| # d3d9.supportDFFormats = True | ||||
|  | ||||
| # Use D32f for D24 | ||||
| # | ||||
| # Useful for reproducing AMD issues on other hw. | ||||
| # | ||||
| # Supported values: | ||||
| # - True/False | ||||
|  | ||||
| # d3d9.useD32forD24 = False | ||||
|  | ||||
| # Support X4R4G4B4 | ||||
| # | ||||
| # Support the X4R4G4B4 format. | ||||
| @@ -416,17 +470,6 @@ | ||||
|  | ||||
| # d3d9.supportD32 = True | ||||
|  | ||||
| # SWVP Constant Counts | ||||
| # | ||||
| # The number of constants available when using Software Vertex Processing. | ||||
| # | ||||
| # Supported values: | ||||
| # - Integers | ||||
|  | ||||
| # d3d9.swvpFloatCount = 8192 | ||||
| # d3d9.swvpIntCount = 2048 | ||||
| # d3d9.swvpBoolCount = 2048 | ||||
|  | ||||
| # Disable A8 as a Render Target | ||||
| # | ||||
| # Disable support for A8 format render targets | ||||
| @@ -437,17 +480,6 @@ | ||||
|  | ||||
| # d3d9.disableA8RT = False | ||||
|  | ||||
| # Support for VCache Query | ||||
| # | ||||
| # Support for the vcache query | ||||
| # Not very important as a user config. | ||||
| # Used internally. | ||||
| # | ||||
| # Supported values: | ||||
| # - True/False | ||||
|  | ||||
| # Defaults to True if vendorId == 0x10de | ||||
| # d3d9.supportVCache = True | ||||
|  | ||||
| # Force Sampler Type Spec Constants | ||||
| # | ||||
| @@ -470,16 +502,6 @@ | ||||
|  | ||||
| # d3d9.forceAspectRatio = "" | ||||
|  | ||||
| # Allow Do Not Wait | ||||
| # | ||||
| # Allow the do not wait lock flag to be used | ||||
| # Useful if some apps use this incorrectly. | ||||
| # | ||||
| # Supported values: | ||||
| # - True/False | ||||
|  | ||||
| # d3d9.allowDoNotWait = True | ||||
|  | ||||
| # Allow Discard | ||||
| # | ||||
| # Allow the discard lock flag to be used | ||||
| @@ -511,4 +533,13 @@ | ||||
| # - True/False | ||||
|  | ||||
| # d3d9.apitraceMode = False | ||||
| # d3d11.apitraceMode = False | ||||
|  | ||||
| # Seamless Cubes | ||||
| # | ||||
| # Don't use non seamless cube maps even if they are supported. | ||||
| # Non seamless cubes are correct d3d9 behavior, but can produce worse looking edges. | ||||
| # | ||||
| # Supported values: | ||||
| # - True/False | ||||
|  | ||||
| # d3d9.seamlessCubes = False | ||||
|   | ||||
| Before Width: | Height: | Size: 1017 B After Width: | Height: | Size: 1.6 KiB | 
| Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB | 
| Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/caliber.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.9 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/cemu.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/citra.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/covers/lol_cover.jpg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/covers/pw_loading_cover.gif
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/covers/pw_update_pfx_cover.gif
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/crossout.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 4.1 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/dolphin.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 729 B After Width: | Height: | Size: 729 B | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/duckstation.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/eaapp.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 2.6 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/epsxe.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 663 B | 
| Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 3.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/fulqrumgames.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.9 KiB | 
| Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/igclient.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 2.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/itch.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/lgc.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 680 B | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/lol.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 3.1 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/mame.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 953 B After Width: | Height: | Size: 953 B | 
| Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.3 KiB | 
| Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.3 KiB | 
| Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/panzar.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/plariumplay.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/poe.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 2.9 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/port_proton.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/port_winefile.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/ppsspp.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/project64.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/retroarch.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 787 B After Width: | Height: | Size: 787 B | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/scummvm.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/swl.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 3.3 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/vba-m.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/warframe.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								data_from_portwine/img/gui/wosb.png
									
									
									
									
									
										Executable file
									
								
							
							
						
						| After Width: | Height: | Size: 3.8 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/gui/yabause.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/setup.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB | 
							
								
								
									
										0
									
								
								data_from_portwine/img/w.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| Before Width: | Height: | Size: 409 KiB After Width: | Height: | Size: 409 KiB | 
							
								
								
									
										484
									
								
								data_from_portwine/plugins/pp-games-lib
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,484 @@ | ||||
| #!/usr/bin/env python3 | ||||
|  | ||||
| import os | ||||
| import re | ||||
| import shlex | ||||
| import shutil | ||||
| import logging | ||||
| from configparser import RawConfigParser | ||||
| from pathlib import Path | ||||
| from subprocess import run | ||||
| from types import SimpleNamespace | ||||
| try: | ||||
|     from PyQt6.QtCore import * # type: ignore | ||||
|     from PyQt6.QtGui import * # type: ignore | ||||
|     from PyQt6.QtWidgets import * # type: ignore | ||||
| except ModuleNotFoundError: | ||||
|     from PyQt5.QtCore import * # type: ignore | ||||
|     from PyQt5.QtGui import * # type: ignore | ||||
|     from PyQt5.QtWidgets import * # type: ignore | ||||
|  | ||||
| settings = QSettings('PPGL', 'PortProtonGamesLib') | ||||
| g = SimpleNamespace(locale = '') | ||||
|  | ||||
| class MainWindow(QMainWindow): | ||||
|     def __init__(self): | ||||
|         super().__init__() | ||||
|  | ||||
|         self.resize(QSize(800, 600)) | ||||
|         geometry = settings.value('geometry_main') | ||||
|         if geometry: | ||||
|             self.restoreGeometry(geometry) | ||||
|  | ||||
|         shortcut = RawConfigParser() | ||||
|         shortcut.read(os.getenv('HOME') + '/.local/share/applications/PortProton.desktop') | ||||
|         scripts_dir = shortcut.get('Desktop Entry', 'Path', fallback=os.getenv('HOME') + '/.local/share/PortWINE/PortProton/data/scripts') | ||||
|         if not scripts_dir or not Path(scripts_dir).is_dir(): | ||||
|             QMessageBox.critical(self, 'Error', 'Can not find installed PortProton') | ||||
|             exit(1) | ||||
|         g.scripts_dir = scripts_dir.rstrip('/') | ||||
|         g.pp_icon = shortcut.get('Desktop Entry', 'Icon', fallback='/usr/share/pixmaps/portproton.png') | ||||
|         pp_icon = QIcon(g.pp_icon) | ||||
|         self.setWindowIcon(pp_icon) | ||||
|         self.setWindowTitle('PortProton games library') | ||||
|  | ||||
|         g.base_dir = str(Path(scripts_dir + '/../..').resolve()) | ||||
|         g.install_pfx = g.base_dir + '/data/prefixes/INSTALL' | ||||
|         g.shortcuts_dir = g.base_dir + '/shortcuts' | ||||
|         g.games_dir = g.base_dir + '/games' | ||||
|  | ||||
|         loc_path = Path(g.base_dir + '/data/tmp/PortProton_loc') | ||||
|         if loc_path.exists(): | ||||
|             g.locale = loc_path.read_text().strip() | ||||
|  | ||||
|         Path(g.shortcuts_dir).mkdir(parents=True, exist_ok=True) | ||||
|         Path(g.games_dir).mkdir(parents=True, exist_ok=True) | ||||
|  | ||||
|         sep = QFrame(self) | ||||
|         sep.setFrameShape(QFrame.Shape.VLine) | ||||
|         sep.setFrameShadow(QFrame.Shadow.Sunken) | ||||
|         self._status_size = QLabel(self) | ||||
|         self._status_dir = QLabel(self) | ||||
|         self._status_wine = QLabel(self) | ||||
|         self.statusBar().setVisible(False) | ||||
|         self.statusBar().addWidget(self._status_dir, 1) | ||||
|         self.statusBar().addWidget(self._status_wine) | ||||
|         self.statusBar().addWidget(sep) | ||||
|         self.statusBar().addWidget(self._status_size) | ||||
|  | ||||
|  | ||||
|         self.game_list = GameList(self) | ||||
|         self.setCentralWidget(self.game_list) | ||||
|  | ||||
|         self.toolbar = self.addToolBar('Main') | ||||
|         self.toolbar.setIconSize(QSize(32, 32)) | ||||
|         self.toolbar.setToolButtonStyle(Qt.ToolButtonStyle.ToolButtonTextBesideIcon) | ||||
|         self.toolbar.setMovable(False) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogNewFolder), _tr('Install new game'), self) | ||||
|         action.triggered.connect(self.install_game) | ||||
|         self.toolbar.addAction(action) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_FileLinkIcon), _tr('Add game entry'), self) | ||||
|         action.triggered.connect(self.add_game) | ||||
|         self.toolbar.addAction(action) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_BrowserReload), _tr('Reload list'), self) | ||||
|         action.triggered.connect(self.reload_list) | ||||
|         self.toolbar.addAction(action) | ||||
|         action = QAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Drop install prefix'), self) | ||||
|         action.triggered.connect(self.drop_prefix) | ||||
|         self.toolbar.addAction(action) | ||||
|         spacer = QWidget(self) | ||||
|         spacer.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Preferred) | ||||
|         self.toolbar.addWidget(spacer) | ||||
|         action = QAction(pp_icon, 'PortProton', self) | ||||
|         action.triggered.connect(self.run_pp) | ||||
|         self.toolbar.addAction(action) | ||||
|  | ||||
|     def install_game(self): | ||||
|         InstallGame(self) | ||||
|  | ||||
|     def add_game(self): | ||||
|         InstallGame(self, False) | ||||
|  | ||||
|     def reload_list(self): | ||||
|         self.game_list.reload() | ||||
|  | ||||
|     def drop_prefix(self): | ||||
|         res = QMessageBox.question(self, _tr('Are you sure ?'), _tr('Do you really want to remove<br/><b>{0}</b> ?', g.install_pfx)) | ||||
|         if res == QMessageBox.StandardButton.Yes: | ||||
|             shutil.rmtree(g.install_pfx, True) | ||||
|  | ||||
|     def run_pp(self): | ||||
|         self.setDisabled(True) | ||||
|         app.processEvents() | ||||
|         run([g.scripts_dir + '/start.sh']) | ||||
|         self.setDisabled(False) | ||||
|  | ||||
|     def set_status(self, item): | ||||
|         self.statusBar().setVisible(bool(item)) | ||||
|         if item: | ||||
|             self._status_size.setText('Size: ' + item.dir_size_human) | ||||
|             self._status_dir.setText(' ' + item.game_dir) | ||||
|             self._status_wine.setText(item.wine_use) | ||||
|  | ||||
|     def closeEvent(self, event): | ||||
|         geometry = self.saveGeometry() | ||||
|         settings.setValue('geometry_main', geometry) | ||||
|         super().closeEvent(event) | ||||
|  | ||||
| class LoadListThread(QThread): | ||||
|     completed = pyqtSignal(list) | ||||
|     def __init__(self, parent, install_dir): | ||||
|         super().__init__(parent) | ||||
|         self.install_dir = install_dir | ||||
|     def run(self): | ||||
|         exe_list = list(Path(self.install_dir).glob('**/*.exe')) | ||||
|         self.completed.emit(exe_list) | ||||
|  | ||||
| class InstallGame(QDialog): | ||||
|     def __init__(self, parent, installing=True): | ||||
|         super().__init__(parent) | ||||
|         self._installing = installing | ||||
|         self.install_dir = g.install_pfx + '/drive_c/Games' if installing else g.games_dir | ||||
|         self._exe_list_widget = QListWidget(self) | ||||
|         self._exe_list_widget.setIconSize(QSize(16, 16)) | ||||
|         self._exe_list_widget.itemDoubleClicked.connect(self._handleDoubleClick) | ||||
|         layout = QVBoxLayout() | ||||
|         layout.addWidget(self._exe_list_widget) | ||||
|  | ||||
|         self._pbar = QProgressBar(self) | ||||
|         self._pbar.setMaximum(0) | ||||
|         layout.addWidget(self._pbar) | ||||
|         thread = LoadListThread(self, self.install_dir) | ||||
|         thread.completed.connect(self.load) | ||||
|         thread.start() | ||||
|  | ||||
|         if self._installing: | ||||
|             setup_btn = QPushButton(self) | ||||
|             setup_btn.setIcon(self.style().standardIcon(QStyle.StandardPixmap.SP_FileDialogStart)) | ||||
|             setup_btn.setText(_tr('Run another setup')) | ||||
|             setup_btn.clicked.connect(self._runSetup) | ||||
|             layout.addWidget(setup_btn) | ||||
|         self.setLayout(layout) | ||||
|         self.resize(400, 300) | ||||
|         self.setModal(True) | ||||
|         self.setWindowTitle(_tr('Select game exe file')) | ||||
|         geometry = settings.value('geometry_install') | ||||
|         if geometry: | ||||
|             self.restoreGeometry(geometry) | ||||
|         self.show() | ||||
|  | ||||
|     def load(self, exe_list): | ||||
|         if self._installing and len(exe_list) == 0: | ||||
|             self._runSetup() | ||||
|             exe_list = list(Path(self.install_dir).glob('**/*.exe')) | ||||
|         if len(exe_list) == 0: | ||||
|             return self.close() | ||||
|         def render_list(): | ||||
|             pixmap = QPixmap(16, 16) | ||||
|             pixmap.fill(Qt.GlobalColor.transparent) | ||||
|             empty_icon = QIcon(pixmap) | ||||
|             for exe in sorted(exe_list): | ||||
|                 ico_file = str(exe) + '.ico' | ||||
|                 item = QListWidgetItem(self._exe_list_widget) | ||||
|                 item.setText(str(exe)[len(self.install_dir)+1:]) | ||||
|                 try: | ||||
|                     if not Path(ico_file).exists(): | ||||
|                         run(['wrestool', '-x', '-t14', '-o', ico_file, exe], capture_output=True) | ||||
|                     item.setIcon(QIcon(ico_file)) | ||||
|                 except Exception: | ||||
|                     pass | ||||
|                 if item.icon().pixmap(16, 16).isNull(): | ||||
|                     item.setIcon(empty_icon) | ||||
|                 self._exe_list_widget.addItem(item) | ||||
|             self._pbar.setVisible(False) | ||||
|         thread = QThread(self) | ||||
|         thread.run = render_list | ||||
|         thread.start() | ||||
|  | ||||
|     def _runSetup(self): | ||||
|         downloads_dir = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DownloadLocation) | ||||
|         exe_file, _ = QFileDialog.getOpenFileName(self, caption=_tr('Choose setup file'), filter='Exe files (*.exe)', directory=downloads_dir) | ||||
|         if not exe_file: | ||||
|             return | ||||
|         ppdb = shlex.quote(exe_file + '.ppdb') | ||||
|         script = f""" | ||||
|             mkdir -p {shlex.quote(g.install_pfx + '/drive_c/Games')} | ||||
|             echo ' | ||||
|                 export PW_VULKAN_USE=1 | ||||
|                 export PW_GUI_DISABLED_CS=1 | ||||
|                 export PW_PREFIX_NAME=INSTALL | ||||
|                 export PW_DLL_INSTALL=mfc42 | ||||
|             ' > {ppdb} | ||||
|             {shlex.quote(g.scripts_dir + '/start.sh')} {shlex.quote(exe_file)} | ||||
|             rm -f {ppdb} | ||||
|         """ | ||||
|         self.setDisabled(True) | ||||
|         app.processEvents() | ||||
|         run(['bash', '-c', script]) | ||||
|         self.setDisabled(False) | ||||
|  | ||||
|     def _handleDoubleClick(self, item): | ||||
|         game_dir = item.text().split('/')[0] | ||||
|         dlg = QInputDialog(self) | ||||
|         dlg.setWindowTitle(_tr('Please enter game entry name')) | ||||
|         dlg.setLabelText(_tr('New game entry')) | ||||
|         dlg.setTextValue(game_dir) | ||||
|         dlg.resize(300, 0) | ||||
|         ok = dlg.exec() | ||||
|         shortcut_name = dlg.textValue() | ||||
|         if not ok or not shortcut_name: | ||||
|             return | ||||
|         file_name = re.sub(r'[<>:/\\|?*]', '_', shortcut_name) | ||||
|         shortcut = f"{g.shortcuts_dir}/{file_name}.desktop" | ||||
|         if Path(shortcut).exists(): | ||||
|             res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', file_name)) | ||||
|             if res != QMessageBox.StandardButton.Yes: | ||||
|                 return | ||||
|         src_dir = self.install_dir + '/' + game_dir | ||||
|         dst_dir = g.games_dir + '/' + game_dir | ||||
|         exe_file = shlex.quote(g.games_dir + '/' + item.text()) | ||||
|         ppdb = shlex.quote(g.games_dir + '/' + item.text() + '.ppdb') | ||||
|         self.setDisabled(True) | ||||
|         if self._installing and Path(dst_dir).exists(): | ||||
|             res = QMessageBox.question(self, _tr('Dir already exists'), _tr('Dir <b>{0}</b> already exists. Overwrite ?', game_dir)) | ||||
|             if res != QMessageBox.StandardButton.Yes: | ||||
|                 return | ||||
|         if self._installing: | ||||
|             os.rename(src_dir, dst_dir) | ||||
|         script = f""" | ||||
|             export INSTALLING_PORT=1 | ||||
|             export portwine_exe={exe_file} | ||||
|             cd {shlex.quote(g.scripts_dir)} | ||||
|             . {shlex.quote(g.scripts_dir + '/runlib')} | ||||
|             pw_init_db | ||||
|             [ -f {ppdb} ] && . {ppdb} | ||||
|             echo -e "export PW_VULKAN_USE=${{PW_VULKAN_USE:-1}}\nexport PW_GUI_DISABLED_CS=1" >> {ppdb} | ||||
|         """ | ||||
|         run(['bash', '-c', script]) | ||||
|         icon_path = g.games_dir + '/' + item.text() + '.ico' | ||||
|         if not Path(icon_path).exists(): | ||||
|             icon_path = g.pp_icon | ||||
|         Path(shortcut).write_text(f"""[Desktop Entry] | ||||
| Name={shortcut_name} | ||||
| Exec=env {shlex.quote(g.scripts_dir + '/start.sh')} {exe_file} | ||||
| Type=Application | ||||
| Categories=Game | ||||
| StartupNotify=true | ||||
| Path={shlex.quote(g.scripts_dir)} | ||||
| Icon={icon_path} | ||||
| """, encoding='utf-8') | ||||
|         os.chmod(shortcut, 0o755) | ||||
|         win.reload_list() | ||||
|         self.close() | ||||
|  | ||||
|     def closeEvent(self, event): | ||||
|         geometry = self.saveGeometry() | ||||
|         settings.setValue('geometry_install', geometry) | ||||
|         super().closeEvent(event) | ||||
|  | ||||
|  | ||||
| class GameList(QListWidget): | ||||
|     def __init__(self, parent): | ||||
|         super().__init__(parent) | ||||
|         self.itemActivated.connect(self.runGame) | ||||
|         self.currentItemChanged.connect(self.selectItem) | ||||
|         self.setViewMode(QListWidget.ViewMode.IconMode) | ||||
|         self.setResizeMode(QListWidget.ResizeMode.Adjust) | ||||
|         self.setIconSize(QSize(64, 64)) | ||||
|         self.setWordWrap(True) | ||||
|         self.setSpacing(3) | ||||
|         self.reload() | ||||
|  | ||||
|     def reload(self): | ||||
|         self.clear() | ||||
|         shortcuts = list(Path(g.shortcuts_dir).glob('*.desktop')) | ||||
|         shortcuts += list(Path(g.base_dir).glob('*.desktop')) | ||||
|         for shortcut in shortcuts: | ||||
|             try: | ||||
|                 item = GameItem(self, shortcut) | ||||
|                 self.addItem(item) | ||||
|             except ValueError: | ||||
|                 pass | ||||
|             except: | ||||
|                 logging.exception('Error while parse "%s"', shortcut) | ||||
|         self.sortItems() | ||||
|         self.setCurrentIndex(QModelIndex()) | ||||
|  | ||||
|     def runGame(self, item): | ||||
|         win.setDisabled(True) | ||||
|         app.processEvents() | ||||
|         run(['bash', '-c', item.get('Exec')]) | ||||
|         win.setDisabled(False) | ||||
|  | ||||
|     def selectItem(self, item): | ||||
|         win.set_status(item) | ||||
|  | ||||
|     def contextMenuEvent(self, event): | ||||
|         selected = self.selectedItems() | ||||
|         if len(selected) == 0: | ||||
|             return | ||||
|         selected = selected[0] | ||||
|         menu = QMenu(self) | ||||
|         desktop = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DesktopIcon), _tr('Add to desktop')) | ||||
|         restore_gui = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogResetButton), _tr('Restore PortProton GUI')) | ||||
|         default_wine = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogOkButton), _tr('Set default wine')) | ||||
|         remove = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_TrashIcon), _tr('Remove game entry')) | ||||
|         uninstall = menu.addAction(self.style().standardIcon(QStyle.StandardPixmap.SP_DialogCloseButton), _tr('Uninstall game')) | ||||
|         if not selected.pp_gui_disabled: | ||||
|             restore_gui.setVisible(False) | ||||
|         if not selected.wine_use: | ||||
|             default_wine.setVisible(False) | ||||
|         if not selected.game_dir.startswith(g.games_dir): | ||||
|             uninstall.setVisible(False) | ||||
|         action = menu.exec(self.mapToGlobal(event.pos())) | ||||
|         desktop_shortcut = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.DesktopLocation) + '/' + Path(selected.desktop_file).name | ||||
|         if action == desktop: | ||||
|             if Path(desktop_shortcut).exists(): | ||||
|                 res = QMessageBox.question(self, _tr('Shortcut already exists'), _tr('Shortcut <b>{0}</b> already exists. Overwrite ?', desktop_shortcut)) | ||||
|                 if res != QMessageBox.StandardButton.Yes: | ||||
|                     return | ||||
|             shutil.copy(selected.desktop_file, desktop_shortcut) | ||||
|         if action == restore_gui or action == default_wine: | ||||
|             ignore_line = 'PW_GUI_DISABLED_CS' if action == restore_gui else 'PW_WINE_USE' | ||||
|             ppdb = shlex.split(selected.get('Exec'))[-1] + '.ppdb' | ||||
|             if not Path(ppdb).exists(): | ||||
|                 return | ||||
|             with open(ppdb, 'r') as read: | ||||
|                 with open(ppdb + '.new', 'w') as write: | ||||
|                     while (line := read.readline()): | ||||
|                         if ignore_line not in line: | ||||
|                             write.write(line) | ||||
|             os.rename(ppdb + '.new', ppdb) | ||||
|             if action == restore_gui: | ||||
|                 selected.pp_gui_disabled = False | ||||
|             if action == default_wine: | ||||
|                 selected.wine_use = None | ||||
|                 self.selectItem(selected) | ||||
|         def remove_shortcut(): | ||||
|             Path(desktop_shortcut).unlink(True) | ||||
|             Path(selected.desktop_file).unlink(True) | ||||
|             def_icon_path = g.base_dir + '/data/img/' + Path(shlex.split(selected.get('Exec'))[-1]).stem + '.png' | ||||
|             Path(def_icon_path).unlink(True) | ||||
|         if action == remove: | ||||
|             remove_shortcut() | ||||
|             self.reload() | ||||
|         if action == uninstall: | ||||
|             res = QMessageBox.question(self, | ||||
|                 _tr('Are you sure ?'), | ||||
|                 _tr('Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?', selected.get('Name'), selected.game_dir) | ||||
|             ) | ||||
|             if res != QMessageBox.StandardButton.Yes: | ||||
|                 return | ||||
|             remove_shortcut() | ||||
|             if selected.game_dir.startswith(g.games_dir): | ||||
|                 shutil.rmtree(selected.game_dir, True) | ||||
|             self.reload() | ||||
|  | ||||
|  | ||||
| def human_size(num): | ||||
|     if not num: | ||||
|         return "-" | ||||
|     for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]: | ||||
|         if abs(num) < 1024.0: | ||||
|             return f"{num:.2f} {unit}B" | ||||
|         num /= 1024.0 | ||||
|     return f"{num:.2f} YiB" | ||||
|  | ||||
| class GameItem(QListWidgetItem): | ||||
|     def __init__(self, parent, desktop_file): | ||||
|         self.desktop_file = desktop_file | ||||
|         self.config = RawConfigParser() | ||||
|         self.config.read(desktop_file) | ||||
|         text = self.get('Name', Path(desktop_file).stem) | ||||
|         if not self.get('Exec') or text == 'PortProton': | ||||
|             raise ValueError('Validation fail') | ||||
|         exe_file = shlex.split(self.get('Exec'))[-1] | ||||
|         if exe_file.startswith(g.games_dir): | ||||
|             self.game_dir = g.games_dir + '/' + exe_file[len(g.games_dir)+1:].split('/')[0] | ||||
|         else: | ||||
|             self.game_dir = str(Path(exe_file).parent) | ||||
|         if self.game_dir == '.': | ||||
|             raise ValueError('Can not determine game dir') | ||||
|         self.pp_gui_disabled = False | ||||
|         self.wine_use = None | ||||
|         ppdb = exe_file + '.ppdb' | ||||
|         if Path(ppdb).exists(): | ||||
|             ppdb_conf = RawConfigParser(strict=False) | ||||
|             with open(ppdb) as f: | ||||
|                 ppdb_conf.read_string('[dummy]\n' + f.read()) | ||||
|             pp_gui_disabled = ppdb_conf.get('dummy', 'export PW_GUI_DISABLED_CS', fallback='').strip('"') | ||||
|             try: self.pp_gui_disabled = bool(int(pp_gui_disabled)) | ||||
|             except: self.pp_gui_disabled = bool(pp_gui_disabled) | ||||
|             self.wine_use = ppdb_conf.get('dummy', 'export PW_WINE_USE', fallback='').strip('"') | ||||
|  | ||||
|         super().__init__(parent) | ||||
|  | ||||
|         self.setToolTip(text) | ||||
|         self.setText(text) | ||||
|         icon_path = self.get('Icon') if Path(self.get('Icon')).exists() else g.pp_icon | ||||
|         qicon = QIcon(icon_path) | ||||
|         self.setIcon(qicon) | ||||
|         self.setTextAlignment(Qt.AlignmentFlag.AlignHCenter | Qt.AlignmentFlag.AlignTop) | ||||
|         self.setSizeHint(QSize(100, 105)) | ||||
|  | ||||
|         self._set_dir_size(None) | ||||
|         dir_size_cache = self.game_dir + '/.size' | ||||
|         if Path(dir_size_cache).exists(): | ||||
|             self._set_dir_size(int(Path(dir_size_cache).read_text())) | ||||
|         else: | ||||
|             def calc_dir_size(): | ||||
|                 if not Path(self.game_dir).exists(): | ||||
|                     return | ||||
|                 dir_size = sum(p.stat(follow_symlinks=False).st_size for p in Path(self.game_dir).rglob('*')) | ||||
|                 self._set_dir_size(dir_size) | ||||
|                 Path(dir_size_cache).write_text(str(dir_size)) | ||||
|             thread = QThread(parent) | ||||
|             thread.run = calc_dir_size | ||||
|             thread.start() | ||||
|  | ||||
|     def get(self, name, fallback=None): | ||||
|         return self.config.get('Desktop Entry', name, fallback=fallback) | ||||
|  | ||||
|     def _set_dir_size(self, size): | ||||
|         self.dir_size = size | ||||
|         self.dir_size_human = human_size(size) | ||||
|  | ||||
| import signal | ||||
| signal.signal(signal.SIGINT, signal.SIG_DFL) | ||||
|  | ||||
| lang = { | ||||
|     'RUS': { | ||||
|         'Install new game': 'Установить игру', | ||||
|         'Add game entry': 'Добавить в список', | ||||
|         'Reload list': 'Обновить список', | ||||
|         'Drop install prefix': 'Удалить установочный префикс', | ||||
|         'Are you sure ?': 'Вы уверены ?', | ||||
|         'Do you really want to remove<br/><b>{0}</b> ?': 'Вы действительно хотите удалить<br/><b>{0}</b> ?', | ||||
|         'Run another setup': 'Запустить установку', | ||||
|         'Select game exe file': 'Выберите exe файл игры', | ||||
|         'Choose setup file': 'Выберите установочный файл', | ||||
|         'Please enter game entry name': 'Введите название игры', | ||||
|         'New game entry': 'Название игры', | ||||
|         'Shortcut already exists': 'Ярлык уже существует', | ||||
|         'Shortcut <b>{0}</b> already exists. Overwrite ?': 'Ярлык <b>{0}</b> уже существует. Перезаписать ?', | ||||
|         'Dir already exists': 'Директория уже существует', | ||||
|         'Dir <b>{0}</b> already exists. Overwrite ?': 'Директория <b>{0}</b> уже существует. Перезаписать ?', | ||||
|         'Add to desktop': 'Добавить на рабочий стол', | ||||
|         'Restore PortProton GUI': 'Восстановить PortProton GUI', | ||||
|         'Set default wine': 'Выбрать дефолтный wine', | ||||
|         'Remove game entry': 'Убрать из списка', | ||||
|         'Uninstall game': 'Удалить игру', | ||||
|         'Do you really want to uninstall <b>{0}</b><br/>located in "<b>{1}</b>" ?': 'Вы действительно хотите удалить <b>{0}</b><br/>расположеную в "<b>{1}</b>" ?' | ||||
|     } | ||||
| } | ||||
| def _tr(text, *fmt): | ||||
|     res = lang.get(g.locale, {}).get(text, text) | ||||
|     if fmt: | ||||
|         res = res.format(*fmt) | ||||
|     return res | ||||
|  | ||||
| app = QApplication([]) | ||||
| app.setDesktopFileName('PortProton') | ||||
| win = MainWindow() | ||||
| win.show() | ||||
| app.exec() | ||||
							
								
								
									
										592
									
								
								data_from_portwine/scripts/credits
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,592 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: chal55rus, Castro-Fidel (linux-gaming.ru) | ||||
| ######################################################################## | ||||
| if [ "${update_loc}" = "RUS" ] | ||||
| then | ||||
|     KEY_CREDITS=$RANDOM | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ | ||||
| --image-path="$PW_GUI_ICON_PATH" --image="port_proton" \ | ||||
| --text-align=center --scroll --text="PortProton v. ${install_ver} | ||||
| scripts v. ${scripts_install_ver} | ||||
|  | ||||
| https://linux-gaming.ru | ||||
|  | ||||
| Авторские права © 2022 Castro-Fidel (linux-gaming.ru) | ||||
|  | ||||
| Эта программа поставляется без каких-либо гарантий. | ||||
| Подробнее см. в Лицензия." & | ||||
|  | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \ | ||||
| --text-align=center --scroll --text="Автор:   Casro-Fidel (Михаил Тергоев) | ||||
|  | ||||
| Помощники разработчика и тестировщики: | ||||
| Cefeiko | ||||
| Dezert1r | ||||
| Taz_mania | ||||
| Anton_Famillianov | ||||
| RidBowt | ||||
| chal55rus | ||||
| UserDiscord | ||||
| Survolog | ||||
| gavr | ||||
| RusNor | ||||
| aldiserg | ||||
| an9949an | ||||
| andrey4korop | ||||
| zorn | ||||
| " & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "          Лицензия Массачусетского технологического института (MIT License) | ||||
|  | ||||
|               Авторские права (©) 2022 Castro-Fidel (linux-gaming.ru) | ||||
|  | ||||
| Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного | ||||
| программного обеспечения и связанных с ним файлов документации (Программное | ||||
| обеспечение), для в Программном обеспечении без ограничений, включая, помимо прочего, | ||||
| права использовать, копировать, изменять, объединять, публиковать, распространять, | ||||
| сублицензировать и/или продавать копий Программного обеспечения, а также разрешить | ||||
| лицам, которым Программное обеспечение предоставляется для этого при соблюдении | ||||
| следующих условий: | ||||
|  | ||||
| Вышеприведенное уведомление об авторских правах и это уведомление о разрешении должны | ||||
| быть включены во все копии или существенные части Программного обеспечения. | ||||
|  | ||||
| ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ (КАК ЕСТЬ), БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ | ||||
| ПОДРАЗУМЕВАЕТСЯ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ, | ||||
| ПРИГОДНОСТЬ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЕ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ | ||||
| АВТОРЫ ИЛИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ | ||||
| ДРУГОЕ. ОТВЕТСТВЕННОСТЬ, БУДУЩАЯ ПО ДОГОВОРУ, ДЕЛИКТУ ИЛИ ИНЫМ ОБРАЗОМ, ВОЗНИКАЮЩАЯ ИЗ | ||||
| ВНЕ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ В | ||||
| ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ." & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ | ||||
| --text-info --fontname="Serif bold italic 12" --show-uri --scroll \ | ||||
| <<< '                                            Проект поддержали: | ||||
|                                     https://boosty.to/portwine-linux.ru | ||||
|  | ||||
|     1 1 | ||||
|     A B | ||||
|     AdamArclight666 | ||||
|     Akai | ||||
|     Aleks | ||||
|     Alexsei Cherniavskiy | ||||
|     Alex Sh | ||||
|     Allegra_g | ||||
|     AlxChkln | ||||
|     amikha1lov | ||||
|     Andrei K | ||||
|     anisan_sg | ||||
|     Another games | ||||
|     Apofis Smab | ||||
|     apolon | ||||
|     Aule Mahal | ||||
|     Azartiny Mor | ||||
|     BELIJJAaL | ||||
|     benya | ||||
|     Bunny Sword | ||||
|     CanBoo | ||||
|     chal55rus | ||||
|     Coin Hunt | ||||
|     Cruze | ||||
|     Dadenard | ||||
|     Dallasss | ||||
|     Daniil Go | ||||
|     Dencher12 | ||||
|     Denis | ||||
|     Dezert1r | ||||
|     Dima Manshin | ||||
|     DIO | ||||
|     d.kostroma | ||||
|     Dmitriy Tokarev | ||||
|     Drakorgaur | ||||
|     dunkanMcLoud | ||||
|     dupster mailbox | ||||
|     Eliot | ||||
|     El Mago | ||||
|     Ethan Winters | ||||
|     Evgen Buiko | ||||
|     EvilDevolver | ||||
|     fight fox | ||||
|     funti2f | ||||
|     fusiok | ||||
|     GaiverX | ||||
|     Gekko | ||||
|     Geomant17 | ||||
|     gg_harper | ||||
|     Happy Husky | ||||
|     haravara | ||||
|     Homyakin | ||||
|     Ivan Vlasov | ||||
|     ivboss | ||||
|     ksandr4370 | ||||
|     LeGi0neR | ||||
|     Lexa XLS | ||||
|     Linux Vumtut | ||||
|     Lonely Lonely | ||||
|     Maksami Cordyceps | ||||
|     Maktub | ||||
|     Melord | ||||
|     MICROFARAT | ||||
|     MLogaut | ||||
|     Monti Roquefort | ||||
|     MrBatonio | ||||
|     Nesterik | ||||
|     Nikola P. | ||||
|     Nuclearsun | ||||
|     Nurik | ||||
|     Oleg55Rus | ||||
|     onix | ||||
|     Optimus | ||||
|     Ottakvot | ||||
|     paulscathedral | ||||
|     penguin4ek | ||||
|     Pependos | ||||
|     PLAFON | ||||
|     PlagueEvgeny | ||||
|     Rojok56 | ||||
|     Ruslan Vlasov | ||||
|     Rustam | ||||
|     Saireg | ||||
|     sanelasan | ||||
|     sashman | ||||
|     Seeropoonya | ||||
|     sendependa_dio | ||||
|     shecspir | ||||
|     Soma | ||||
|     sship | ||||
|     StGdG | ||||
|     Subscript | ||||
|     Sudo Connect | ||||
|     sugoyako | ||||
|     Taras Zagibalov | ||||
|     The End | ||||
|     tima | ||||
|     Tykva | ||||
|     ua3dko | ||||
|     V1ktr | ||||
|     VanBugel | ||||
|     VAtiB | ||||
|     Vikthor Prieto | ||||
|     vlad petrov | ||||
|     Vosarat | ||||
|     VUMtut | ||||
|     Windchester | ||||
|     wrager | ||||
|     Xpamych | ||||
|     Yurec | ||||
|     Yuri Emelyanov | ||||
|     Zillah Giovanni | ||||
|     Zloy Ivan | ||||
|     Zorit | ||||
|     zorn | ||||
|     Александр | ||||
|     Александр Абдулов | ||||
|     Александр Кладов | ||||
|     Александр Лобанов | ||||
|     Алексей Ultralin | ||||
|     Алексей Войтенко | ||||
|     Алексей Галаш | ||||
|     Алексей Зубрийчук | ||||
|     Алексей Ивушкин | ||||
|     Алексей Кравчук | ||||
|     Алексей Чугунов | ||||
|     Андрей Гусаков | ||||
|     Андрей Карпенцов | ||||
|     Антоний Дамикан | ||||
|     Антон Рудковский | ||||
|     Антон Фамилианов | ||||
|     Артём К. | ||||
|     Валерий Толмачёв | ||||
|     Виктор Шварц | ||||
|     Виктор Щетинин | ||||
|     Виндэта(рог) | ||||
|     Виталий Нуров | ||||
|     Влад Блинов | ||||
|     Владимир Бильдюкевич | ||||
|     Владимир Дарвин | ||||
|     Влад Кладиев | ||||
|     Вячеслав Шитюков | ||||
|     Вячеслав Шустров | ||||
|     Георгий Гурский | ||||
|     Данил Павлов | ||||
|     Дед Мазай | ||||
|     Денис Мальцев | ||||
|     Денис Матій | ||||
|     Денис Олефиренко | ||||
|     Дмитрий Круглов | ||||
|     Дмитрий Мазанка | ||||
|     Дмитрий Сидоров | ||||
|     Евгений Бебин | ||||
|     Евгений Долгополов | ||||
|     Евгений Хирвонен | ||||
|     Евгений Храмов | ||||
|     Егор Кречун | ||||
|     Женя Рябушкин | ||||
|     Иван Белекеев | ||||
|     Коляныч Королёв | ||||
|     Константин __ | ||||
|     Константин Абадонна | ||||
|     Леонид | ||||
|     Максим Хмара-Миронов | ||||
|     Маленькая сосна | ||||
|     Марат | ||||
|     Марат Рахимов | ||||
|     Неизвестый Дмитрий | ||||
|     Никита Булавин | ||||
|     Николай Гинтов | ||||
|     Павел Иванов | ||||
|     Павел Пашенцев | ||||
|     Равич Ревес | ||||
|     Рамиль | ||||
|     Рома Б. | ||||
|     Роман Игнатьев | ||||
|     Роман Паженский | ||||
|     Ростислав Кузнецов | ||||
|     Росляков Виталий | ||||
|     Саша | ||||
|     Семён Клишин | ||||
|     Семён Ярополов | ||||
|     Сергей Казёнкин | ||||
|     Сергей Круглов | ||||
|     Серёга Сапрыкин | ||||
|     Стас Толкачёв | ||||
|     Тима Суеубаев | ||||
|     Тимофей Ковалев | ||||
|     Тимур Сафонов | ||||
|     Удалить Аккаунт | ||||
|     Хоттабыч | ||||
|  | ||||
|  | ||||
|                                     Список будет дополняться...' & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Хотите присоединится и помочь в развитии проекта:" \ | ||||
| --title=JOIN --window-icon=group  --image=system-config-users --uri-color=red --show-uri \ | ||||
| --text-info --scroll <<< \ | ||||
| "Website:  https://linux-gaming.ru/ | ||||
| Discord:  http://discord.gg/yJSEFjF | ||||
| VK:       https://vk.com/linuxgamingru | ||||
| ------------------------------------------- | ||||
| Стать платным подписчиком: | ||||
| boosty: https://boosty.to/portwine-linux.ru | ||||
| patreon: https://www.patreon.com/portproton | ||||
| Кошельки WebMoney:   WMZ-Z135951244401   WME-E325631629973 | ||||
| Yandex кошелек:   410012267513818 | ||||
| ------------------------------------------- | ||||
| Задонатить на стрим: | ||||
| https://www.donationalerts.com/r/portwine_linux" & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \ | ||||
| --fontname="Serif bold italic 10" --text-info <<< "                   Сторонние библиотеки, которые используются в PortProton | ||||
|  | ||||
|     PortProton собран на основе бесплатных библиотек программного обеспечения: | ||||
|  | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
| Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds | ||||
| YAD: https://github.com/v1cont/yad | ||||
| ZENITY: https://github.com/GNOME/zenity" & | ||||
|          | ||||
| "${pw_yad_new}" --title "О НАС" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
| --center --notebook --no-buttons  --tab-pos=bottom \ | ||||
| --tab="О PORTPROTON" --tab="АВТОРЫ" --tab="ЛИЦЕНЗИЯ" --tab="СПОНСОРЫ" --tab="ПРИСОЕДИНИТЬСЯ" \ | ||||
| --tab="БИБЛИОТЕКИ" | ||||
|     echo "Exit from credits" | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]}  | ||||
|  | ||||
| else | ||||
|  | ||||
|     KEY_CREDITS=$RANDOM | ||||
|  | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=1 --show-uri \ | ||||
| --image-path="$PW_GUI_ICON_PATH" --image="port_proton" \ | ||||
| --text-align=center --scroll --text="PortProton v. ${install_ver} | ||||
| scripts v. ${scripts_install_ver} | ||||
|  | ||||
|  | ||||
| https://linux-gaming.ru | ||||
|  | ||||
| Copyright © 2022 Castro-Fidel (linux-gaming.ru) | ||||
|  | ||||
| This program comes with absolutely no warranty. | ||||
| See the License for details." & | ||||
|  | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=2 \ | ||||
| --text-align=center --scroll --text="Author:   Casro-Fidel (Mikhail Tergoev) | ||||
|  | ||||
| Developer assistants and testers: | ||||
| Cefeiko | ||||
| Dezert1r | ||||
| Taz_mania | ||||
| Anton_Famillianov | ||||
| RidBowt | ||||
| chal55rus | ||||
| UserDiscord | ||||
| survolog | ||||
| gavr | ||||
| RusNor | ||||
| aldiserg | ||||
| an9949an | ||||
| andrey4korop | ||||
| zorn | ||||
| " & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< "MIT License | ||||
|  | ||||
| Copyright (©) 2022 Castro-Fidel (linux-gaming.ru) | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED (AS IS), WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE." & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=4 \ | ||||
| --text-info --fontname="Serif bold italic 12" --show-uri --scroll \ | ||||
| <<< '                                    The project was supported: | ||||
|                               https://boosty.to/portwine-linux.ru: | ||||
|  | ||||
|     1 1 | ||||
|     A B | ||||
|     AdamArclight666 | ||||
|     Akai | ||||
|     Aleks | ||||
|     Alex Sh | ||||
|     Alexsei Cherniavskiy | ||||
|     Allegra_g | ||||
|     AlxChkln | ||||
|     Andrei K | ||||
|     Another games | ||||
|     Apofis Smab | ||||
|     Aule Mahal | ||||
|     Azartiny Mor | ||||
|     BELIJJAaL | ||||
|     CanBoo | ||||
|     Coin Hunt | ||||
|     Cruze | ||||
|     DIO | ||||
|     Dadenard | ||||
|     Dallasss | ||||
|     Daniil Go | ||||
|     Dencher12 | ||||
|     Denis | ||||
|     Dezert1r | ||||
|     Dima Manshin | ||||
|     Dmitriy Tokarev | ||||
|     Drakorgaur | ||||
|     El Mago | ||||
|     Eliot | ||||
|     Ethan Winters | ||||
|     Evgen Buiko | ||||
|     EvilDevolver | ||||
|     GaiverX | ||||
|     Gekko | ||||
|     Geomant17 | ||||
|     Happy Husky | ||||
|     Homyakin | ||||
|     Ivan Vlasov | ||||
|     LeGi0neR | ||||
|     Lexa XLS | ||||
|     Linux Vumtut | ||||
|     Lonely Lonely | ||||
|     MICROFARAT | ||||
|     MLogaut | ||||
|     Maksami Cordyceps | ||||
|     Maktub | ||||
|     Melord | ||||
|     Monti Roquefort | ||||
|     MrBatonio | ||||
|     Nesterik | ||||
|     Nikola P. | ||||
|     Nuclearsun | ||||
|     Nurik | ||||
|     Oleg55Rus | ||||
|     Optimus | ||||
|     Ottakvot | ||||
|     PLAFON | ||||
|     Pependos | ||||
|     PlagueEvgeny | ||||
|     Rojok56 | ||||
|     Ruslan Vlasov | ||||
|     Rustam | ||||
|     Saireg | ||||
|     Seeropoonya | ||||
|     Soma | ||||
|     StGdG | ||||
|     Subscript | ||||
|     Sudo Connect | ||||
|     Taras Zagibalov | ||||
|     The End | ||||
|     Tykva | ||||
|     V1ktr | ||||
|     VAtiB | ||||
|     VUMtut | ||||
|     VanBugel | ||||
|     Vikthor Prieto | ||||
|     Vosarat | ||||
|     Windchester | ||||
|     Xpamych | ||||
|     Yurec | ||||
|     Yuri Emelyanov | ||||
|     Zillah Giovanni | ||||
|     Zloy Ivan | ||||
|     Zorit | ||||
|     amikha1lov | ||||
|     anisan_sg | ||||
|     apolon | ||||
|     benya | ||||
|     chal55rus | ||||
|     d.kostroma | ||||
|     dunkanMcLoud | ||||
|     dupster mailbox | ||||
|     fight fox | ||||
|     funti2f | ||||
|     fusiok | ||||
|     gg_harper | ||||
|     haravara | ||||
|     ivboss | ||||
|     ksandr4370 | ||||
|     onix | ||||
|     paulscathedral | ||||
|     penguin4ek | ||||
|     sanelasan | ||||
|     sashman | ||||
|     sendependa_dio | ||||
|     shecspir | ||||
|     sship | ||||
|     sugoyako | ||||
|     tima | ||||
|     ua3dko | ||||
|     vlad petrov | ||||
|     wrager | ||||
|     xpamych | ||||
|     zorn | ||||
|     Alexander | ||||
|     Alexander Abdulov | ||||
|     Alexander Kladov | ||||
|     Alexander Lobanov | ||||
|     Alexey Ultralin | ||||
|     Alexey Voitenko | ||||
|     Alexey Galash | ||||
|     Alexey Zubriychuk | ||||
|     Alexey Ivushkin | ||||
|     Alexey Kravchuk | ||||
|     Alexey Chugunov | ||||
|     Andrey Gusakov | ||||
|     Andrey Karpentsov | ||||
|     Anton Rudkovsky | ||||
|     Anton Surnames | ||||
|     Antony Damikan | ||||
|     Artyom K. | ||||
|     Valery Tolmachev | ||||
|     Victor Schwartz | ||||
|     Victor Shchetinin | ||||
|     Vindeta (horn) | ||||
|     Vitaly Nurov | ||||
|     Vlad Blinov | ||||
|     Vlad Kladiev | ||||
|     Vladimir Bildyukevich | ||||
|     Vladimir Darwin | ||||
|     Vyacheslav Shityukov | ||||
|     Vyacheslav Shustrov | ||||
|     George Gursky | ||||
|     Danil Pavlov | ||||
|     Grandfather Mazai | ||||
|     Denis Maltsev | ||||
|     Denis Matiy | ||||
|     Denis Olefirenko | ||||
|     Dmitry Kruglov | ||||
|     Dmitry Mazanka | ||||
|     Dmitry Sidorov | ||||
|     Evgeny Bebin | ||||
|     Evgeny Dolgopolov | ||||
|     Evgeny Hirvonen | ||||
|     Evgeny Khramov | ||||
|     Egor Krechun | ||||
|     Zhenya Ryabushkin | ||||
|     Ivan Belekeyev | ||||
|     Kolyanich Korolev | ||||
|     Konstantin __ | ||||
|     Konstantin Abadonna | ||||
|     Leonid | ||||
|     Maxim Khmara-Mironov | ||||
|     Little Pine | ||||
|     Marat | ||||
|     Marat Rakhimov | ||||
|     Unknown Dmitry | ||||
|     Nikita Bulavin | ||||
|     Pavel Ivanov | ||||
|     Pavel Pashentsev | ||||
|     Ravich Reves | ||||
|     Ramil | ||||
|     Roma B. | ||||
|     Roman Ignatiev | ||||
|     Roman Pazhensky | ||||
|     Sasha | ||||
|     Semyon Klishin | ||||
|     Semyon Yaropolov | ||||
|     Sergey Kazenkin | ||||
|     Sergey Kruglov | ||||
|     Serega Saprykin | ||||
|     Stas Tolkachev | ||||
|     Tima Sueubaev | ||||
|     Timofey Kovalev | ||||
|     Timur Safonov | ||||
|     Delete Account | ||||
|     Hottabych | ||||
|     Nikolai Gintov | ||||
|  | ||||
|  | ||||
|                                       The list will be updated...' & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=5 --text="Do you want to join and help in the development of the project:" \ | ||||
| --title=JOIN --window-icon=group  --image=system-config-users --uri-color=red --show-uri \ | ||||
| --text-info --scroll <<< \ | ||||
| "Website:  http://linux-gaming.ru | ||||
| Discord:  http://discord.gg/yJSEFjF | ||||
| VK:       https://vk.com/portwinelinux | ||||
| ------------------------------------------- | ||||
| Become a paid subscriber: | ||||
| boosty:  https://boosty.to/portwine-linux.ru | ||||
| patreon: https://www.patreon.com/portproton | ||||
| WebMoney wallets:   WMZ-Z135951244401   WME-E325631629973 | ||||
| Yandex wallet:   410012267513818 | ||||
| ------------------------------------------- | ||||
| Donat on stream: | ||||
| https://www.donationalerts.com/r/portwine_linux" & | ||||
|  | ||||
| "${pw_yad_new}" --plug="${KEY_CREDITS}" --tabnum=6 --show-uri --title="THIRD PARTY LIBRARIES" \ | ||||
| --fontname="Serif bold italic 10" --text-info <<< "                               Third-party libraries that are used in PortProton | ||||
|  | ||||
|               PortProton is built on the basis of the following free software libraries: | ||||
|  | ||||
| WINE-PROTON: https://github.com/ValveSoftware/Proton | ||||
| WINE-PROTON-GE: https://github.com/GloriousEggroll/proton-ge-custom/ | ||||
| Kron4ek/Wine: https://github.com/Kron4ek/Wine-Builds | ||||
| YAD: https://github.com/v1cont/yad | ||||
| ZENITY: https://github.com/GNOME/zenity" & | ||||
|  | ||||
|  | ||||
| "${pw_yad_new}" --title "ABOUT US" --key="${KEY_CREDITS}" --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ | ||||
| --center --notebook --no-buttons  --tab-pos=bottom \ | ||||
| --tab="ABOUT PORTPROTON" --tab="AUTORS" --tab="LICENSE" --tab="SPONSORS" --tab="JOIN" \ | ||||
| --tab="THIRD PARTY LIBRARIES" | ||||
|  | ||||
|     echo "Exit from credits" | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]}  | ||||
| fi | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: Castro-Fidel (PortWINE-Linux.ru) | ||||
| # Author: Castro-Fidel (linux-gaming.ru) | ||||
| ######################################################################## | ||||
| pw_ping_test () { | ||||
|     ping -w3 -c1 github.com &> /dev/null | ||||
| @@ -16,7 +16,6 @@ print_info () { | ||||
| } | ||||
| export -f print_info | ||||
|  | ||||
|  | ||||
| print_var () { | ||||
|     for vp in $@ ; do echo "${vp}=${!vp}" ; done | ||||
| } | ||||
| @@ -63,7 +62,7 @@ try_remove_dir () { | ||||
| export -f try_remove_dir | ||||
|  | ||||
| try_force_link_file () { | ||||
|     if [ ! -f "$1" ] ; then	print_info "file $1 not found for link" | ||||
|     if [ ! -f "$1" ] ; then : | ||||
|     elif [ -z "$2" ] ; then	print_error "no way to link file $1" | ||||
|     else | ||||
|         ln -sf "$1" "$2" | ||||
| @@ -104,19 +103,28 @@ check_process () { | ||||
| export -f check_process | ||||
|  | ||||
| try_download () { | ||||
|     PW_DOWNLOAD_FILE_NAME="$(basename $1)" | ||||
|     set -o pipefail | ||||
|     wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \ | ||||
|     --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" 2>&1 | \ | ||||
|     wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \ | ||||
|     --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "${1}" 2>&1 | \ | ||||
|     tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \ | ||||
|     zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90 | ||||
|     zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90 | ||||
|     if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|         print_error "failed to download $1. Skipping." | ||||
|         print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub." | ||||
|         print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP" | ||||
|         try_remove_file "$2" | ||||
|         return 1  | ||||
|     else | ||||
|         return 0 | ||||
|         wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 2 \ | ||||
|         --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" --ftp-user=anonymous "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" 2>&1 | \ | ||||
|         tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \ | ||||
|         zenity --progress --percentage=0 --title="Download ${PW_DOWNLOAD_FILE_NAME}" --text=Starting... --auto-close --width=500 --height=90 | ||||
|         if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|             print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP." | ||||
|             try_remove_file "$2" | ||||
|             return 1    | ||||
|         fi | ||||
|     fi | ||||
|     try_remove_file "${PORT_WINE_TMP_PATH}/download_log" | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| try_download_to_path () { | ||||
| @@ -126,7 +134,7 @@ try_download_to_path () { | ||||
|     tr '\r' '\n' | sed -u 's/.* \([0-9]\+%\)\ \+\([0-9,.]\+.\) \(.*\)/\1\n#Downloading at \1\/, \2\/s, ETA \3/; s/^20[0-9][0-9].*/#Done./' | \ | ||||
|     zenity --progress --percentage=0 --title="Download $(basename $1)" --text=Starting... --auto-close --width=500 --height=90 | ||||
|     if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|         print_error "failed to download $1. Skipping." | ||||
|         print_error "Failed to download $1." | ||||
|         return 1  | ||||
|     else  | ||||
|         return 0 | ||||
| @@ -137,7 +145,7 @@ try_download_silent () { | ||||
|     wget -O "$2" --read-timeout 300 --retry-connrefused --timeout 15 --tries 3 \ | ||||
|     --user-agent="Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" "$1" | ||||
|     if [ "${PIPESTATUS[0]}" != 0 ] ; then | ||||
|         print_error "failed to download $1. Skipping." | ||||
|         print_error "Failed to download $1. Skipping." | ||||
|         try_remove_file "$2" | ||||
|         return 1  | ||||
|     else  | ||||
| @@ -168,6 +176,34 @@ var_vkd3d_config_update () { | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| var_radv_perftest_config_update () { | ||||
|     if [ ! -z "${RADV_PERFTEST}" ] | ||||
|     then export RADV_PERFTEST="${1};${RADV_PERFTEST}" | ||||
|     else export RADV_PERFTEST="${1}" | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| var_vk_istance_layers_config_update () { | ||||
|     if [ ! -z "${PW_VK_INSTANCE_LAYERS}" ] | ||||
|     then export PW_VK_INSTANCE_LAYERS="${1}:${PW_VK_INSTANCE_LAYERS}" | ||||
|     else export PW_VK_INSTANCE_LAYERS="${1}" | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| unpack_tar_zst () { | ||||
|     set -o pipefail | ||||
|     unset PW_ZSTD_PORT | ||||
|     if  [[ `which zstd` ]] &>/dev/null ; then | ||||
|         tar -I zstd -xvf "$1" -C "$2" | sszen | ||||
|         [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 | ||||
|     else | ||||
|         env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib" tar -I "${PW_WINELIB}/portable/bin/zstd" -xvf "$1" -C "$2" | sszen | ||||
|         [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 | ||||
|     fi | ||||
| } | ||||
|  | ||||
| unpack_tar_xz () { | ||||
|     set -o pipefail | ||||
|     tar -Jxvf "$1" -C "$2" | sszen | ||||
| @@ -186,45 +222,6 @@ unpack_tar () { | ||||
|     [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 | ||||
| } | ||||
|  | ||||
| pw_mangohud_check () { | ||||
|     export RUN_MANGOHUD_IN_SLR="" | ||||
|     if [[ "${PW_MANGOHUD}" == "1" ]] ; then | ||||
|         if [[ "${PW_VULKAN_USE}" = "0" ]] ; then  | ||||
|             export RUN_MANGOHUD_IN_SLR="mangohud --dlsym" | ||||
|         else  | ||||
|             export RUN_MANGOHUD_IN_SLR="mangohud" | ||||
|         fi | ||||
|     else | ||||
|         export DISABLE_MANGOHUD=1 | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
| export -f pw_mangohud_check | ||||
|  | ||||
| pw_vkbasalt_check () { | ||||
|     if [[ ! -z "${ENABLE_VKBASALT}" && "${ENABLE_VKBASALT}" == 1 ]] ; then | ||||
|         if [ -z "${PW_VKBASALT_EFFECTS}" ] ; then | ||||
|             export PW_VKBASALT_EFFECTS="cas:FilmGrain2"  | ||||
|         fi | ||||
|         sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         if [ -z "${PW_VKBASALT_FFX_CAS}" ] ; then | ||||
|             export PW_VKBASALT_FFX_CAS="0.7"  | ||||
|         fi | ||||
|         sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx" | ||||
|         sed -i s/'> = 0.65;'/'> = 0.4;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Curves.fx" | ||||
|         sed -i s/'> = 0.8;'/'> = 0.9;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/Bloom.fx" | ||||
|         if [ ! -z "${VK_INSTANCE_LAYERS}" ] | ||||
|         then export VK_INSTANCE_LAYERS="VK_LAYER_VKBASALT_post_processing:${VK_INSTANCE_LAYERS}" | ||||
|         else export VK_INSTANCE_LAYERS="VK_LAYER_VKBASALT_post_processing" | ||||
|         fi | ||||
|     else | ||||
|         export DISABLE_VKBASALT=1 | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_clear_pfx () { | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/system.reg" | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg" | ||||
| @@ -257,12 +254,34 @@ pw_clear_pfx () { | ||||
|     try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Common Files" | ||||
|     try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows Media Player" | ||||
|     try_remove_dir "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/Program Files (x86)/Windows NT" | ||||
|     try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache" | ||||
|     rm -f "${PORT_WINE_TMP_PATH}"/*.bin | ||||
|     rm -f "${PORT_WINE_TMP_PATH}"/*.foz | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_reinstall_pp () { | ||||
|     if [[ "${PW_REINSTALL_FROM_TERMINAL}" == 1 ]] ; then | ||||
|         read -p "Do you want to reinstall PortProton? (Y,y - Yes):   " -n 1 -r | ||||
|         if [[ ! $REPLY =~ ^[Yy]$ ]] | ||||
|         then | ||||
|             echo | ||||
|             exit 1 | ||||
|         fi | ||||
|     elif ! gui_question "${port_reinstall}"  | ||||
|     then exit 1 | ||||
|     fi | ||||
|     pw_clear_pfx | ||||
|     try_remove_dir "${PORT_WINE_PATH}/data/dist" | ||||
|     try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN" | ||||
|     try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier" | ||||
|     try_remove_file "${PORT_WINE_PATH}/data/user.conf" | ||||
|     echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver" | ||||
|     echo | ||||
|     echo "Restarting PP for reinstall files..." | ||||
|     /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|     exit 0 | ||||
| } | ||||
|  | ||||
| check_user_conf () { | ||||
|     if [ ! -f "${USER_CONF}" ]; then | ||||
|         echo "#!/usr/bin/env bash" > "${USER_CONF}" | ||||
| @@ -274,14 +293,14 @@ check_user_conf () { | ||||
|  | ||||
| init_wine_ver () { | ||||
|     if [[ -z `ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}"` ]] ; then | ||||
|         if [[ ! -z `echo "${PW_WINE_USE}" | grep "PROTON_STEAM"` ]] ; then | ||||
|             export PW_WINE_USE=PROTON_STEAM | ||||
|         if [[ ! -z `echo "${PW_WINE_USE}" | grep "PROTON_LG"` ]] ; then | ||||
|             export PW_WINE_USE=PROTON_LG | ||||
|         else | ||||
|             export PW_WINE_USE=PROTON_GE | ||||
|         fi | ||||
|     fi | ||||
|     if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$"` ]]  | ||||
|     then export PW_WINE_USE="${PW_PROTON_STEAM_VER}" | ||||
|     if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_LG$"` ]]  | ||||
|     then export PW_WINE_USE="${PW_PROTON_LG_VER}" | ||||
|     elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]] | ||||
|     then export PW_WINE_USE="${PW_PROTON_GE_VER}" | ||||
|     fi | ||||
| @@ -292,21 +311,19 @@ init_wine_ver () { | ||||
|     export WINE="${WINEDIR}/bin/wine" | ||||
|     export WINELOADER="${WINEDIR}/bin/wine" | ||||
|     export WINESERVER="${WINEDIR}/bin/wineserver" | ||||
|     if [[ -z "${PATH_TO_GAME}" ]] ; then | ||||
|         export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" | ||||
|     else | ||||
|         export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine:${PATH_TO_GAME}" | ||||
|  | ||||
|     export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine" | ||||
|     if [[ ! -z "${PATH_TO_GAME}" ]] ; then | ||||
|         export WINEDLLPATH+=":${PATH_TO_GAME}" | ||||
|     fi | ||||
|  | ||||
|     if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then | ||||
|         chmod -R 755 "${WINEDIR}" | ||||
|         for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do  | ||||
|             rm -fr "${WINEDIR}/$clear_dist_files" | ||||
|         done | ||||
|         mv -f "${WINEDIR}/files"/* "${WINEDIR}/" | ||||
|         rm -fr "${WINEDIR}/files" | ||||
|     elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then | ||||
|             chmod -R 755 "${WINEDIR}" | ||||
|         for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g"` ; do  | ||||
|             rm -fr "${WINEDIR}/$clear_dist_files" | ||||
|         done | ||||
| @@ -321,24 +338,25 @@ init_wine_ver () { | ||||
|     if [[ -d "${WINEDIR}" ]] ; then | ||||
|         [[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version" | ||||
|  | ||||
|         # if [[ -d "${WINEDIR}/lib32/" ]] ; then | ||||
|         #     mv -f "${WINEDIR}/lib" "${WINEDIR}/lib64" | ||||
|         #     mv -f "${WINEDIR}/lib32" "${WINEDIR}/lib" | ||||
|         # fi | ||||
|  | ||||
|         if [[ ! -d "${WINEDIR}/lib64/" && -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then | ||||
|             create_new_dir "${WINEDIR}/lib64/wine" | ||||
|             mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/" | ||||
|             mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/" | ||||
|         fi | ||||
|  | ||||
|         for copy_proton_dll in "dxvk" "vkd3d-proton" ; do | ||||
|             if [[ ! -d "${WINEDIR}/lib/wine/${copy_proton_dll}/" || ! -d "${WINEDIR}/lib64/wine/${copy_proton_dll}/" ]] ; then | ||||
|                 try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_GE_VER}/lib/wine/${copy_proton_dll}" "${WINEDIR}/lib/wine/" | ||||
|                 try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_GE_VER}/lib64/wine/${copy_proton_dll}" "${WINEDIR}/lib64/wine/" | ||||
|             fi | ||||
|         done | ||||
|         try_remove_file "${WINEDIR}/lib/libsteam_api.so" | ||||
|         try_remove_file "${WINEDIR}/lib64/libsteam_api.so" | ||||
|          | ||||
|         for mono_gecko_chk in "mono" "gecko" ; do | ||||
|             if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then | ||||
|                 echo "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK." | ||||
|             elif [[ -d "${WINEDIR}/share/wine/${mono_gecko_chk}" ]] ; then | ||||
|                 try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" | ||||
|                 try_copy_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" "${PORT_WINE_TMP_PATH}" | sszen | ||||
|                 try_remove_dir "${WINEDIR}/share/wine/${mono_gecko_chk}" | ||||
|                 try_force_link_dir "${PORT_WINE_TMP_PATH}/${mono_gecko_chk}" "${WINEDIR}"/share/wine/ | ||||
|                 echo "Copy ${WINEDIR}/share/wine/${mono_gecko_chk} to tmp and create symlink to ${WINEDIR}/share/wine/. OK." | ||||
| @@ -348,40 +366,31 @@ init_wine_ver () { | ||||
|                 echo "${WINEDIR}/share/wine/${mono_gecko_chk} is broken symlink. Repair... OK." | ||||
|             fi | ||||
|         done | ||||
|  | ||||
|         grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" &> /dev/null | ||||
|         if [[ "$?" != "0" ]] ; then | ||||
|             echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf" | ||||
|             echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf" | ||||
|             sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf" | ||||
|             sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf" | ||||
|         fi | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_init_runtime () { | ||||
|     if [[ ! -z "`cat /etc/*-release | grep -i opensuse`" ]] \ | ||||
|     || [[ ! -z "`cat /etc/*-release | grep -i centos`" ]] \ | ||||
|     || [[ ! -z "`cat /etc/*-release | grep -i rosa`" ]] \ | ||||
|     || [[ ! -z "`cat /etc/*-release | grep -i fedora`" ]] \ | ||||
|     || [[ ! -z "`cat /etc/*-release | grep -i gentoo`" ]] ; then | ||||
|         if check_symlink "${PW_WINELIB}/portable/lib/lib64" ; then | ||||
|             rm -fr "${PW_WINELIB}/portable/lib/lib64" | ||||
|         fi | ||||
|         if [[ ! -d "${PW_WINELIB}/portable/lib/lib64" ]] ; then | ||||
|             mv -f "${PW_WINELIB}/portable/lib/lib" "${PW_WINELIB}/portable/lib/lib64" | ||||
|         fi | ||||
|         if [[ ! -d "${PW_WINELIB}/portable/lib/lib" ]] ; then | ||||
|             mv -f "${PW_WINELIB}/portable/lib/lib32" "${PW_WINELIB}/portable/lib/lib" | ||||
|         fi | ||||
|  | ||||
|     if [[ -n "$(grep "ROSA Fresh" "/etc/os-release")" ]] ; then | ||||
|         export LOCPATH="/run/host/usr/share/locale/" | ||||
|     elif [[ -n "$(grep "altlinux" "/etc/os-release")" ]] ; then | ||||
|         export LIBGL_DRIVERS_PATH="/usr/lib/X11/modules/dri:/usr/lib64/X11/modules/dri" | ||||
|     fi | ||||
|  | ||||
|     PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"  | ||||
|     if [[ ! -z "${LD_LIBRARY_PATH}" ]] ; then | ||||
|         if [[ -z "`echo ${PW_LD_LIBRARY_PATH} | grep "${WINEDIR}/lib64:${WINEDIR}/lib"`" ]] ; then | ||||
|             export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:${LD_LIBRARY_PATH}" | ||||
|         fi | ||||
|     else | ||||
|         export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/\$LIB:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases" | ||||
|     fi  | ||||
|     export PW_LD_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib:${PW_WINELIB}/portable/lib/lib64:${PW_WINELIB}/portable/lib/lib32:${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:${PW_PV_OVERRIDES}/i386-linux-gnu/aliases" | ||||
|  | ||||
|     export PW_VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d" | ||||
|  | ||||
|     if [[ ! -z "${VK_LAYER_PATH}" ]] | ||||
|     then export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/:${VK_LAYER_PATH}" | ||||
|     else export VK_LAYER_PATH="${PW_WINELIB}/portable/share/vulkan/implicit_layer.d/" | ||||
|     fi | ||||
|     if [ ! -z ${PATH_TMP} ] | ||||
|     then export PATH="${PATH_TMP}" | ||||
|     else export PATH_TMP="${PATH}" | ||||
| @@ -390,9 +399,12 @@ pw_init_runtime () { | ||||
|     then export PATH="${WINEDIR}/bin:${PATH}:${PW_WINELIB}/portable/bin" | ||||
|     else export PATH="${WINEDIR}/bin:${PW_WINELIB}/portable/bin" | ||||
|     fi | ||||
|  | ||||
|     if [ "${PW_USE_GSTREAMER}" = 1 ] ; then  | ||||
|         if [ -d "${WINEDIR}/lib64/gstreamer-1.0" ] ; then | ||||
|             export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0" | ||||
|         elif [ -d "${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0" ] ; then | ||||
|             export GST_PLUGIN_SYSTEM_PATH_1_0="${PW_WINELIB}/portable/lib/lib64/gstreamer-1.0:${PW_WINELIB}/portable/lib/lib32/gstreamer-1.0" | ||||
|         fi | ||||
|         export WINE_GST_REGISTRY_DIR="${PORT_WINE_TMP_PATH}" | ||||
|         export MEDIACONV_AUDIO_DUMP_FILE="${PORT_WINE_TMP_PATH}"/audio.foz | ||||
| @@ -402,49 +414,90 @@ pw_init_runtime () { | ||||
|     else | ||||
|         var_winedlloverride_update "winegstreamer=" | ||||
|     fi | ||||
|     # export STAGING_SHARED_MEMORY=1 | ||||
|     # export PW_FORCE_LARGE_ADDRESS_AWARE=1 | ||||
|  | ||||
|     if [ "${PW_USE_RUNTIME}" = 0 ] ; then | ||||
|         export pw_runtime="" | ||||
|         if [ "${PW_MANGOHUD}" = 1 ] ; then | ||||
|             [ -z `which mangohud` ] && export PW_MANGOHUD=0 | ||||
|         fi | ||||
|         echo "RUNTIME is disabled" | ||||
|     if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]] ; then | ||||
|         export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ | ||||
|         --unshare-home \ | ||||
|         --home="${PW_SANDBOX_HOME_PATH}" \ | ||||
|         ${PW_ADD_TO_ARGS_IN_RUNTIME} --" | ||||
|     else | ||||
|         if [[ ! -z "${PW_SANDBOX_HOME_PATH}" && -d "${PW_SANDBOX_HOME_PATH}" ]]; then | ||||
|             export pw_runtime="${PW_WINELIB}/run \ | ||||
|             --unshare-home \ | ||||
|             --home="${PW_SANDBOX_HOME_PATH}" \ | ||||
|             ${PW_ADD_TO_ARGS_IN_RUNTIME} --" | ||||
|         else | ||||
|             export pw_runtime="${PW_WINELIB}/run \ | ||||
|             --share-home \ | ||||
|             ${PW_ADD_TO_ARGS_IN_RUNTIME} --" | ||||
|         fi | ||||
|         # export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/runtime" | ||||
|         export PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1 | ||||
|         export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=1 | ||||
|         export PRESSURE_VESSEL_GC_RUNTIMES=0 | ||||
|         export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel" | ||||
|         unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW | ||||
|         for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do | ||||
|             if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ] | ||||
|             then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}" | ||||
|             else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}" | ||||
|             fi | ||||
|         done | ||||
|         for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do | ||||
|             if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ] | ||||
|             then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}" | ||||
|             else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}" | ||||
|             fi | ||||
|         done | ||||
|         echo "RUNTIME is enabled" | ||||
|         export pw_runtime="${PW_WINELIB}/pressure-vessel/bin/pressure-vessel-unruntime \ | ||||
|         --share-home \ | ||||
|         ${PW_ADD_TO_ARGS_IN_RUNTIME} --" | ||||
|     fi | ||||
|  | ||||
|     export PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0 | ||||
|     # export PRESSURE_VESSEL_GRAPHICS_PROVIDER="/" | ||||
|  | ||||
|     unset PRESSURE_VESSEL_RUNTIME_ARCHIVE | ||||
|     export PRESSURE_VESSEL_COPY_RUNTIME=1 | ||||
|     export PRESSURE_VESSEL_GC_LEGACY_RUNTIMES=1 | ||||
|     export PRESSURE_VESSEL_RUNTIME=runtime | ||||
|     export PRESSURE_VESSEL_RUNTIME_BASE="${PW_WINELIB}" | ||||
|     export PRESSURE_VESSEL_VARIABLE_DIR="${PW_WINELIB}/var" | ||||
|     export PRESSURE_VESSEL_PREFIX="${PW_WINELIB}/pressure-vessel" | ||||
|  | ||||
|     unset PRESSURE_VESSEL_FILESYSTEMS_RO PRESSURE_VESSEL_FILESYSTEMS_RW | ||||
|     for PWRTMRO in ${PW_RT_MOUNT_RO[*]} ; do | ||||
|         if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RO}" ] | ||||
|         then export PRESSURE_VESSEL_FILESYSTEMS_RO="${PRESSURE_VESSEL_FILESYSTEMS_RO}:${PWRTMRO}" | ||||
|         else export PRESSURE_VESSEL_FILESYSTEMS_RO="${PWRTMRO}" | ||||
|         fi | ||||
|     done | ||||
|     for PWRTMRW in ${PW_RT_MOUNT_RW[*]} ; do | ||||
|         if [ ! -z "${PRESSURE_VESSEL_FILESYSTEMS_RW}" ] | ||||
|         then export PRESSURE_VESSEL_FILESYSTEMS_RW="${PRESSURE_VESSEL_FILESYSTEMS_RW}:${PWRTMRW}" | ||||
|         else export PRESSURE_VESSEL_FILESYSTEMS_RW="${PWRTMRW}" | ||||
|         fi | ||||
|     done | ||||
|     echo "RUNTIME is enabled" | ||||
| } | ||||
|  | ||||
| check_vk_icd_file () { | ||||
| pw_mangohud_check () { | ||||
|     if [[ "${PW_MANGOHUD}" == "1" ]] || [[ "${PW_MANGOHUD_x32}" = "1" ]]; then | ||||
|         export PW_MANGOHUD_SLR='MANGOHUD=1' | ||||
|         MANGOHUD_LIB_NAME="libMangoHud.so" | ||||
|         if [[ "${PW_VULKAN_USE}" = "0" ]] ; then  | ||||
| 	        MANGOHUD_LIB_NAME="libMangoHud_dlsym.so:${MANGOHUD_LIB_NAME}" | ||||
|         fi | ||||
|         if [[ ! -z "${PW_LD_PRELOAD}" ]] | ||||
|         then export PW_LD_PRELOAD="${PW_LD_PRELOAD}:${MANGOHUD_LIB_NAME}" | ||||
|         else export PW_LD_PRELOAD="${MANGOHUD_LIB_NAME}" | ||||
|         fi | ||||
|         var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay64" | ||||
|         if [[ "${PW_MANGOHUD_x32}" = "1" ]] ; then  | ||||
|             var_vk_istance_layers_config_update "VK_LAYER_MANGOHUD_overlay32" | ||||
|         fi | ||||
|         print_info "MANGOHUD is enabled" | ||||
|     else | ||||
|         export PW_MANGOHUD_SLR='DISABLE_MANGOHUD=1' | ||||
|         print_info "MANGOHUD is disabled" | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_vkbasalt_check () { | ||||
|     if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then | ||||
|         if [[ -z "${PW_VKBASALT_EFFECTS}" ]] ; then | ||||
|             export PW_VKBASALT_EFFECTS="Curves:cas"  | ||||
|         fi | ||||
|         sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         if [[ -z "${PW_VKBASALT_FFX_CAS}" ]] ; then | ||||
|             export PW_VKBASALT_FFX_CAS="0.7"  | ||||
|         fi | ||||
|         sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf" | ||||
|         # sed -i s/'> = 0.05;'/'> = 0.035;'/ "${PW_WINELIB}/pressure-vessel/reshade/shaders/FilmGrain2.fx" | ||||
|         var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32" | ||||
|         print_info "vkBasalt is enabled" | ||||
|     else | ||||
|         export DISABLE_VKBASALT=1 | ||||
|         print_info "vkBasalt is disabled" | ||||
|     fi | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| check_nvidia_vk_icd_file () { | ||||
|     if [[ -f "/usr/share/vulkan/icd.d/nvidia_icd.json" ]] ; then | ||||
|         export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json" | ||||
|     elif [[ -f "/etc/vulkan/icd.d/nvidia_icd.json" ]] ; then | ||||
| @@ -465,7 +518,12 @@ regdlloverrides () { | ||||
|     esac | ||||
|     grep 'HKCU,Software\\Wine\\AppDefaults\\'"${PW_DLL_EXE}"'\\DllOverrides,'\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\" "${WINEDIR}/share/wine/wine.inf" | ||||
|     if [[ "$?" != "0" ]] ; then | ||||
|         sed -i "/\[SteamClient.ntamd64\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf" | ||||
|         grep "ProtonOverrides" "${WINEDIR}/share/wine/wine.inf" | ||||
|         if [[ "$?" == "0" ]] ; then | ||||
|             sed -i "/\[ProtonOverrides\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf" | ||||
|         else | ||||
|             sed -i "/\[SteamClient.ntamd64\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf" | ||||
|         fi | ||||
|     fi | ||||
| } | ||||
|  | ||||
| @@ -499,24 +557,27 @@ kill_portwine () { | ||||
| export -f kill_portwine | ||||
|  | ||||
| pw_kill_autostart () { | ||||
|     if [ "$PW_USE_RUNTIME" != 1 ] | ||||
|     then print_info "PW_USE_RUNTIME=$PW_USE_RUNTIME" | ||||
|     else | ||||
|         sleep 5 | ||||
|         while true ; do | ||||
|             if  [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then | ||||
|                 echo -e "PID "$1" not found" | ||||
|                 sleep 5 | ||||
|             else | ||||
|                 sleep 5 | ||||
|                 kill_portwine  | ||||
|                 break | ||||
|             fi | ||||
|         done | ||||
|     if [[ -z "${2}" ]] | ||||
|     then SWAIT=5 | ||||
|     else SWAIT="${2}" | ||||
|     fi | ||||
|     sleep 5 | ||||
|      | ||||
|     while true ; do | ||||
|         if  [[ -z "`ps aux | grep -m 1 "$1" | grep -v grep | awk '{print $2}'`" ]] && [[ ! -z "`ps aux | grep wrap | grep -v grep | grep -i ${portname} | head -n 1`" ]] ; then | ||||
|             echo -e "PID "$1" not found" | ||||
|             sleep "${SWAIT}" | ||||
|         else | ||||
|             sleep "${SWAIT}" | ||||
|             kill_portwine  | ||||
|             break | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     if [[ ! -z "`ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp"`" ]] ; then | ||||
|         rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp | ||||
|     fi | ||||
|  | ||||
|     return 0 | ||||
| } | ||||
| export -f pw_kill_autostart | ||||
| @@ -535,10 +596,11 @@ stop_portwine () { | ||||
|     try_remove_dir "${PW_WINELIB}/var" | ||||
|     find "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/" -maxdepth 1 -type f -name "*.tmp" -delete | ||||
|     if [ ! -z "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" ] ; then | ||||
|         kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" | ||||
|         kill -s SIGUSR1 "`pgrep -a yad_new | grep "\-\-notification" | awk '{print $1}'`" 2>/dev/null | ||||
|     fi | ||||
|     add_in_stop_portwine > /dev/null 2>&1 | ||||
|     add_in_stop_portwine &>/dev/null | ||||
|     kill -n 9 `pgrep -a start.sh | grep -i '/PortProton/' | awk '{print $1}'` > /dev/null 2>&1 | ||||
|     killall yad_new &>/dev/null | ||||
|     exit 0 | ||||
| } | ||||
| export -f stop_portwine | ||||
| @@ -553,7 +615,7 @@ pw_download_libs () { | ||||
|     || ! -e "${PW_WINELIB}/runtime/files/bin/vkcube" || -e "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ]] ; | ||||
|     then | ||||
|         print_info "Download and install libraries..." | ||||
|         if try_download "https://github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then | ||||
|         if try_download "github.com/Castro-Fidel/PortWINE/releases/download/libs${PW_LIBS_VER}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then | ||||
|                 try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" | ||||
|             else | ||||
| @@ -583,14 +645,14 @@ pw_check_and_download_wine () { | ||||
|     if [[ "${PW_WINE_USE}" == "GET-OTHER-WINE" ]] ; then | ||||
|         gui_proton_downloader | ||||
|     fi | ||||
|     if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_STEAM$"` ]]  | ||||
|     then export PW_WINE_USE="${PW_PROTON_STEAM_VER}" | ||||
|     if [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_LG$"` ]]  | ||||
|     then export PW_WINE_USE="${PW_PROTON_LG_VER}" | ||||
|     elif [[ ! -z `echo "${PW_WINE_USE}" | grep "^PROTON_GE$"` ]] | ||||
|     then export PW_WINE_USE="${PW_PROTON_GE_VER}" | ||||
|     fi | ||||
|     if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then | ||||
|         print_info "Download and install ${PW_WINE_USE}..." | ||||
|         if try_download "https://github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then | ||||
|         if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then | ||||
|                 echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}/version" | ||||
|                 try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
| @@ -609,17 +671,76 @@ pw_check_and_download_wine () { | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_check_and_download_dxvk_and_vkd3d () { | ||||
|     #Download stable and git version DXVK | ||||
|     for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" ; do | ||||
|         if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then | ||||
|             print_info "Download and install DXVK v.${DXVK_VAR_VER}" | ||||
|             if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" ; then | ||||
|                 if unpack_tar_xz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" | ||||
|                 else | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.xz" | ||||
|                     try_remove_dir dxvk-${DXVK_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d | ||||
|                 fi | ||||
|             elif try_download "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then | ||||
|                 if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" | ||||
|                 else | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" | ||||
|                     try_remove_dir dxvk-${DXVK_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d | ||||
|                 fi | ||||
|             else | ||||
|                 zenity_error_download && pw_check_and_download_dxvk_and_vkd3d | ||||
|             fi | ||||
|         fi | ||||
|     done | ||||
|  | ||||
|     #Download stable and git version VKD3D | ||||
|     for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do | ||||
|         if [ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ] ; then | ||||
|             print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}" | ||||
|             if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" ; then | ||||
|                 if unpack_tar_xz "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" "${PW_VULKAN_DIR}" ; then | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" | ||||
|                 else | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" | ||||
|                     try_remove_dir vkd3d-proton-${VKD3D_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d | ||||
|                 fi | ||||
|             elif try_download "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then | ||||
|                 if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" | ||||
|                 else | ||||
|                     try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" | ||||
|                     try_remove_dir vkd3d-proton-${VKD3D_VAR_VER} | ||||
|  | ||||
|                     zenity_error_download && pw_check_and_download_dxvk_and_vkd3d | ||||
|                 fi | ||||
|             else | ||||
|                 zenity_error_download && pw_check_and_download_dxvk_and_vkd3d | ||||
|             fi | ||||
|         fi | ||||
|     done | ||||
|     return 0 | ||||
| } | ||||
|  | ||||
| pw_check_and_download_plugins () { | ||||
|     if [ ! -z "`ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}`" ] ; then | ||||
|         for RM_PLUGINS in `ls ${PORT_WINE_TMP_PATH} | grep plugins_v | grep -v plugins${PW_PLUGINS_VER}` | ||||
|         do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}" | ||||
|         done | ||||
|     fi | ||||
|     if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/d3d_extras" \ | ||||
|     if [[ ! -d "${PW_PLUGINS_PATH}/BattlEye_Runtime" || ! -d "${PW_PLUGINS_PATH}/fake_dlss" \ | ||||
|     || ! -d "${PW_PLUGINS_PATH}/nvapi" || ! -d "${PW_PLUGINS_PATH}/nvml" ]] | ||||
|     then | ||||
|         print_info "Download and install plugins${PW_PLUGINS_VER}..." | ||||
|         if try_download "https://github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then | ||||
|         if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then | ||||
|                 try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"  | ||||
|             else | ||||
| @@ -636,10 +757,16 @@ pw_check_and_download_plugins () { | ||||
| } | ||||
|  | ||||
| pw_init_db () { | ||||
|     if [ ! -z "${portwine_exe}" ]; then | ||||
|     if [[ ! -z "${portwine_exe}" ]] ; then | ||||
|         export PORTWINE_DB=`echo "${portwine_exe}" | awk -F '/' 'NF>1{print $NF}' | sed s/".exe"/""/gi` | ||||
|         if [[ -f "${portwine_exe}".ppdb ]] ; then | ||||
|         if [[ -f "${portwine_exe}".ppdb ]] && [[ "${PORTWINE_DB}" != "RiotClientServices" ]] ; then | ||||
|             export PORTWINE_DB_FILE="${portwine_exe}".ppdb | ||||
|             sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}" | ||||
|             . "${PORTWINE_DB_FILE}" | ||||
|             if [[ -z "`ls -p "${PORT_WINE_PATH}/prefixes/" | grep -e "^${PW_PREFIX_NAME}/"`" ]] ; then | ||||
|                 export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'` | ||||
|                 edit_db_from_gui PW_PREFIX_NAME | ||||
|             fi | ||||
|         else | ||||
|             orig_IFS="$IFS" | ||||
|             IFS=$'\n' | ||||
| @@ -657,19 +784,21 @@ pw_init_db () { | ||||
|                 --title "Database file selection..." --window-icon="$PW_GUI_ICON_PATH/port_proton.png"  --form --separator="" \ | ||||
|                 --field="DB FILE: :CB" "${ADD_CB_DBFILE}"` | ||||
|                 if [[ "$?" == "1" || "$?" == "252" ]] ; then exit 0 ; fi | ||||
|                 sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}" | ||||
|             elif [[ `echo "$PW_FIND_DB_FILE" | wc -l` -eq 1 ]] ; then | ||||
|                 PORTWINE_DB_FILE="${PW_FIND_DB_FILE}" | ||||
|                 sed -i 's/ PP_/ PW_/g' "${PORTWINE_DB_FILE}" | ||||
|             fi | ||||
|             IFS="$orig_IFS" | ||||
|             if [[ -f "${PW_FIND_DB_FILE}" ]] && [[ -z `grep "^export PW_DISABLED_CREATE_DB=1" "${PW_FIND_DB_FILE}"` ]] ; then | ||||
|                 try_copy_file "${PW_FIND_DB_FILE}" "${portwine_exe}".ppdb | ||||
|                 export PORTWINE_DB_FILE="${portwine_exe}".ppdb | ||||
|                 if [[ ! -z `echo "${portwine_exe}" | grep "/data/prefixes/"` ]] && \ | ||||
|                    [[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT"` ]] | ||||
|                 then  | ||||
|                     export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'` | ||||
|                     edit_db_from_gui PW_PREFIX_NAME | ||||
|                 fi | ||||
|             fi | ||||
|             if [[ ! -z `echo "${portwine_exe}" | grep "/data/prefixes/"` ]] && \ | ||||
|                 [[ -z `echo "${portwine_exe}" | grep "/data/prefixes/DEFAULT/"` ]] | ||||
|             then  | ||||
|                 export PW_PREFIX_NAME=`echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}'` | ||||
|                 edit_db_from_gui PW_PREFIX_NAME | ||||
|             fi | ||||
|         fi | ||||
|         if [ ! -z "${PORTWINE_DB_FILE}" ]; then | ||||
| @@ -720,7 +849,7 @@ pw_port_update () { | ||||
|                     echo "######################################################" | ||||
|                     print_info "Update scripts..." | ||||
|                     try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" | ||||
|                     if try_download "https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then | ||||
|                     if try_download "github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then | ||||
|                         if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}" | ||||
|                         then | ||||
|                             create_new_dir "${PORT_WINE_TMP_PATH}/scripts_backup" | ||||
| @@ -734,8 +863,8 @@ pw_port_update () { | ||||
|                             if [[ -z "${pw_yad_new}" ]] ; then | ||||
|                                 zenity --title="Changelog" --text-info --width=1200 --height=550 \ | ||||
|                                 --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" | ||||
|                             fi | ||||
|                             [ "$?" == 0 ] && /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|                             fi  | ||||
|                             [ "$?" == 0 ] && echo "Restarting PP after update..." && /usr/bin/env bash -c ${pw_full_command_line[*]} & | ||||
|                             exit 0 | ||||
|                         fi | ||||
|                     else | ||||
| @@ -744,7 +873,7 @@ pw_port_update () { | ||||
|                 "${scripts_upd5}") | ||||
|                     echo " " ;; | ||||
|                 "${scripts_upd6}") | ||||
|                 echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;; | ||||
|                     echo "0" > "${PORT_WINE_TMP_PATH}/scripts_update_notifier" ;; | ||||
|             esac | ||||
|         fi | ||||
|     fi | ||||
|   | ||||
| @@ -1,22 +1,43 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Author: PortWINE-Linux.ru | ||||
| # Author: linux-gaming.ru | ||||
|  | ||||
| read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| export update_loc=${update_loc} | ||||
| if [[ -f "${PORT_WINE_TMP_PATH}/${portname}_loc" ]] ; then | ||||
| 	read "update_loc" < "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| 	export update_loc=${update_loc} | ||||
| fi | ||||
|  | ||||
| if [ "${update_loc}" = "RUS" ] | ||||
| then | ||||
| 	export loc_gui_pw_reinstall_pp="Переустановить PORTPROTON" | ||||
|     export loc_gui_rm_pp="Удалить PORTPROTON" | ||||
|     export loc_gui_upd_pp="Проверить обновления" | ||||
|     export loc_gui_changelog="История изменений" | ||||
| 	export loc_gui_change_loc="Сменить язык интерфейса" | ||||
|     export loc_gui_edit_usc="Редактировать USER.CONF" | ||||
|     export loc_gui_scripts_fb="Откатить версию скриптов" | ||||
|     export loc_gui_credits="Авторы и спасибы =)" | ||||
|  | ||||
| 	export loc_tray_winefile="Файловый менеджер WINE" | ||||
| 	export loc_tray_tascmng="Диспетчер задач WINE" | ||||
| 	export loc_tray_cangelog="История изменений" | ||||
| 	export loc_tray_force_exit="Завершить работу PortProton" | ||||
|  | ||||
| 	export loc_mg_autoinstall="АВТОУСТАНОВКА" | ||||
| 	export loc_mg_emulators="ЭМУЛЯТОРЫ" | ||||
| 	export loc_mg_wine_settings="НАСТРОЙКИ WINE" | ||||
| 	export loc_mg_portproton_settings="НАСТРОЙКИ PORTPROTON" | ||||
|  | ||||
| 	export PW_CHANGELOG_FILE="changelog_rus" | ||||
| 	export PW_SELECTION_DB_LOC="Найдено более одного DB файла для запускаемого приложения.\nВыберите необходимый, или перед следующим запуском удалите лишний DB файл.\n" | ||||
|  | ||||
| 	export inst_set="Выбор" | ||||
| 	export inst_set_top="Установка PortWINE" | ||||
| 	export ss_done="Ярлык создан в корневом каталоге порта.\nДобавить его в МЕНЮ -> ИГРЫ?" | ||||
| 	export ss_done="Ярлык создан в каталоге PortProton.    \n    Добавить его в МЕНЮ -> ИГРЫ?" | ||||
|  | ||||
| 	export inst_succ="Установка завершена успешно!" | ||||
|  | ||||
| 	export port_upd1="Обновление PortWINE" | ||||
| 	export port_upd2="На сайте portwine-linux.ru вышло обновление для ${portname}\n" | ||||
| 	export port_upd2="На сайте linux-gaming.ru вышло обновление для ${portname}\n" | ||||
| 	export port_upd3="Действие:" | ||||
| 	export port_upd4="Перейти на сайт" | ||||
| 	export port_upd5="Напомнить позже" | ||||
| @@ -34,6 +55,8 @@ then | ||||
| 	export port_del1="Удаление $portname" | ||||
| 	export port_del2="Вы действительно хотите полностью удалить PortProton?" | ||||
|  | ||||
| 	export port_reinstall="Вы действительно хотите переустановить PortProton?\nДля этого будет необходимо интернет соединение." | ||||
|  | ||||
| 	export port_deb1="PortWINE был запущен в режиме создания ${portname}.log и он успешно сохранен в корне каталога порта" | ||||
| 	export port_deb2="Для диагностики проблемы, скопируйте ВЕСЬ лог в соответствующий канал у нас на сервере дискорда: https://discord.gg/FTaheP99wE" | ||||
|  | ||||
| @@ -52,11 +75,11 @@ then | ||||
| 	export loc_delete_shortcut="Удалить ярлык для запускаемого файла." | ||||
| 	export loc_debug="Запуск c созданием .log файла в корне ${portname}" | ||||
| 	export loc_launch="Запустить файл..." | ||||
| 	export loc_winecfg="Запустить winecfg для редактирования настроек префикса ${portname}" | ||||
| 	export loc_winecfg="Запустить winecfg для редактирования настроек выбранного префикса" | ||||
| 	export loc_winefile="Запустить файловый менеждер встроенный в wine" | ||||
|     export loc_winecmd="Запустить командную строку wine" | ||||
| 	export loc_winereg="Запустить редактор реестра префикса ${portname}" | ||||
|     export loc_winetricks="Запустить winetricks для установки доп. библиотек в префикс ${portname}" | ||||
| 	export loc_winereg="Запустить редактор реестра выбранного префикса" | ||||
|     export loc_winetricks="Запустить префикс менеджер для установки доп. библиотек в выбранный префикс" | ||||
| 	export loc_edit_db="Изменить файл настроек для" | ||||
| 	export loc_download_other_wine="Открыть меню для скачивания других версий WINE-PROTON" | ||||
|  | ||||
| @@ -65,6 +88,7 @@ then | ||||
| 	export PW_NO_FSYNC_INFO='Не использовать примитивы внутрипроцессной синхронизации на основе фьютексов. (Автоматически отключается в системах без FUTEX_WAIT_MULTIPLE поддержки) (Рекомендуется не изменять значение)' | ||||
| 	export PW_USE_DXR10_INFO='Включить поддержку Ray Tracing v.1.0' | ||||
| 	export PW_USE_DXR11_INFO='Включить поддержку Ray Tracing v.1.1 (бета)' | ||||
| 	export PW_FIX_VIDEO_IN_GAME_INFO='Требуется для воспроизведения видео в некоторых играх, чтобы оно не было искажено (обычно окрашено в розовый цвет)' | ||||
| 	export PW_VULKAN_NO_ASYNC_INFO='Выключить асинхронные вызовы для режимов VULKAN и DXVK' | ||||
| 	export PW_USE_NVAPI_AND_DLSS_INFO='Включить DLSS на поддерживаемых видеокартах NVIDIA' | ||||
| 	export PW_OLD_GL_STRING_INFO='Принудительное использование старых версий OpenGL' | ||||
| @@ -84,9 +108,14 @@ then | ||||
| 	export PW_DX12_DISABLE_INFO='Принудительное отключение DirectX 12' | ||||
| 	export PW_USE_WINE_DXGI_INFO='Принудительное использование встроенной библиотеки DXGI (в редких случаях решает проблемы с запуском игр под DX12)' | ||||
| 	export PW_MANGOHUD_USER_CONF_INFO='Принудительное использование системных настроек MANGOHUD (GOverlay и т.п.)' | ||||
| 	export PW_D3D_EXTRAS_DISABLE_INFO='Отключить принудительное использование сторонних библиотек DirectX' | ||||
| 	export PW_USE_D3D_EXTRAS_INFO='Включить принудительное использование сторонних библиотек DirectX' | ||||
| 	export PW_PRIME_RENDER_OFFLOAD_INFO='Включить дискретную видеокарту NVIDIA для ноутбуков с гибридной графикой (при поддержке установленого драйвера в ОС)' | ||||
| 	export PW_USE_WINDOWS_7_INFO='Изменить версию WINDOWS 10 на WINDOWS 7 в префиксе' | ||||
| 	export PW_USE_AMDVLK_DRIVER_INFO='Использовать драйвер AMDVLK вместо RADV на видеокартах от AMD' | ||||
| 	export PW_USE_SHADER_CACHE_INFO='Использовать кеширование шейдеров средствами WINE (отключать только при наличии микрофризов в игре)' | ||||
| 	export PW_WINE_FULLSCREEN_FSR_INFO='Работает во время использования любой версии ProtonGE в полноэкранном режиме при разрешении ниже стандартного для экрана' | ||||
| 	export PW_USE_FAKE_DLSS_INFO='Включить транслятор DLSS в FSR 2 в играх DirectX 12' | ||||
| 	export PW_MANGOHUD_x32_INFO='Включить MANGOHUD для 32 битных приложений и игр' | ||||
|  | ||||
| 	export PW_3DFX_INFO='Имитация старого графического ускорителя 3dfx (добавляет горизонтальные полосы)' | ||||
| 	export PW_AdaptiveSharpen_INFO='Увеличение резкости, можно использовать совместо с CAS' | ||||
| @@ -108,20 +137,148 @@ then | ||||
| 	export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)' | ||||
| 	export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)' | ||||
|  | ||||
| 	export PW_WAYLAND_INFO="Внимание! Вы запускаете $portname в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!" | ||||
| 	export PW_WAYLAND_INFO="Внимание! Вы запускаете PortProton в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!" | ||||
|  | ||||
| 	export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: </Sb>d3dadapter9</b>" | ||||
|  | ||||
| 	export loc_gui_error='Ошибка.' | ||||
| 	export loc_gui_error_download="Проверьте интернет соединение и\nнажмите OK для повторной попытки скачивания" | ||||
| 	export loc_gui_settings="Пожалуйста подождите." | ||||
| 	export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..." | ||||
| 	export loc_gui_edit_db="Изменение файла настроек для:" | ||||
| 	export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст." | ||||
|  | ||||
| 	export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ" | ||||
| 	export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню." | ||||
|  | ||||
| 	export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК" | ||||
| 	export loc_gui_open_db_help="Открыть файл настроек <b>.ppdb</b> в системном текстовом редакторе для просмотра и изменений переменных вручную." | ||||
|  | ||||
| 	export loc_gui_save_changes="СОХРАНИТЬ ИЗМЕНЕНИЯ" | ||||
| 	export loc_gui_save_changes_help="Сохранить текущие изменения, и перейти в предыдущее меню." | ||||
|  | ||||
| 	export loc_gui_ver_windows="Изменить версию эмуляции <b>WINDOWS</b>" | ||||
| 	export loc_gui_ver_windows_help="Изменение версии эмуляции <b>WINDOWS</b> может потребоваться для запуска старых игр. Версии <b>WINDOWS</b> ниже 10 не поддерживает новые игры с DirectX 12." | ||||
|  | ||||
| 	export loc_gui_aut_winetricks="Автоматически установить с помощью <b>WINETRICKS</b>" | ||||
| 	export loc_gui_aut_winetricks_help="Автоматически установить с помощью <b>WINETRICKS</b> дополнительных библиотек необходимых для запуска игры/программы. Список библиотек разделяются пробелами. (Пример есть в выпадающем списке)" | ||||
|  | ||||
| 	export loc_gui_winedllover="Принудительно использовать/отключить библиотеки" | ||||
| 	export loc_gui_winedllover_help="Принудительное использование/отключиение библиотеки только для даного приложения. (Примеры есть в выпадающем списке) | ||||
|  | ||||
| Краткая инструкция: | ||||
| 	* библиотеки пишутся <b>БЕЗ</b> расширения файлов .dll | ||||
| 	* библиотеки разделяются точкой с запятой - <b>;</b> | ||||
| 	* библиотека=n     - использовать библиотеку <b>WINDOWS</b> (сторонюю)  | ||||
| 	* библиотека=b     - использовать библиотеку <b>WINE</b> (встроенную)  | ||||
| 	* библиотека=n,b  - использовать <b>WINDOWS</b> библиотеку, а затем <b>WINE</b> | ||||
| 	* библиотека=b,n  - использовать библиотеку <b>WINE</b>, а затем <b>WINDOWS</b> | ||||
| 	* библиотека=       - отключить использование данной библиотеки" | ||||
|  | ||||
| 	export loc_gui_arg_exe="Добавить аргумент после <b>.exe</b> файла" | ||||
| 	export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе  <b>WINDOWS </b>"  | ||||
|  | ||||
| 	export loc_gui_mango_fps="Ограничить FPS (0 - выключено)" | ||||
| 	export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton." | ||||
|  | ||||
| 	export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub" | ||||
| 	export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE." | ||||
| 	export loc_gui_set_new_wine="Выберите версию WINE для загрузки:" | ||||
| 	export loc_gui_del_wine="Выберите версию WINE для удаления:" | ||||
| 	export loc_gui_installed_wine="УСТАНОВЛЕННЫЕ" | ||||
|  | ||||
| 	export loc_gui_ffx_cas="AMD FidelityFX - CAS предназначе для значительного улучшения резкости текстур без дополнительных установок модификаций для игр, с минимальной потерей производительности. (Для старых игр рекомендуется значение = 100)" | ||||
| 	export loc_gui_disabled_vkbas="ВЫКЛЮЧИТЬ  VKBASALT" | ||||
| 	export loc_gui_disabled_vkbas_help="Выключить vkBasalt и перейти в предыдущее меню." | ||||
| 	export loc_gui_vkbasalt_top="Настройки vkBasalt для добавления эффектов в играх работающих под Vulkan. (Клавиша <b>HOME</b> отключает vkbasalt)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n" | ||||
|  | ||||
| 	export loc_gui_no="НЕТ" | ||||
| 	export loc_gui_yes="ДА" | ||||
|  | ||||
| 	export loc_gui_create_shortcut="СОЗДАТЬ ЯРЛЫК" | ||||
| 	export loc_gui_delete_shortcut="УДАЛИТЬ ЯРЛЫК" | ||||
| 	export loc_gui_launch="ЗАПУСТИТЬ" | ||||
| 	export loc_gui_debug="СОЗДАТЬ ЛОГ" | ||||
| 	export loc_gui_edit_db_start="НАСТРОИТЬ" | ||||
| 	export loc_gui_vkbasalt_start="VKBASALT" | ||||
| 	export loc_gui_db_comments="Найден файл настроек PortProton для" | ||||
|  | ||||
| 	export loc_gui_vulkan_stable="Стабильные версии DXVK ${DXVK_STABLE_VER} и VKD3D ${VKD3D_STABLE_VER}" | ||||
| 	export loc_gui_vulkan_git="Новейшие версии DXVK ${DXVK_GIT_VER} и VKD3D ${VKD3D_GIT_VER}" | ||||
| 	export loc_gui_gallium_nine="GALLIUM_NINE (Аппаратный DX9 для MESA)" | ||||
| 	export loc_gui_open_gl="OPENGL (Для видеокарт без API VULKAN)" | ||||
|  | ||||
| 	export loc_gui_installing_the="Устанавливаем" | ||||
| 	export loc_gui_please_wait="Пожалуйста подождите..." | ||||
|  | ||||
| elif [ "${update_loc}" = "ENG" ] | ||||
| then | ||||
| 	export loc_gui_installing_the="Installing the" | ||||
| 	export loc_gui_please_wait="Please wait..." | ||||
|  | ||||
| 	export loc_gui_vulkan_stable="VULKAN (Stable version of DXVK and VKD3D)" | ||||
| 	export loc_gui_vulkan_git="VULKAN (New GIT version of DXVK and VKD3D)" | ||||
| 	export loc_gui_gallium_nine="GALLIUM_NINE (Native DX9 on MESA)" | ||||
| 	export loc_gui_open_gl="OPENGL (For video cards without VULKAN)" | ||||
|  | ||||
| 	export loc_gui_error='Error.' | ||||
| 	export loc_gui_error_download="You will need to check internet connection,\nand press OK for repeat download" | ||||
| 	export loc_gui_settings="Settings." | ||||
| 	export loc_gui_sett_info="Updating parameters..." | ||||
| 	export loc_gui_edit_db="Change settings in database file for" | ||||
| 	export loc_gui_cancel="CANCEL" | ||||
| 	export loc_gui_open_db="OPEN DB FILE" | ||||
| 	export loc_gui_save_changes="SAVE CHANGES" | ||||
| 	export loc_gui_ver_windows="SELECT VERSION OF WINDOWS" | ||||
| 	export loc_gui_aut_winetricks="AUTOINSTALL WITH WINETRICKS" | ||||
| 	export loc_gui_winedllover="WINEDLLOVERRIDES" | ||||
| 	export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE" | ||||
| 	export loc_gui_mango_fps="MANGOHUD FPS LIMIT (0-disabled)" | ||||
| 	export loc_gui_check_new_wine="Check new version WINE from GitHub" | ||||
| 	export loc_gui_check_new_wine_error="Error: check wine from github." | ||||
| 	export loc_gui_set_new_wine="Select WINE for download:" | ||||
| 	export loc_gui_del_wine="Select installed WINE for delete:" | ||||
| 	export loc_gui_installed_wine="INSTALLED" | ||||
| 	export loc_gui_disabled_vkbas="DISABLE  VKBASALT" | ||||
| 	export loc_gui_no="NO" | ||||
| 	export loc_gui_yes="YES" | ||||
| 	export loc_gui_create_shortcut="CREATE SHORTCUT" | ||||
| 	export loc_gui_delete_shortcut="DELETE SHORTCUT" | ||||
| 	export loc_gui_launch="LAUNCH" | ||||
| 	export loc_gui_debug="DEBUG" | ||||
| 	export loc_gui_edit_db_start="EDIT  DB" | ||||
| 	export loc_gui_vkbasalt_start="VKBASALT" | ||||
| 	export loc_gui_db_comments="PortProton database file was found for" | ||||
|  | ||||
|     export loc_gui_rm_pp="REMOVE PORTPROTON" | ||||
|     export loc_gui_upd_pp="UPDATE PORTPROTON" | ||||
|     export loc_gui_changelog="CHANGELOG" | ||||
| 	export loc_gui_change_loc="CHANGE LANGUAGE" | ||||
|     export loc_gui_edit_usc="EDIT USER.CONF" | ||||
|     export loc_gui_scripts_fb="SCRIPTS FROM BACKUP" | ||||
|     export loc_gui_credits="CREDITS" | ||||
| 	export loc_gui_pw_reinstall_pp="REINSTALL PORTPROTON" | ||||
|  | ||||
| 	export loc_tray_winefile="WINEFILE" | ||||
| 	export loc_tray_tascmng="TASKMNR" | ||||
| 	export loc_tray_cangelog="CHANGE  LOG" | ||||
| 	export loc_tray_force_exit="FORCE  EXIT" | ||||
|  | ||||
| 	export loc_mg_autoinstall="AUTOINSTALL" | ||||
| 	export loc_mg_emulators="EMULATORS" | ||||
| 	export loc_mg_wine_settings="WINE SETTINGS" | ||||
| 	export loc_mg_portproton_settings="PORTPROTON SETTINGS" | ||||
|  | ||||
| 	export PW_CHANGELOG_FILE="changelog_eng" | ||||
| 	export PW_SELECTION_DB_LOC="More than one DB file found for the application being launched.\nSelect the required one, or delete the extra DB file before the next run.\n" | ||||
|  | ||||
| 	export inst_set="Sett..." | ||||
| 	export inst_set_top="PortWINE setting" | ||||
| 	export ss_done="The shortcut was created in the ${portname} directory.\nAdd it to MENU -> GAMES?" | ||||
| 	export ss_done="The shortcut was created in the ${portname} directory.\n    Add it to MENU -> GAMES?" | ||||
| 	export inst_succ="The installation was successful." | ||||
|  | ||||
| 	export port_upd1="New update PortWINE" | ||||
| 	export port_upd2="On portwine-linux.ru site published an update to the ${portname}\n" | ||||
| 	export port_upd2="On linux-gaming.ru site published an update to the ${portname}\n" | ||||
| 	export port_upd3="Action:" | ||||
| 	export port_upd4="Go to the website" | ||||
| 	export port_upd5="Remind me later" | ||||
| @@ -138,8 +295,10 @@ then | ||||
|  | ||||
| 	export port_del1="Remove $portname" | ||||
| 	export port_del2="Are you sure you want to delete the PortProton" | ||||
| 	export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port" | ||||
| 	 | ||||
| 	export port_reinstall="Do you really want to reinstall PortProton?\nFor this, an internet connection will be required." | ||||
|  | ||||
| 	export port_deb1="PortWINE was launched in creation mode ${portname}.log and it is successfully stored in the root directory of the port" | ||||
| 	export port_deb2="To diagnose the problem, copy ALL of the log to discord server: https://discord.gg/FTaheP99wE" | ||||
|  | ||||
| 	export port_start1="Starting the PortWINE" | ||||
| @@ -157,7 +316,7 @@ then | ||||
|  | ||||
| 	export loc_download_other_wine="Download other wine-proton from GITHUB" | ||||
|  | ||||
| 	#Helped in translation: ConTI1NuEsZZZ | ||||
| 	# Helped in translation: ConTI1NuEsZZZ | ||||
| 	export loc_create_shortcut="Create shortcut for select file..." | ||||
| 	export loc_delete_shortcut="Delete shortcut for select file..." | ||||
| 	export loc_debug="Launch with the creation of a .log file at the root ${portname}" | ||||
| @@ -168,4 +327,11 @@ then | ||||
|     export loc_winereg="Run Registry Prefix Editor ${portname}" | ||||
|     export loc_winetricks="Run winetricks to install additional libraries to the prefix ${portname}" | ||||
| 	export loc_edit_db="Edit database file for" | ||||
|  | ||||
| 	export loc_find_d3dadapter9_error="not found in the system.\nInstall it and try again." | ||||
| else | ||||
| 	SET_LANG=`zenity --title  "LAUNGUAGE" --text "Select the language" --list --radiolist \ | ||||
| 	--column="Set:" --column "Choose language:" TRUE "RUS" FALSE "ENG" ` | ||||
| 	echo "${SET_LANG}" > "${PORT_WINE_TMP_PATH}/${portname}_loc" | ||||
| 	exit 0 | ||||
| fi | ||||
|   | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/AC4BFSP
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/ACValhalla
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/ALOTInstaller
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/Anno4
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/AnomalyLauncher
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -8,7 +8,7 @@ | ||||
| export PW_DLL_INSTALL="d3dx10 d3dx11_42 d3dx11_43"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| export PW_WINE_USE=PROTON_STEAM | ||||
| export PW_WINE_USE=PROTON_LG | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_USE_DXR10=0 | ||||
| export PW_VULKAN_NO_ASYNC=0 | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| #export PW_COMMENT_DB="We recommend using PROTON_GE + VULKAN!" | ||||
| export PW_WINE_USE=PROTON_GE | ||||
| # export PW_WINE_USE=PROTON_GE | ||||
| export PW_VULKAN_USE=1 | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export WINEDLLOVERRIDES="locationapi=" | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| export PW_WINE_USE=PROTON_STEAM | ||||
| export PW_WINE_USE=PROTON_LG | ||||
| export PW_VULKAN_USE=dxvk | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
|   | ||||
| @@ -7,7 +7,7 @@ export PW_VULKAN_USE=dxvk | ||||
| ##export PW_MANGOHUD=1 | ||||
| export PW_COMMENT_DB="Control (DX11)" | ||||
| export PW_DLL_INSTALL="physx" | ||||
| ##export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,app_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n" | ||||
| ##export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,apw_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n" | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
|   | ||||
| @@ -8,7 +8,7 @@ export PW_COMMENT_DB="Control (DX12)" | ||||
| ##export PW_USE_DXR10=1 | ||||
| ##export PW_MANGOHUD=1 | ||||
| export PW_DLL_INSTALL="physx" | ||||
| export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,app_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n" | ||||
| export WINEDLLOVERRIDES="d3d12,d3d_rmdwin10_f,renderer_rmdwin10_f,apw_rmdwin10_f,input_rmdwin10_f,renderer_rmdwin10_f,physics_rmdwin10_f,snd_rmdwin10_f,ui_rmdwin10_f=n" | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
|   | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/DAOriginsLauncher
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: PortWINE-Linux.ru | ||||
| #Author: linux-gaming.ru | ||||
| #DOOMEternalx64vk.exe | ||||
| #Rating=? | ||||
| ################################################ | ||||
|   | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/DXHRDC
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -3,6 +3,6 @@ | ||||
| #ds.exe  | ||||
| #Rating=5 | ||||
| ################################################ | ||||
| export PW_VULKAN_USE=vkd3d | ||||
| export PW_VULKAN_USE=1 | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export WINEDLLOVERRIDES="d3dcompiler_47,dxcompiler=n,b" | ||||
|   | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/Deponia
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Dolphin
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -8,7 +8,7 @@ | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| export PW_WINE_USE=PROTON_STEAM_6.3-7 | ||||
| export PW_WINE_USE=PROTON_LG_6.3-7 | ||||
| export PW_VULKAN_USE=1 | ||||
| ##export PW_USE_DXR10=1 | ||||
| ##export PW_DLSS_ON=1 | ||||
|   | ||||
							
								
								
									
										43
									
								
								data_from_portwine/scripts/portwine_db/EALauncher
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,43 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: PortWINE | ||||
| #EALauncher.exe | ||||
| #EADesktop.exe | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| export PW_DLL_INSTALL="vcrun2019"               # Install DDL in port prefix (used winetricks)  | ||||
| export PW_VULKAN_USE=1                       # dxvk, vkd3d or 0 for OpenGL | ||||
| # export PW_USE_TERMINAL="1" | ||||
| export PW_WINE_TKG_VER="7.20" | ||||
| export PW_WINE_USE="WINE-${PW_WINE_TKG_VER}-STAGING-TKG-AMD64" | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_PREFIX_NAME="EA_APP" | ||||
| # export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
|  | ||||
| check_download_wine_ver_for_ea () { | ||||
|     if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then | ||||
|         if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/${PW_WINE_TKG_VER}/wine-${PW_WINE_TKG_VER}-staging-tkg-amd64.tar.xz" \ | ||||
|         "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then | ||||
|                 try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
|                 UNPACK_STATUS=0 | ||||
|             else | ||||
|                 try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
|                 try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" | ||||
|             fi | ||||
|         fi | ||||
|         [[ "${UNPACK_STATUS}" != 0 ]] && exit 1 | ||||
|     fi | ||||
| } | ||||
| check_download_wine_ver_for_ea | ||||
|  | ||||
| if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then | ||||
|     orig_IFS="$IFS" | ||||
|     IFS=$'\n' | ||||
|     for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist/") ; do | ||||
|         dist_dir_new=`echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g` | ||||
|         if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then | ||||
|             mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" | ||||
|         fi | ||||
|     done | ||||
|     IFS="$orig_IFS" | ||||
| fi | ||||
| @@ -4,10 +4,11 @@ | ||||
| #Rating=5 | ||||
| ############################################## | ||||
| #export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher" | ||||
| export PW_WINE_USE=PROTON_GE | ||||
| # export PW_WINE_USE=PROTON_GE | ||||
| export PW_VULKAN_USE=1 | ||||
| export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq" | ||||
| export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019" | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
|  | ||||
| add_in_start_portwine () { | ||||
|     regdlloverrides "RDR2.exe:vulkan-1=n" | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: PortWINE-Linux.ru | ||||
| #Author: linux-gaming.ru | ||||
| #FarCry.exe | ||||
| #Rating=5 | ||||
| ################################# | ||||
|   | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/FarCry6
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										49
									
								
								data_from_portwine/scripts/portwine_db/Forsaken_World
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,49 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: berg | ||||
| #pemv.exe | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_WINE_USE="PROTON_GE" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_DXR10="0" | ||||
| ##export PW_DLSS_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_OLD_GL_STRING="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_FORCE_USE_VSYNC="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT="0" | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| export PW_HEAP_DELAY_FREE="0" | ||||
| export PW_WINE_ALLOW_XIM="0" | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| export PW_WINEDBG_DISABLE="1" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_PREFIX_NAME="DEFAULT" | ||||
| export PW_USE_DXR11="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_DX12_DISABLE="0" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_USE_AMDVLK_DRIVER="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
							
								
								
									
										39
									
								
								data_from_portwine/scripts/portwine_db/FulqrumGames
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,39 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: castro-fidel | ||||
| #FulqrumGames.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="+com_skipIntroVideo 1 +com_skipSignInManager 1"               # Additional launch options | ||||
| # export PW_WINE_USE="PROTON_LG_7-34" | ||||
| export PW_VULKAN_USE="1" | ||||
| ##export PW_USE_DXR10=1 | ||||
| ##export PW_DLSS_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI_AND_DLSS=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT="1" | ||||
| export PW_VKBASALT_EFFECTS="Curves:cas" | ||||
| export PW_VKBASALT_FFX_CAS="1" | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_USE_GSTREAMER=1                       # 0 - disabled use winegstreamer  | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_PREFIX_NAME="DEFAULT" | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/GalaxyClient
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										38
									
								
								data_from_portwine/scripts/portwine_db/GameCenter
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,38 @@ | ||||
| #!/bin/bash | ||||
| #Author: fff555 | ||||
| #GameCenter.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| export PW_WINE_USE=PROTON_LG_6.3-8C_PW2 | ||||
| export PW_VULKAN_USE=1 | ||||
| ##export PW_USE_DXR10=1 | ||||
| ##export PW_DLSS_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI_AND_DLSS=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=0                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PW_USE_GSTREAMER=1                       # 0 - disabled use winegstreamer  | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/GameLauncher
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/GoW
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: PortWINE-Linux.ru | ||||
| #Author: linux-gaming.ru | ||||
| #Hades.exe | ||||
| #Rating=1-5 | ||||
| #export PW_COMMENT_DB="blablabla" | ||||
|   | ||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/Half-Life2
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -8,7 +8,7 @@ | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| export PW_WINE_USE=PROTON_STEAM | ||||
| export PW_WINE_USE=PROTON_LG | ||||
| export PW_VULKAN_USE=1 | ||||
| ##export PW_DXR_ON=1 | ||||
| ##export PW_DLSS_ON=1 | ||||
|   | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/Inscryption
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/JustCause4
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -11,40 +11,22 @@ | ||||
| export TEXT_OPSSL="" | ||||
| [[ -z `which openssl` ]] && export TEXT_OPSSL="Install openssl in your system!!!\n" | ||||
| export PW_COMMENT_DB="${TEXT_OPSSL}Dwnload and start League of Legends can take a long time" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks) | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export LAUNCH_PARAMETERS="--launch-product=league_of_legends --launch-patchline=live"              # Additional launch options | ||||
| export PW_WINE_USE=WINE_LOL_GE_7.0-1 | ||||
| export PW_WINE_USE=WINE_LOL_GE_7.0-5 | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| export PW_PREFIX_NAME="LEAGUE_OF_LEGENDS" | ||||
| ##export PW_USE_DXR10=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| ##export PW_USE_NVAPI_AND_DLSS=0 | ||||
| ##export PW_OLD_GL_STRING=1 | ||||
| ##export PW_HIDE_NVIDIA_GPU=1 | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| ##export ENABLE_VKBASALT=1 | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=1 | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                             # defaut = win64 | ||||
| ##export WINEPREFIX="${PORT_WINE_PATH}/data/pfx_lol" | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=1                        # Force run in terminal | ||||
| export PW_NO_FSYNC=1 | ||||
| export PW_NO_ESYNC=1 | ||||
| export PW_DISABLED_CREATE_DB=1 | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| export DXVK_STABLE_VER="1.10.3-28" | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
|  | ||||
| check_download_wine_ver_for_lol () { | ||||
|     if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then | ||||
|         if try_download "https://github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \ | ||||
|         if try_download "github.com/Castro-Fidel/wine_builds/releases/download/${PW_WINE_USE}/${PW_WINE_USE}.tar.xz" \ | ||||
|         "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then | ||||
|             if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then | ||||
|                 try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
| @@ -59,38 +41,7 @@ check_download_wine_ver_for_lol () { | ||||
| } | ||||
| check_download_wine_ver_for_lol | ||||
|  | ||||
| check_port_for_lol () {  | ||||
|     "${pw_yad}" --progress --progress-text="Loading and start League of Legends. Please wait. It can take a long time!" \ | ||||
|     --pulsate --no-buttons --undecorated --center --skip-taskbar --image="${PW_GUI_ICON_PATH}/covers/lol_cover.jpg" --image-on-top > /dev/null 2>&1 & | ||||
|     PW_YAD_PID_LOL="$!" | ||||
|     process=LeagueClientUx.exe | ||||
|     while [[ -z `pidof ${process}` ]] ; do | ||||
|         echo "PID ${process} not found" | ||||
|         sleep 1 | ||||
|     done | ||||
|     uxpid=`pidof ${process}` | ||||
|     echo "LeagueClientUx pid: ${uxpid}" | ||||
|     port=$(xargs -0 < /proc/${uxpid}/cmdline | sed -n 's/.*--app-port=\([[:digit:]]*\).*/\1/p') | ||||
|     if [ ! -n $port ]; then | ||||
|         echo "Could not find port" | ||||
|         exit 1 | ||||
|     fi | ||||
|     echo "Waiting for port ${port}" | ||||
|     kill -STOP ${uxpid} | ||||
|     timeout 200m /usr/bin/env bash -c " | ||||
|     until openssl s_client -connect :${port} <<< Q > /dev/null 2>&1 ; do | ||||
|     sleep 1 | ||||
|     done" | ||||
|     kill -CONT ${uxpid} | ||||
|     kill -s SIGUSR1 "${PW_YAD_PID_LOL}" | ||||
| } | ||||
|  | ||||
| add_in_start_portwine () { | ||||
|     if [ "$(cat /proc/sys/abi/vsyscall32)" -ne 0 ] ; then | ||||
|         zenity --question --title="Fix for LoL anti-cheat" \ | ||||
|         --text='Root rights are required to execute the command:           \n"sysctl -w abi.vsyscall32=0"' --no-wrap | ||||
|         [ "$?" = 1 ] && exit 0 | ||||
|         pkexec /usr/bin/env bash -c 'sysctl -w abi.vsyscall32=0' | ||||
|     fi | ||||
|     check_port_for_lol & | ||||
|     echo "" | ||||
|  | ||||
| } | ||||
|   | ||||
							
								
								
									
										43
									
								
								data_from_portwine/scripts/portwine_db/Lineage2_NewRP
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,43 @@ | ||||
| #!/bin/bash | ||||
| #Author: UserDiscord | ||||
| #NewRP.exe | ||||
| #Rating=5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| export PW_WINE_USE=PROTON_GE | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_USE_DXR10=0 | ||||
| ##export PW_DLSS_ON=1 | ||||
| export PW_VULKAN_NO_ASYNC=0 | ||||
| export PW_USE_NVAPI_AND_DLSS=0 | ||||
| export PW_OLD_GL_STRING=0 | ||||
| export PW_HIDE_NVIDIA_GPU=0 | ||||
| export PW_FORCE_USE_VSYNC=0 | ||||
| export PW_VIRTUAL_DESKTOP=0 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT=1 | ||||
| export PW_VKBASALT_EFFECTS=cas:Curves:SMAA:LumaSharpen | ||||
| export PW_VKBASALT_FFX_CAS=1 | ||||
| export PW_NO_FSYNC=0 | ||||
| export PW_NO_ESYNC=0 | ||||
| export PW_USE_GSTREAMER=0 | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| export PW_NO_WRITE_WATCH=0 | ||||
| export PW_HEAP_DELAY_FREE=0 | ||||
| export PW_WINE_ALLOW_XIM=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| export PW_USE_TERMINAL=0 | ||||
| export PW_GUI_DISABLED_CS=0 | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_USE_DXR11=0 | ||||
| export PW_USE_GAMEMODE=1 | ||||
| export PW_DX12_DISABLE=1 | ||||
| export PW_USE_WINE_DXGI=0 | ||||
| export PW_PRIME_RENDER_OFFLOAD=0 | ||||
							
								
								
									
										51
									
								
								data_from_portwine/scripts/portwine_db/MWO_Portal.exe.ppdb
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,51 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: dez | ||||
| #MWO Portal.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export LAUNCH_PARAMETERS="-noprompt -anygpu" | ||||
| export PW_WINE_USE="PROTON_GE" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_DXR10="0" | ||||
| ##export PW_DLSS_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_OLD_GL_STRING="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_FORCE_USE_VSYNC="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT="1" | ||||
| export PW_VKBASALT_EFFECTS="FakeHDR:cas" | ||||
| export PW_VKBASALT_FFX_CAS="0.75" | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| export PW_HEAP_DELAY_FREE="0" | ||||
| export PW_WINE_ALLOW_XIM="0" | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| export PW_WINEDBG_DISABLE="1" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_PREFIX_NAME="DOTNET" | ||||
| export PW_MANGOHUD="1" | ||||
| export PW_MANGOHUD_USER_CONF="1" | ||||
| export PW_USE_DXR11="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_DX12_DISABLE="0" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_USE_AMDVLK_DRIVER="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: PortWINE-Linux.ru | ||||
| #Author: linux-gaming.ru | ||||
| #mafiadefinitiveedition.exe | ||||
| #Rating=4 | ||||
| ################################################ | ||||
|   | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/MassEffectConfig
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/MassEffectLauncher
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/MikuMikuDance
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/NFS
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										40
									
								
								data_from_portwine/scripts/portwine_db/Oddworld_Soulstorm
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,40 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: xuser | ||||
| #soulstorm.exe | ||||
| #Rating=5 | ||||
| ################################################# | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_WINE_USE="PROTON_GE" | ||||
| export PW_PREFIX_NAME="DEFAULT" | ||||
| export PW_VKBASALT_EFFECTS="Curves:cas" | ||||
| export PW_VKBASALT_FFX_CAS="0.75" | ||||
| export ENABLE_VKBASALT="1" | ||||
| export PW_MANGOHUD="1" | ||||
| export PW_MANGOHUD_USER_CONF="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_USE_DXR10="0" | ||||
| export PW_USE_DXR11="0" | ||||
| export PW_VULKAN_NO_ASYNC="0" | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_OLD_GL_STRING="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_FORCE_USE_VSYNC="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| export PW_WINEDBG_DISABLE="1" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_WINE_ALLOW_XIM="0" | ||||
| export PW_HEAP_DELAY_FREE="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_DX12_DISABLE="0" | ||||
| export PW_D3D_EXTRAS_DISABLE="0" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export PW_WINE_FULLSCREEN_FSR="1" | ||||
| @@ -3,76 +3,25 @@ | ||||
| #Origin.exe  | ||||
| #Rating=? | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
|  | ||||
| ##export PW_WINDOWS_VER=10                        # Set windows version 10, 7 or XP | ||||
| export PW_DLL_INSTALL="vcrun2012 vcrun2019 d3dcompiler_43 d3dcompiler_47 d3dx9"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
|  | ||||
| export PW_DLL_INSTALL="vcrun2012 vcrun2019"               # Install DDL in port prefix (used winetricks)  | ||||
| export PW_VULKAN_USE=1                       # dxvk, vkd3d or 0 for OpenGL | ||||
| ##export PW_DXVK_VER=1.8.1  | ||||
| ##export PW_VKD3D_VER=2.2 | ||||
| ##export PW_USE_DXR10=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| export PW_USE_NVAPI_AND_DLSS=0 | ||||
| ##export PW_OLD_GL_STRING=0 | ||||
| ##export PW_HIDE_NVIDIA_GPU=0 | ||||
| ##export PW_FORCE_USE_VSYNC=2                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| ##export PW_VKD3D_FEATURE_LEVEL=0 | ||||
| ##export PW_DXGI_FROM_DXVK=0 | ||||
| ##export PW_VIRTUAL_DESKTOP=1 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export PW_USE_TERMINAL="1" | ||||
|  | ||||
| ##export PW_NO_FSYNC=1                            # Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems with no FUTEX_WAIT_MULTIPLE support. | ||||
| ##export PW_NO_ESYNC=1                            # Do not use eventfd-based in-process synchronization primitives | ||||
|  | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
|  | ||||
| ##export PW_USE_GAMEMODE=0              # Force disabele gamemod | ||||
| ##export PW_FORCE_LARGE_ADDRESS_AWARE=1           # Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. | ||||
| ##export PW_NO_WRITE_WATCH=0                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| ##export PW_HEAP_DELAY_FREE=0 | ||||
|  | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
|  | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| ##export PW_USE_TERMINAL=0                        # Force run in terminal | ||||
| ##export PW_LOG=0                                 # Enable debug mode fo terminal  | ||||
| ##export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI  | ||||
|  | ||||
| export STAGING_SHARED_MEMORY=0 | ||||
|  | ||||
| #add_in_start_portwine () { | ||||
| #     export PW_USER_TEMP="$WINEPREFIX/drive_c/users/${USER}/Temp"     | ||||
| #     if try_download "https://download.dm.origin.com/origin/live/OriginSetup.exe" "${PW_USER_TEMP}/OriginSetup.exe" ; then | ||||
| #         pw_start_progress_bar_block "Extracting files for update the Origin..." | ||||
| #         unzip "${PW_USER_TEMP}/OriginSetup.exe" 'update/*.zip' -d "${PW_USER_TEMP}/"  | ||||
| #         unzip -o "${PW_USER_TEMP}/update/"*.zip -d "$WINEPREFIX/drive_c/Program Files (x86)/Origin/" | ||||
| #         try_remove_dir "${PW_USER_TEMP}/update" | ||||
| #         try_remove_file "${PW_USER_TEMP}/OriginSetup.exe" | ||||
| #         pw_stop_progress_bar | ||||
| #         pw_start_progress_bar_cs "Starting the Origin..." | ||||
|          | ||||
| #         check_origin_update () { | ||||
| #             while :  | ||||
| #             do   | ||||
| #                 sleep 3 | ||||
| #                 if [ ! -z `pgrep Origin.exe | head -n 1` ] ; then  | ||||
| #                     sleep 1 | ||||
| #                 else | ||||
| #                     if [ ! -z `pgrep OriginSetup* | head -n 1` ] ; then | ||||
| #                         kill -n 9 `pgrep OriginSetup* | head -n 1` | ||||
| #                     fi | ||||
| #                     if [ ! -z `pgrep OriginThin* | head -n 1` ] ; then | ||||
| #                         kill -n 9 `pgrep OriginThin* | head -n 1` | ||||
| #                     fi | ||||
| #                     break | ||||
| #                 fi | ||||
| #             done | ||||
| #         } | ||||
| #         check_origin_update & | ||||
| ###WINE_KRON4EK### | ||||
| # export PW_WINE_USE="WINE-7.13-STAGING-AMD64" | ||||
| # check_download_wine_ver_for_origin () { | ||||
| #     if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then | ||||
| #         if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/7.13/wine-7.13-staging-amd64.tar.xz" \ | ||||
| #         "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then | ||||
| #             if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then | ||||
| #                 try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
| #                 UNPACK_STATUS=0 | ||||
| #             else | ||||
| #                 try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" | ||||
| #                 try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" | ||||
| #             fi | ||||
| #         fi | ||||
| #         [[ "${UNPACK_STATUS}" != 0 ]] && exit 1 | ||||
| #     fi | ||||
| #} | ||||
|  | ||||
| # } | ||||
| # check_download_wine_ver_for_origin | ||||
|   | ||||
							
								
								
									
										41
									
								
								data_from_portwine/scripts/portwine_db/Panzar
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,41 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: castro-fidel | ||||
| #PnzSteamLauncher.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER="7" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_DXR10="0" | ||||
| ##export PW_DLSS_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_OLD_GL_STRING="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT="1" | ||||
| export PW_VKBASALT_EFFECTS="Curves:cas" | ||||
| export PW_VKBASALT_FFX_CAS="0.75" | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_PREFIX_NAME="PANZAR" | ||||
| export PW_USE_DXR11="0" | ||||
| export PW_USE_FAKE_DLSS="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="1" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_DX12_DISABLE="0" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="0" | ||||
| export PW_USE_WINE_DXGI="0" | ||||
							
								
								
									
										22
									
								
								data_from_portwine/scripts/portwine_db/Path of Exile
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,22 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: castro-fidel | ||||
| #PathOfExile.exe | ||||
| #PathOfExile_x64.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| # export WINEDLLOVERRIDES="mscoree,mshtml=" | ||||
| export LAUNCH_PARAMETERS="--nologo --noasync --nopreload -gc 2" | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_MUST_HAVE_DLL="" | ||||
| # export PW_DLL_INSTALL="riched20 usp10" | ||||
| export PW_PREFIX_NAME="PATH_OF_EXILE" | ||||
| export PW_NO_FSYNC=0 | ||||
| export PW_NO_ESYNC=1 | ||||
| # export PW_DISABLED_CREATE_DB=1 | ||||
| export PW_USE_D3D_EXTRAS=1 | ||||
| #export PW_GUI_DISABLED_CS=1                     # 1 = disabled GUI | ||||
| export PW_WINDOWS_VER=7 | ||||
|  | ||||
| add_in_start_portwine () { | ||||
|     echo "" | ||||
| } | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/Photoshop
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										51
									
								
								data_from_portwine/scripts/portwine_db/PlariumPlay
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,51 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: castro-fidel | ||||
| #PlariumPlay.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="libglesv2=" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_DXR10="0" | ||||
| ##export PW_DLSS_ON=1 | ||||
| ##export PW_VULKAN_NO_ASYNC=1                     # Disabled ASYNC for VULKAN | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_OLD_GL_STRING="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| ##export PW_FORCE_USE_VSYNC=0                     # Vsync: 0-FORCE_OFF, 1-FORCE_ON, 2-BY_DEFAULT | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT="0" | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| ##export PW_USE_GSTREAMER=1                       # 0 - disabled use winegstreamer  | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| export PW_HEAP_DELAY_FREE="0" | ||||
| ##export PW_WINE_ALLOW_XIM=1                      # Disable XIM support until libx11 >= 1.7 is widespread | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| ##export PW_WINEDBG_DISABLE=1                     # Disabled WINEDBG | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_PREFIX_NAME="DOTNET" | ||||
| export PW_MANGOHUD="0" | ||||
| export PW_MANGOHUD_USER_CONF="0" | ||||
| export PW_USE_DXR11="0" | ||||
| export PW_USE_FAKE_DLSS="0" | ||||
| export PW_WINE_FULLSCREEN_FSR="0" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_DX12_DISABLE="0" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_USE_D3D_EXTRAS="1" | ||||
| export PW_FIX_VIDEO_IN_GAME="0" | ||||
| export PW_FORCE_LARGE_ADDRESS_AWARE="1" | ||||
| export PW_USE_SHADER_CACHE="1" | ||||
| export PW_USE_WINE_DXGI="0" | ||||
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/Quake4
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										0
									
								
								data_from_portwine/scripts/portwine_db/QuickSFV
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
							
								
								
									
										47
									
								
								data_from_portwine/scripts/portwine_db/SamSM
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,47 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: igor | ||||
| #Sam4.exe | ||||
| #SamSM.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER=10 | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export LAUNCH_PARAMETERS="+gfx_strApi Vulkan" | ||||
| export PW_WINE_USE=PROTON_GE_7.1-2 | ||||
| export PW_VULKAN_USE=1 | ||||
| export PW_USE_DXR10=0 | ||||
| ##export PW_DLSS_ON=1 | ||||
| export PW_VULKAN_NO_ASYNC=0 | ||||
| export PW_USE_NVAPI_AND_DLSS=0 | ||||
| export PW_OLD_GL_STRING=0 | ||||
| export PW_HIDE_NVIDIA_GPU=0 | ||||
| export PW_FORCE_USE_VSYNC=0 | ||||
| export PW_VIRTUAL_DESKTOP=0 | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT=0 | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| export PW_NO_FSYNC=0 | ||||
| export PW_NO_ESYNC=1 | ||||
| export PW_USE_GSTREAMER=1 | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| export PW_HEAP_DELAY_FREE=0 | ||||
| export PW_WINE_ALLOW_XIM=0 | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| export PW_WINEDBG_DISABLE=1 | ||||
| export PW_USE_TERMINAL=0 | ||||
| export PW_GUI_DISABLED_CS=0 | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_MANGOHUD=1 | ||||
| export PW_MANGOHUD_USER_CONF=0 | ||||
| export PW_USE_DXR11=0 | ||||
| export PW_USE_GAMEMODE=0 | ||||
| export PW_DX12_DISABLE=0 | ||||
| export PW_PRIME_RENDER_OFFLOAD=0 | ||||
| export PW_D3D_EXTRAS_DISABLE=0 | ||||
| export MANGOHUD_CONFIG=font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt | ||||
							
								
								
									
										12
									
								
								data_from_portwine/scripts/portwine_db/Secret World Legends
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,12 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: Castro-Fidel | ||||
| #SecretWorldLegendsDX11.exe | ||||
| #ClientPatcher.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_PREFIX_NAME="SWL" | ||||
| export WINEDLLOVERRIDES="d3d9=b" | ||||
| export ENABLE_VKBASALT="1" | ||||
| export PW_VKBASALT_EFFECTS="Curves:cas" | ||||
| export PW_VKBASALT_FFX_CAS="0.75" | ||||
							
								
								
									
										47
									
								
								data_from_portwine/scripts/portwine_db/Sheltered2
									
									
									
									
									
										Executable file
									
								
							
							
						
						| @@ -0,0 +1,47 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: astarso | ||||
| #Sheltered2.exe | ||||
| #Rating=1-5 | ||||
| #####################examples########################### | ||||
| ##export PW_COMMENT_DB="blablabla" | ||||
| export PW_WINDOWS_VER="10" | ||||
| export PW_DLL_INSTALL="" | ||||
| export WINEDLLOVERRIDES="" | ||||
| export LAUNCH_PARAMETERS="" | ||||
| export PW_WINE_USE="PROTON_GE_7-9" | ||||
| export PW_VULKAN_USE="1" | ||||
| export PW_USE_DXR10="0" | ||||
| ##export PW_DLSS_ON=1 | ||||
| export PW_VULKAN_NO_ASYNC="0" | ||||
| export PW_USE_NVAPI_AND_DLSS="0" | ||||
| export PW_OLD_GL_STRING="0" | ||||
| export PW_HIDE_NVIDIA_GPU="0" | ||||
| export PW_FORCE_USE_VSYNC="0" | ||||
| export PW_VIRTUAL_DESKTOP="0" | ||||
| ##export VKD3D_CONFIG=force_bindless_texel_buffer,multi_queue | ||||
| export ENABLE_VKBASALT="0" | ||||
| ##export PW_VKBASALT_EFFECTS="FakeHDR:cas"        # Use Reshade in others games (dx9-12 to vulkan only) | ||||
| ##export PW_VKBASALT_FFX_CAS="0.75"               # FidelityFX Contrast Adaptive Sharpening (min 0 - max 1) | ||||
| export PW_NO_FSYNC="0" | ||||
| export PW_NO_ESYNC="1" | ||||
| export PW_USE_GSTREAMER="1" | ||||
| ##export PULSE_LATENCY_MSEC=60                    # Fix crackling audio in games | ||||
| ##export PW_NO_WRITE_WATCH=1                      # Disable support for memory write watches in ntdll. This is a very dangerous hack and should only be applied if you have verified that the game can operate without write watches. This improves performance for some very specific games (e.g. CoreRT-based games). | ||||
| export PW_HEAP_DELAY_FREE="0" | ||||
| export PW_WINE_ALLOW_XIM="0" | ||||
| ##export WINEARCH=win32                           # defaut = win64 | ||||
| ##export WINEPREFIX= | ||||
| export PW_WINEDBG_DISABLE="1" | ||||
| export PW_USE_TERMINAL="0" | ||||
| export PW_GUI_DISABLED_CS="0" | ||||
| ##export PATH_TO_GAME= | ||||
| ##add_in_start_portwine () { commands ; } | ||||
| export PW_PREFIX_NAME="DEFAULT" | ||||
| export PW_MANGOHUD_USER_CONF="0" | ||||
| export PW_USE_DXR11="0" | ||||
| export PW_USE_GAMEMODE="1" | ||||
| export PW_DX12_DISABLE="0" | ||||
| export PW_PRIME_RENDER_OFFLOAD="0" | ||||
| export PW_D3D_EXTRAS_DISABLE="0" | ||||
| export PW_FIX_VIDEO_IN_GAME="1" | ||||
| export MANGOHUD_CONFIG="font_size=24,position=top-left,toggle_hud=Shift_R+F12,no_display,resolution,wine,gpu_name,vulkan_driver,gpu_stats,vkbasalt" | ||||
| @@ -1,5 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| #Author: PortWINE-Linux.ru | ||||
| #Author: linux-gaming.ru | ||||
| #Sirus Launcher.exe | ||||
| #Rating=4 | ||||
| #####################examples########################### | ||||
|   | ||||
							
								
								
									
										2
									
								
								data_from_portwine/scripts/portwine_db/StarCraft Launcher
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -8,7 +8,7 @@ | ||||
| ##export PW_DLL_INSTALL="vcrun2017"               # Install DDL in port prefix (used winetricks)  | ||||
| ##export WINEDLLOVERRIDES="blabla=n,b" | ||||
| ##export LAUNCH_PARAMETERS="('"+com_skipIntroVideo 1"' '"+com_skipSignInManager 1"')"                # Additional launch options | ||||
| export PW_WINE_USE=PROTON_STEAM_6.3-7 | ||||
| export PW_WINE_USE=PROTON_LG_6.3-7 | ||||
| export PW_VULKAN_USE=1 | ||||
| ##export PW_USE_DXR10=1 | ||||
| ##export PW_DLSS_ON=1 | ||||
|   | ||||