From ffc8e37a0150771137425073832a31f72a8a82b1 Mon Sep 17 00:00:00 2001 From: Rus_Nor <9205347374@mail.ru> Date: Tue, 18 Apr 2023 19:44:27 +0300 Subject: [PATCH] add EALauncher --- data/app_config/.default | 2 +- data/app_config/Lost_Light | 53 +++++ data/app_config/StartWine | 53 +++++ data/app_config/Zona | 54 +++++ data/app_config/lgc_api | 54 +++++ data/img/launcher_icons/EA_Launcher.png | Bin 0 -> 5109 bytes data/img/launcher_icons/Genshin_Impact.png | Bin 0 -> 16849 bytes data/img/launcher_icons/Lost_Light.png | Bin 0 -> 20265 bytes data/img/launcher_icons/Origin.png | Bin 3652 -> 0 bytes data/scripts/sw_deps | 37 ++- data/scripts/sw_main | 10 +- data/scripts/sw_menu.glade | 9 +- data/scripts/sw_runlib | 260 +++++++++++++-------- data/scripts/sw_start | 6 +- 14 files changed, 433 insertions(+), 105 deletions(-) create mode 100755 data/app_config/Lost_Light create mode 100755 data/app_config/StartWine create mode 100755 data/app_config/Zona create mode 100755 data/app_config/lgc_api create mode 100644 data/img/launcher_icons/EA_Launcher.png create mode 100644 data/img/launcher_icons/Genshin_Impact.png create mode 100644 data/img/launcher_icons/Lost_Light.png delete mode 100755 data/img/launcher_icons/Origin.png diff --git a/data/app_config/.default b/data/app_config/.default index f608b45..1484bb1 100755 --- a/data/app_config/.default +++ b/data/app_config/.default @@ -32,7 +32,7 @@ export SW_USE_DRI_PRIME=0 export SW_USE_WINE_MONO=1 export SW_USE_BATTLEYE=0 export SW_USE_EASYANTICHEAT=0 -export SW_USE_D3D_PLUGINS=0 +export SW_USE_D3D_PLUGINS=1 export SW_USE_VSYNC_DISABLE=0 export SW_USE_HIDE_NVIDIA_GPU=0 export SW_USE_DGVOODOO2=0 diff --git a/data/app_config/Lost_Light b/data/app_config/Lost_Light new file mode 100755 index 0000000..8dec845 --- /dev/null +++ b/data/app_config/Lost_Light @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +################################################################################ +export SW_USE_LAUNCH_PARAMETERS="" +export SW_USE_WINEDLLOVERRIDES="" +export SW_USE_WINEARCH="win64" +export SW_USE_WINDOWS_VER="10" +export SW_USE_REGEDIT_PATCH="" +export SW_USE_DXVK_GE=0 +export SW_USE_VKD3D_GE=0 +export SW_USE_OPENGL=0 +export SW_USE_STRANGLE_FPS_LIMIT=0 +export SW_USE_MANGOHUD_DLSYM=0 +export SW_USE_MANGOHUD=1 +export SW_USE_GAMEMODE=1 +export SW_USE_RUNTIME=1 +export SW_USE_RESTORE_RESOLUTION=0 +export SW_USE_VIRTUAL_DESKTOP=0 +export SW_USE_FSYNC=0 +export SW_USE_ESYNC=0 +export SW_USE_OLD_GL_STRING=0 +export SW_USE_NVAPI_DISABLE=0 +export SW_USE_WINEDBG_DISABLE=1 +export SW_USE_LARGE_ADDRESS_AWARE=1 +export SW_USE_STAGING_WRITECOPY=0 +export SW_USE_STAGING_SHARED_MEMORY=1 +export SW_USE_DXVK_HUD=0 +export SW_USE_DXVK_ASYNC=1 +export SW_USE_ENABLE_VKBASALT=1 +export SW_USE_FSR=1 +export SW_USE_GSTREAMER=1 +export SW_USE_DRI_PRIME=0 +export SW_USE_WINE_MONO=1 +export SW_USE_BATTLEYE=0 +export SW_USE_EASYANTICHEAT=0 +export SW_USE_D3D_PLUGINS=1 +export SW_USE_VSYNC_DISABLE=0 +export SW_USE_HIDE_NVIDIA_GPU=0 +export SW_USE_DGVOODOO2=0 +export SW_USE_DLSS=0 +export SW_USE_AUTOSTART_TRAY=0 +export SW_USE_WINMM_DLL=0 +export SW_USE_DXVK_VER="2.1" +export SW_USE_VKD3D_VER="2.8" +export SW_USE_LANG=ru +export SW_USE_THEME=blue +export SW_USE_VKBASALT_EFFECTS="cas:Tonemap:Colourfulness:" +export SW_USE_VKBASALT_CAS="0.6" +export SW_USE_HUD_POSITION="R" +export SW_USE_FPS_LIMIT="0.0" +export SW_USE_MANGOHUD_CONFIG=",gamemode,vkbasalt,resolution,wine,arch,version,time,vram,ram,gpu_core_clock,gpu_temp,cpu_mhz,core_load,cpu_temp," +export SW_USE_WINE="wine_proton_ge" +export SW_USE_PFX="pfx_Lost_Light" +################################################################################ diff --git a/data/app_config/StartWine b/data/app_config/StartWine new file mode 100755 index 0000000..c68482f --- /dev/null +++ b/data/app_config/StartWine @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +################################################################################ +export SW_USE_LAUNCH_PARAMETERS="" +export SW_USE_WINEDLLOVERRIDES="" +export SW_USE_WINEARCH="win64" +export SW_USE_WINDOWS_VER="10" +export SW_USE_REGEDIT_PATCH="" +export SW_USE_DXVK_GE=0 +export SW_USE_VKD3D_GE=0 +export SW_USE_OPENGL=0 +export SW_USE_STRANGLE_FPS_LIMIT=0 +export SW_USE_MANGOHUD_DLSYM=0 +export SW_USE_MANGOHUD=1 +export SW_USE_GAMEMODE=1 +export SW_USE_RUNTIME=1 +export SW_USE_RESTORE_RESOLUTION=0 +export SW_USE_VIRTUAL_DESKTOP=0 +export SW_USE_FSYNC=0 +export SW_USE_ESYNC=0 +export SW_USE_OLD_GL_STRING=0 +export SW_USE_NVAPI_DISABLE=0 +export SW_USE_WINEDBG_DISABLE=1 +export SW_USE_LARGE_ADDRESS_AWARE=1 +export SW_USE_STAGING_WRITECOPY=0 +export SW_USE_STAGING_SHARED_MEMORY=1 +export SW_USE_DXVK_HUD=0 +export SW_USE_DXVK_ASYNC=1 +export SW_USE_ENABLE_VKBASALT=1 +export SW_USE_FSR=1 +export SW_USE_GSTREAMER=1 +export SW_USE_DRI_PRIME=0 +export SW_USE_WINE_MONO=1 +export SW_USE_BATTLEYE=0 +export SW_USE_EASYANTICHEAT=0 +export SW_USE_D3D_PLUGINS=1 +export SW_USE_VSYNC_DISABLE=0 +export SW_USE_HIDE_NVIDIA_GPU=0 +export SW_USE_DGVOODOO2=0 +export SW_USE_DLSS=0 +export SW_USE_AUTOSTART_TRAY=0 +export SW_USE_WINMM_DLL=0 +export SW_USE_DXVK_VER="1.10.3" +export SW_USE_VKD3D_VER="2.8" +export SW_USE_LANG=ru +export SW_USE_THEME=purple +export SW_USE_VKBASALT_EFFECTS="cas:Tonemap:Colourfulness:" +export SW_USE_VKBASALT_CAS="0.6" +export SW_USE_HUD_POSITION="R" +export SW_USE_FPS_LIMIT="0.0" +export SW_USE_MANGOHUD_CONFIG=",gamemode,vkbasalt,resolution,wine,arch,version,time,vram,ram,gpu_core_clock,gpu_temp,cpu_mhz,core_load,cpu_temp," +export SW_USE_WINE="wine_steam_proton" +export SW_USE_PFX="pfx_default" +################################################################################ diff --git a/data/app_config/Zona b/data/app_config/Zona new file mode 100755 index 0000000..136f1f6 --- /dev/null +++ b/data/app_config/Zona @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +################################################################################ +export SW_USE_LAUNCH_PARAMETERS="" +export SW_USE_WINEDLLOVERRIDES="" +export SW_USE_WINEARCH="win64" +export SW_USE_WINDOWS_VER="10" +export SW_USE_REGEDIT_PATCH="" +export SW_USE_DXVK_GE=0 +export SW_USE_VKD3D_GE=0 +export SW_USE_OPENGL=0 +export SW_USE_STRANGLE_FPS_LIMIT=0 +export SW_USE_MANGOHUD_DLSYM=0 +export SW_USE_MANGOHUD=0 +export SW_USE_GAMEMODE=1 +export SW_USE_RUNTIME=1 +export SW_USE_RESTORE_RESOLUTION=0 +export SW_USE_VIRTUAL_DESKTOP=0 +export SW_USE_FSYNC=0 +export SW_USE_ESYNC=0 +export SW_USE_OLD_GL_STRING=0 +export SW_USE_NVAPI_DISABLE=0 +export SW_USE_WINEDBG_DISABLE=1 +export SW_USE_LARGE_ADDRESS_AWARE=1 +export SW_USE_STAGING_WRITECOPY=0 +export SW_USE_STAGING_SHARED_MEMORY=1 +export SW_USE_DXVK_HUD=0 +export SW_USE_DXVK_ASYNC=0 +export SW_USE_ENABLE_VKBASALT=1 +export SW_USE_FSR=0 +export SW_USE_GSTREAMER=1 +export SW_USE_DRI_PRIME=0 +export SW_USE_WINE_MONO=1 +export SW_USE_BATTLEYE=0 +export SW_USE_EASYANTICHEAT=0 +export SW_USE_D3D_PLUGINS=1 +export SW_USE_VSYNC_DISABLE=0 +export SW_USE_HIDE_NVIDIA_GPU=1 +export SW_USE_DGVOODOO2=0 +export SW_USE_DLSS_TO_FSR=0 +export SW_USE_NVAPI_AND_DLSS=0 +export SW_USE_AUTOSTART_TRAY=0 +export SW_USE_WINMM_DLL=0 +export SW_USE_DXVK_VER="2.1" +export SW_USE_VKD3D_VER="2.8" +export SW_USE_LANG=ru +export SW_USE_THEME=purple +export SW_USE_VKBASALT_EFFECTS="cas:Tonemap:Colourfulness:" +export SW_USE_VKBASALT_CAS="0.6" +export SW_USE_HUD_POSITION="R" +export SW_USE_FPS_LIMIT="0.0" +export SW_USE_MANGOHUD_CONFIG=",gamemode,vkbasalt,resolution,wine,arch,version,time,vram,ram,gpu_core_clock,gpu_temp,cpu_mhz,core_load,cpu_temp," +export SW_USE_WINE="wine_proton_ge" +export SW_USE_PFX="pfx_Zona" +################################################################################ diff --git a/data/app_config/lgc_api b/data/app_config/lgc_api new file mode 100755 index 0000000..6311bca --- /dev/null +++ b/data/app_config/lgc_api @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +################################################################################ +export SW_USE_LAUNCH_PARAMETERS="" +export SW_USE_WINEDLLOVERRIDES="" +export SW_USE_WINEARCH="win64" +export SW_USE_WINDOWS_VER="10" +export SW_USE_REGEDIT_PATCH="" +export SW_USE_DXVK_GE=0 +export SW_USE_VKD3D_GE=0 +export SW_USE_OPENGL=0 +export SW_USE_STRANGLE_FPS_LIMIT=0 +export SW_USE_MANGOHUD_DLSYM=0 +export SW_USE_MANGOHUD=1 +export SW_USE_GAMEMODE=1 +export SW_USE_RUNTIME=1 +export SW_USE_RESTORE_RESOLUTION=0 +export SW_USE_VIRTUAL_DESKTOP=0 +export SW_USE_FSYNC=0 +export SW_USE_ESYNC=0 +export SW_USE_OLD_GL_STRING=0 +export SW_USE_NVAPI_DISABLE=0 +export SW_USE_WINEDBG_DISABLE=1 +export SW_USE_LARGE_ADDRESS_AWARE=1 +export SW_USE_STAGING_WRITECOPY=0 +export SW_USE_STAGING_SHARED_MEMORY=1 +export SW_USE_DXVK_HUD=0 +export SW_USE_DXVK_ASYNC=1 +export SW_USE_ENABLE_VKBASALT=1 +export SW_USE_FSR=1 +export SW_USE_GSTREAMER=1 +export SW_USE_DRI_PRIME=0 +export SW_USE_WINE_MONO=1 +export SW_USE_BATTLEYE=0 +export SW_USE_EASYANTICHEAT=0 +export SW_USE_D3D_PLUGINS=1 +export SW_USE_VSYNC_DISABLE=0 +export SW_USE_HIDE_NVIDIA_GPU=0 +export SW_USE_DGVOODOO2=0 +export SW_USE_DLSS_TO_FSR=0 +export SW_USE_NVAPI_AND_DLSS=0 +export SW_USE_AUTOSTART_TRAY=0 +export SW_USE_WINMM_DLL=0 +export SW_USE_DXVK_VER="2.1" +export SW_USE_VKD3D_VER="2.8" +export SW_USE_LANG=ru +export SW_USE_THEME=purple +export SW_USE_VKBASALT_EFFECTS="cas:Tonemap:Colourfulness:" +export SW_USE_VKBASALT_CAS="0.6" +export SW_USE_HUD_POSITION="R" +export SW_USE_FPS_LIMIT="0.0" +export SW_USE_MANGOHUD_CONFIG=",gamemode,vkbasalt,resolution,wine,arch,version,time,vram,ram,gpu_core_clock,gpu_temp,cpu_mhz,core_load,cpu_temp," +export SW_USE_WINE="wine_proton_ge" +export SW_USE_PFX="pfx_lgc_api" +################################################################################ diff --git a/data/img/launcher_icons/EA_Launcher.png b/data/img/launcher_icons/EA_Launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9a00d5f430e06e01e79a581f1d64953031e2a1a4 GIT binary patch literal 5109 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 literal 0 HcmV?d00001 diff --git a/data/img/launcher_icons/Lost_Light.png b/data/img/launcher_icons/Lost_Light.png new file mode 100644 index 0000000000000000000000000000000000000000..85d664120067aa32ce4162037bbcba7c5c5c3d3e GIT binary patch literal 20265 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 literal 0 HcmV?d00001 diff --git a/data/img/launcher_icons/Origin.png b/data/img/launcher_icons/Origin.png deleted file mode 100755 index 9825d1149a92a1983a5e9976d598d93a3029eecb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3652 zcmZ`+cRUmT8$Kc9I5Q*8JR{@~GA_dDTp^om$sT8m&R!v#2z7~&J#vH`x{#5I?0H7E za~Wsl^Zoh#@%`T4`#!(-dEe*x`+XA)^bw5o*XaQO03%WdZgh$E|4rJfmz9tgtaJ%f zE*g3o06={j@XUewvKMgFG13D7LPY_9$XEd2k z4z50afPe!o{u^&Umt|ctGyzCGZJJd|9#$!+#;wWAWkww&T*Kt))a>lDY#Y-s8sc!r ztq{YyC@L0O!{uw;BhQ%(Jesbxwc_8hYiCo78`(w?EZsTZZ!`>yNmMhzt)q3?k|JSL z?wgwRM&;LKVOjzdtnf!&_L@FAkgUNOyNiiGgSrBO{=0?#ySg2X`f~oelg};=cTcBr zpN~+xjSuB0h^K$&pfZWBgzHu7*eb`a7U6|Se_(PNA?As*x(nockL10X z6ZIA}{xuuxQfj22{Eq;LT8w(y88T4~P3I9>H)6iCh5hK|IKxcb`h=1W2bO%u*YBe4 zwzXAXzR(xmC?;{Rnyhh>I`q<*6m(Tj6KY??3|)T zNrVICLkY)9)R-^c(>hZL7u0MsN4abFf#TK5vT>`&_}seb2dCMQc8)i6FE%a$wf6ge z8mfk_7T!*g3Y3u6LAR5`$Yqz^mt}%yp|<#ePU6iasJ4*i>^?zn~0@S0&nY zLACjiIeEUw;OFJ9BNbdYYsBOsE=V;5}>b z&)t5@&JmaPqCqdq{+IslG})tc41~=Lv9z%0+=${ zS2kyoT1t5L0M6H3gxma=a!>jTTRrrZ5p42G#p2Wf^B>l-ZA(uL%fOyZ$!}qUVVxDY zaGM*>P!0$PZ1yimyIcP3e8d?RZ*^d{^tqCoZ`F6-DmF`KBDHolHiFsK$(VuLZk(39 zz5X6hFYL=FTRh$P0c2e({9P>c_P7Qot$iK)rcIY>TTT9V8!;M$3(Yi%FyrhxopC4d zgvE*Qs)UCq<|ypny{JeCv*4LHFG!y1FFEHhC}CJlP^#EeoLrQ|TL}*z_AVo)?zfVP zYn{?*Z|ynk2ib|d{wzbspC~h8UzDZzV@@W(0Mz9B(Fbl7@`90Pubo#j9=zf}SOyLF zQl<6;ljO?-KhDrp!Mtp_eWo>1G5jM%{b~tqzApWej~;S~+KUZ>K)qJPDMF+Eg8E)K z4BE|?J3nGXcxiR_LcqA;fL~Lk;rG6mJ-8!H5`uI6!D-cjGK}FVXxDujvvqx5q&Zc^ zm))0(L$UY(f0Iq-6Q>4I|FQE>j#VaE%3ILO{^^hAUZ-GG&{BU|2X=objLhOIHU~!2 z)BF}+V&HvkkvGLC=AM=|UBRYONwkW({cxH_~SiO^(o>Mj?-1`@ooDc_H z9Cpt>*v{bR3aR-Wdov~a%^A^yeJRqM&EJF9Wky<^`cunU$+h{`-j$;lywy_QL%wb+ z^sDAhvbQmgfJM>E>H$vXa}EY!`u=5r$?t4Y%RE5@Rml z-`aPjQ3-BcGeyVtPU`R=ws9s&;v6;yw*n)yGB=M4w|$E9-VlB(?$#<(86VVc*dnKC zN7-1z)kb!3EtCzpN&x>09bRPgc# z0VdF=T7Wo(KajMLl2`DUfzH5%^W#@JavoPGI?vu@VLryJyP9B&MAAL+S?L=yTH^-S z*Rm$Wb!+PQ7Ffl$-QaDQ7$p%Zvs*vfg+dckQ#T+esS2<*IMlrg@xZl=?VlE-RtvIQw`)lZY#n1O$EUu&(9mv^ELX`lSY6x1 zCLM1P#$~WgKtOF%LNSv_t-y)0->qp^V&c3lYshOEliOeTO>igjX?dC(wMz4xef-AA zK$sMXCJ>>Oj6G!dY2L&nl-j8ldyT(B4UPHBKsx*uqR=;QzE-MsB?)v9%wjfPx9MpX z>p1XgnZz_yt$XZbD+pJ@idVWHn{&2)NQ=C(nRrdXf|&qun1{itbT72n@`QG?+%v

pDaYr5f zq7YK4v#s~jE&L(!vQSbhDm?oEd!+PU^wn+JqmLu*R($){IGTce3jEeA?wC1f6pPh( zfU^n8z^82Pc zp>Cj(MmFPt$b(|B?~|qIv^PpFuD02EQ@lDZz+Co_F_GQbF4WXI))Mo=lRng|yIQFR z%!){~@iojEUmUo;b6cG6yi-w!c3&qSgi88rG$(J0*vH}pysurIderCoI&#irq8LLf zxhy8M*==&Xk8kD)VDs)dFLAL$gA9rjCb$#0psVAtN0X;HwZ18q-82lDc+5pDIkqh&4qc*z20eM*H-7gqwX?-U^|2Y=P@mGj%i?BhAId++3r5C&ycW}i#%2qeb;#TPOcq;;tR@wE&KtBF(x^F zrjtu%b#JoaXxF@7Mz4j7pWEZj5^u7|-@T{Z6ys_trGpaO0?@FF@T6HlE#8#0c@K-& zU()^7tnj69^JSXym;2qc{`8WxZ)nx{q-xQWez$84b}HJG$=Sv#b zvasJ_L#6>vFhLZ`j>*5{bb>6j&}sCRmQr+Hvyg}I!M!;uc-uwT*U-4NEh#k^BEggi zL!YT#`K)&}b7@)WY{xWr#KBrbnR1gARMmNuTkgd9U8{FDtNKYl;QVt0@(hRt5AtIy zbXE8UAggBOX!oQQCc4Ra;6+Lnaml-lq*$ZSB4g2W_kB$nyxIk!zHk0T@@3afcdu{$ z_d8$JI6S-KhT@@$nvlWI;o2*4qv4?^nJf_3e28*98B(DfP_1UIufo3x0aa)m2N0=2 z4^nwPh4VkVr*?nAWNY>Yw`C_2F#~T5p_w&EBdrrvpSWv_;@8p1{dm&z&DCV!T`?Z@2mt zO0khkM~-ecwEt)!h){~K;Ofv)DM9yeQ&@Eqj@sQvkK*(4NpnTTh*wW;aHM-nsw*u& z!)>^p_uQc<{z|zUA~LBrE814$<-o#W@9-g3tK$gXyRvh#=~>xH+527k3snM-&BCr3 znt>@tbb@iE5zOp!QGfhZ7um@2OSOH!(W5};LJ$YEcWTZV4!RpDz$!S@gDK^VU}W|1 zW!W?R)k+%BLT$VuP4dxljge(1f+Z;iM7qkN3wVzE9{H^4;dZe5Yz2|0e|Akb{DMO` z4}f1bDO>0;8B$2nc0vl}*WA1xRCjeUl~|y#o4ZIfcP{b^lR=u;%B?867Summ0XM$* zMh2@3QRV#OhxqOcLZorr@fbEhRiWsB(2>GDKy z8mI2o`Eqnz^Ouw_U0*WRL*$P=jYCF!lplKlc?h?TjVVWn@%jWMoeZ?*EU#3-!d!IpqHf U?v@H4UJ3w6ZGCu+rhW8(0E)Bf8UO$Q diff --git a/data/scripts/sw_deps b/data/scripts/sw_deps index 2bad549..48f675e 100755 --- a/data/scripts/sw_deps +++ b/data/scripts/sw_deps @@ -2,9 +2,28 @@ echo "<< enter the user password to install the dependency for StartWine >>" +###################################___NALA___: + +if [ -x "$(command -v nala)" ]; then + + sudo nala update 2>/dev/null || echo 'Passed' && + sudo nala install software-properties-common 2>/dev/null || echo 'Pass' && + sudo dpkg --add-architecture i386 2>/dev/null || echo 'Pass' && + sudo nala update 2>/dev/null || echo 'Passed' && + + for deps in zstd imagemagick vulkan-tools wine xdg-user-dirs gir1.2-vte-2.91 htop python3-gi-cairo python3-opengl python3-numpy python3-pil python3-six ; do + + if [ "`sudo nala list --installed $deps 2>/dev/null | grep $deps`" == "" ]; then + sudo nala install $deps -y || echo "$deps __________Passed" + else + echo "$deps _________________________________package is already installed" + fi + + done + ###################################___APT___: -if [ -x "$(command -v apt)" ]; then +elif [ -x "$(command -v apt)" ]; then sudo apt update -y 2>/dev/null || echo 'Passed' && sudo apt install software-properties-common -y 2>/dev/null || echo 'Pass' && @@ -21,6 +40,22 @@ if [ -x "$(command -v apt)" ]; then done +###################################___APT-GET___: + +elif [ -x "$(command -v apt-get)" ]; then + + sudo apt-get update -y 2>/dev/null || echo 'Passed' && + + for deps in zstd ImageMagick vulkan-tools wine i586-wine xdg-user-dirs vte3 vte gem-vte3 libvte3 libvte3-gir gem-vte3-no-gi i586-gem-vte i586-libvte i586-libvte3 gnome-pty-helper libvte libvte-devel python-module-vte python-module-vte-devel i586-python-module-vte htop python3-module-cairocffi python3-module-OpenGL python3-module-numpy python3-module-Pillow python3-module-six python3-module-matplotlib-gtk3 python-module-vte ; do + + if [ "`sudo apt-get list --installed $deps 2>/dev/null | cut -d '/' -f1 | tail -n1`" != "$deps" ]; then + sudo apt-get install $deps -y 2>/dev/null || echo "$deps __________Passed" + else + echo "$deps _________________________________package is already installed" + fi + + done + #####################################___DNF___: elif [ -x "$(command -v dnf)" ]; then diff --git a/data/scripts/sw_main b/data/scripts/sw_main index 30ac845..29819dc 100755 --- a/data/scripts/sw_main +++ b/data/scripts/sw_main @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -################################___SCRIPTS_V370___: +################################___SCRIPTS_V373___: import os import sys @@ -36,8 +36,8 @@ sw_path = Path(os.path.dirname(os.path.abspath(__file__))).parent.parent sw_scripts = f"{sw_path}/data/scripts" sw_bin = f"{sw_path}/data/tools/utils/bin" -sw_ld_lib = f"{sw_path}/data/tools/utils/libs/x86-64" -sw_gi_typelib = f"{sw_path}/data/tools/utils/libs/x86-64/gi_typelib" +sw_ld_lib = f"{sw_path}/data/tools/utils/libs/lib" +sw_gi_typelib = f"{sw_path}/data/tools/utils/libs/lib/gi_typelib" os.environ["LD_LIBRARY_PATH"] = os.pathsep + sw_ld_lib os.environ["GI_TYPELIB_PATH"] = os.pathsep + sw_gi_typelib @@ -104,17 +104,19 @@ launchers_data = [ f"{sw_pfx}/pfx_BsgLauncher/drive_c/Battlestate Games/BsgLauncher/BsgLauncher.exe", f"{sw_pfx}/pfx_Caliber/drive_c/Program Files (x86)/1C Game Studios/Caliber/Caliber.exe", f"{sw_pfx}/pfx_CrossOut/drive_c/Crossout/CrossOut.exe", + f"{sw_pfx}/pfx_EALauncher/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop/EALauncher.exe", f"{sw_pfx}/pfx_EpicGamesLauncher/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe", f"{sw_pfx}/pfx_evelauncher/drive_c/EVE/Launcher/evelauncher.exe", f"{sw_pfx}/pfx_GalaxyClient/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe", f"{sw_pfx}/pfx_GameCenter/drive_c/GameCenter/GameCenter.exe", f"{sw_pfx}/pfx_GameXP_Launcher/drive_c/Launcher/GameXP Launcher.exe", + f"{sw_pfx}/pfx_launcher/drive_c/Program Files/Genshin Impact/launcher.exe", f"{sw_pfx}/pfx_gfclient/drive_c/Program Files (x86)/GameforgeClient/gfclient.exe", f"{sw_pfx}/pfx_itch/drive_c/users/steamuser/AppData/Local/itch/app-25.5.1/itch.exe", f"{sw_pfx}/pfx_lgc_api/drive_c/ProgramData/Lesta/GameCenter/api/lgc_api.exe", f"{sw_pfx}/pfx_Lineage/drive_c/GameCoast Games/launcher/Lineage.exe", + f"{sw_pfx}/pfx_Lost_Light/drive_c/Program Files (x86)/LostLight/Lost Light.exe", f"{sw_pfx}/pfx_yuzu/drive_c/yuzu/yuzu.exe", - f"{sw_pfx}/pfx_Origin/drive_c/Program Files (x86)/Origin/Origin.exe", f"{sw_pfx}/pfx_osu!/drive_c/osu!/osu!.exe", f"{sw_pfx}/pfx_PathOfExile/drive_c/Grinding Gear Games/Path of Exile/PathOfExile.exe", f"{sw_pfx}/pfx_PlariumPlay/drive_c/users/steamuser/AppData/Local/PlariumPlay/PlariumPlay.exe", diff --git a/data/scripts/sw_menu.glade b/data/scripts/sw_menu.glade index d5fed18..cd8a0c4 100755 --- a/data/scripts/sw_menu.glade +++ b/data/scripts/sw_menu.glade @@ -5619,7 +5619,7 @@ Example: -d3d11 False StartWine -3.7.0 +3.7.3 center @@ -6073,7 +6073,12 @@ Maslov N.G. Huskysoul Lintech Lex -VHSgunzo +VHSgunzo +Kot 41ru +Sheridan +3y6HuK +Wik +kazbek 0 diff --git a/data/scripts/sw_runlib b/data/scripts/sw_runlib index 8b87e31..2503c2a 100755 --- a/data/scripts/sw_runlib +++ b/data/scripts/sw_runlib @@ -5,17 +5,18 @@ export link="$(pwd)" cd "${link}/../../" export START_WINE_PATH="$(pwd)" +export SW_DEVELOPERS="Rus_Nor Nixon VHSgunzo" + ############################### TOOLS ###################################### -export SW_VER="370" -export GE_VER="7-53" -export SP_VER="7.0.6" -export STAG_VER="8.4" +export SW_VER="373" +export GE_VER="7-55" +export SP_VER="8.0.1" +export STAG_VER="8.6" export LUTRIS_VER="7.2-2" -export LUTRIS_GE_VER="7-41" -export UTILS_VER="v2.1" -export SCRIPTS="${START_WINE_PATH}/data/scripts" -export CRIER="${SCRIPTS}/sw_crier.py" +export LUTRIS_GE_VER="7-43" +export UTILS_VER="v2.3" +export CRIER="${START_WINE_PATH}/data/scripts/sw_crier.py" ##############################...LOCALE...###################################### @@ -126,7 +127,6 @@ try_remove_dir () { try_remove_steam_lib () { - rm -fr "${WINEDIR}/share/default_pfx" rm -fr "${WINEDIR}"*/lib*/*steam* rm -fr "${WINEDIR}"*/lib*/wine/*steam* rm -fr "${WINEDIR}"*/lib*/wine/*/*steam* @@ -259,8 +259,24 @@ try_fix_pfx () { "${WINESERVER}" -w fi - if [ ! -d "${START_WINE_PATH}/data/pfx/${SW_USE_PFX}/drive_c/users/${USER}" ]; then - try_force_link_dir "${START_WINE_PATH}/data/pfx/${SW_USE_PFX}/drive_c/users/steamuser" "${START_WINE_PATH}/data/pfx/${SW_USE_PFX}/drive_c/users/${USER}" + if [ -d "${START_WINE_PATH}/data/wine/${SW_USE_WINE}/share/default_pfx/drive_c/openxr" ]; then + try_copy_dir "${START_WINE_PATH}/data/wine/${SW_USE_WINE}/share/default_pfx/drive_c/openxr" "${WINEPREFIX}/drive_c" + fi + + if [ -f "${START_WINE_PATH}/data/wine/${SW_USE_WINE}/lib/wine/i386-windows/vrclient.dll" ]; then + if [ ! -f "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll" ]; then + create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin" + try_copy_file "${START_WINE_PATH}/data/wine/${SW_USE_WINE}/lib64/wine/x86_64-windows/vrclient_x64.dll" "${WINEPREFIX}/drive_c/vrclient/bin" + try_copy_file "${START_WINE_PATH}/data/wine/${SW_USE_WINE}/lib/wine/i386-windows/vrclient.dll" "${WINEPREFIX}/drive_c/vrclient/bin" + fi + fi + + if [ ! -d "${WINEPREFIX}/drive_c/users/${USER}" ]; then + try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser" "${WINEPREFIX}/drive_c/users/${USER}" + fi + + if [ ! -d "${WINEPREFIX}/drive_c/users/${USER}" ]; then + try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser" "${WINEPREFIX}/drive_c/users/${USER}" fi if [ ! -d "${WINEPREFIX}/drive_c/users/steamuser/Application Data" ]; then @@ -271,8 +287,8 @@ try_fix_pfx () { try_force_link_dir "${WINEPREFIX}/drive_c/users/steamuser/Documents" "${WINEPREFIX}/drive_c/users/steamuser/My Documents" fi - if [ ! -d "${START_WINE_PATH}/data/pfx/${SW_USE_PFX}/drive_c/Games" ]; then - try_force_link_dir "${START_WINE_PATH}/Games" "${START_WINE_PATH}/data/pfx/${SW_USE_PFX}/drive_c/Games" + if [ ! -d "${WINEPREFIX}/drive_c/Games" ]; then + try_force_link_dir "${START_WINE_PATH}/Games" "${WINEPREFIX}/drive_c/Games" fi if [ ! -d "${WINEPREFIX}/drive_c/users/Public/Documents/Steam" ]; then @@ -361,7 +377,7 @@ try_link_d3d_plugins () { try_force_link_file "${START_WINE_PATH}/data/tools/utils/d3d_extras/x32/${sw_d3d_plugins}.dll" "${WINEPREFIX}/drive_c/windows/system32" fi - try_winedlloverride_update "${sw_d3d_plugins}=n,b" + try_winedlloverride_update "${sw_d3d_plugins}=n" done else export sw_d3d_plugins="d3dcompiler_33 d3dcompiler_34 d3dcompiler_35 \ @@ -387,7 +403,7 @@ sw_main_pid_kill () { sw_main_pid="$(pgrep -f 'sw_main' | awk -F/ '{print $1}')" if [ ! -z "${sw_main_pid}" ]; then - kill -n 9 "${sw_main_pid}" + kill -n 9 ${sw_main_pid} fi } @@ -408,16 +424,13 @@ fi export WINEDIR="${START_WINE_PATH}/data/wine/${SW_USE_WINE}" -try_ld_library_path_update "${START_WINE_PATH}/data/tools/utils/libs/i386" -try_ld_library_path_update "${START_WINE_PATH}/data/tools/utils/libs/x86-64" +try_ld_library_path_update "${START_WINE_PATH}/data/tools/utils/libs/lib32" +try_ld_library_path_update "${START_WINE_PATH}/data/tools/utils/libs/lib" try_ld_library_path_update "${WINEDIR}/lib" try_ld_library_path_update "${WINEDIR}/lib64" try_winedllpath_update "${WINEDIR}/lib/wine" try_winedllpath_update "${WINEDIR}/lib64/wine" -try_winedllpath_update "${WINEDIR}/lib/wine/i386-windows" -try_winedllpath_update "${WINEDIR}/lib/wine/x86_64-windows" -try_winedllpath_update "${WINEDIR}/lib64/wine/x86_64-windows" try_path_update "${WINEDIR}/bin" @@ -425,26 +438,20 @@ export WINEARCH="${SW_USE_WINEARCH}" export WINELOADER="${WINEDIR}/bin/wine" export WINESERVER="${WINEDIR}/bin/wineserver" export WINEPREFIX="${START_WINE_PATH}/data/pfx/${SW_USE_PFX}" -export WINE_START_EXE="start.exe /i /unix" ############################### EXPORT ##################################### export VK_LAYER_PATH="${VK_LAYER_PATH}:${START_WINE_PATH}/data/tools/utils/implicit_layer.d" -export STEAM_COMPAT_CLIENT_INSTALL_PATH="${START_WINE_PATH}/data/pfx/${SW_USE_PFX}" -export STEAM_COMPAT_DATA_PATH="${START_WINE_PATH}/data/pfx/${SW_USE_PFX}" export WINE_MONO_OVERRIDES="Microsoft.Xna.Framework.*,Gac=n" -export __GL_SHADER_DISK_CACHE_PATH="${START_WINE_PATH}/data/tmp" -export __GL_SHADER_DISK_CACHE_SIZE=50000000000 +export __GL_SHADER_DISK_CACHE_PATH="${START_WINE_PATH}/data/tmp/gl_shader_cache" +export __GL_SHADER_DISK_CACHE_SIZE="1000000000" export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 export __GL_SHADER_DISK_CACHE=1 +export MESA_SHADER_CACHE_DIR="${START_WINE_PATH}/data/tmp" export SW_DESKTOP_DIR="$(xdg-user-dir DESKTOP)" export DXVK_VER="${SW_USE_DXVK_VER}" export VKD3D_VER="${SW_USE_VKD3D_VER}" -############################### AMD + INTEL ################################ - -export MESA_SHADER_CACHE_DIR="${START_WINE_PATH}/data/tmp" - ################################## CREATE ################################### create_new_dir "${START_WINE_PATH}/Games" @@ -460,9 +467,11 @@ create_new_dir "${START_WINE_PATH}/data/pfx/pfx_default" create_new_dir "/home/${USER}/.local/share/applications" create_new_dir "${START_WINE_PATH}/data/wine/wine_custom" create_new_dir "${START_WINE_PATH}/data/wine/wine_lutris" +create_new_dir "${START_WINE_PATH}/data/tmp/gstreamer-1.0" create_new_dir "${START_WINE_PATH}/data/wine/wine_staging" create_new_dir "${START_WINE_PATH}/data/wine/wine_proton_ge" create_new_dir "${START_WINE_PATH}/data/wine/wine_lutris_ge" +create_new_dir "${START_WINE_PATH}/data/tmp/gl_shader_cache" create_new_dir "${START_WINE_PATH}/data/wine/wine_steam_proton" if [ ! -f "${START_WINE_PATH}/data/scripts/version" ]; then @@ -532,14 +541,14 @@ fi if [ "${SW_USE_MANGOHUD_DLSYM}" == 1 ]; then export SW_MANGOHUD_DLSYM=1 else - export SW_MANGOHUD_DLSYM=0 + unset SW_MANGOHUD_DLSYM fi if [ "${SW_USE_MANGOHUD}" == 1 ]; then export MANGOHUD_LOG_LEVEL=off export MANGOHUD_CONFIG="background_alpha=0.2,font_size=20,background_color=020202,fps_limit=${SW_USE_FPS_LIMIT}+0,toggle_fps_limit=Shift_L+F1\ ,position=top-${HUD_POSITION},toggle_hud=Shift_R+F12${SW_USE_MANGOHUD_CONFIG}" - export SW_RUN_MANGOHUD="${START_WINE_PATH}/data/tools/utils/bin/mangohud" + export VK_INSTANCE_LAYERS="${VK_INSTANCE_LAYERS}:SW_VK_LAYER_MANGOHUD_overlay" else if [ "${SW_USE_STRANGLE_FPS_LIMIT}" == 1 ]; then export STRANGLE_FPS="${SW_USE_FPS_LIMIT}" @@ -576,14 +585,13 @@ if [ "${SW_USE_FSYNC}" == 1 ]; then export WINEFSYNC=1 export WINEFSYNC_FUTEX2=1 else - export WINEFSYNC=0 - export WINEFSYNC_FUTEX2=0 + unset WINEFSYNC WINEFSYNC_FUTEX2 fi if [ "${SW_USE_ESYNC}" == 1 ]; then export WINEESYNC=1 else - export WINEESYNC=0 + unset WINEESYNC fi if [ "${SW_USE_OLD_GL_STRING}" == 1 ]; then @@ -605,19 +613,19 @@ fi if [ "${SW_USE_LARGE_ADDRESS_AWARE}" == 1 ]; then export WINE_LARGE_ADDRESS_AWARE=1 else - export WINE_LARGE_ADDRESS_AWARE=0 + unset WINE_LARGE_ADDRESS_AWARE fi if [ "${SW_USE_STAGING_WRITECOPY}" == 1 ]; then export STAGING_WRITECOPY=1 else - export STAGING_WRITECOPY=0 + unset STAGING_WRITECOPY fi if [ "${SW_USE_STAGING_SHARED_MEMORY}" == 1 ]; then export STAGING_SHARED_MEMORY=1 else - export STAGING_SHARED_MEMORY=0 + unset STAGING_SHARED_MEMORY fi if [ "${SW_USE_DXVK_HUD}" == 1 ]; then @@ -628,7 +636,7 @@ fi if [ "${SW_USE_DXVK_ASYNC}" == 1 ]; then export DXVK_ASYNC=1 else - export DXVK_ASYNC=0 + unset DXVK_ASYNC fi if [ "${SW_USE_ENABLE_VKBASALT}" == 1 ]; then @@ -652,17 +660,16 @@ if [ "${SW_USE_FSR}" == 1 ]; then # balanced # performance else - export WINE_FULLSCREEN_FSR=0 - unset WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING WINE_FULLSCREEN_FAKE_CURRENT_RES + unset WINE_FULLSCREEN_FSR WINE_FULLSCREEN_FSR_STRENGTH WINE_FULLSCREEN_INTEGER_SCALING WINE_FULLSCREEN_FSR_MODE WINE_FULLSCREEN_FAKE_CURRENT_RES fi if [ "${SW_USE_GSTREAMER}" == 1 ]; then export GST_DEBUG="0:WARNING" - export WINE_GST_REGISTRY_DIR="${START_WINE_PATH}/data/tmp" - export MEDIACONV_AUDIO_DUMP_FILE="${START_WINE_PATH}/data/tmp/audio.foz" - export MEDIACONV_AUDIO_TRANSCODED_FILE="${START_WINE_PATH}/data/tmp/transcoded_audio.foz" - export MEDIACONV_VIDEO_DUMP_FILE="${START_WINE_PATH}/data/tmp/video.foz" - export MEDIACONV_VIDEO_TRANSCODED_FILE="${START_WINE_PATH}/data/tmp/transcoded_video.foz" + export WINE_GST_REGISTRY_DIR="${START_WINE_PATH}/data/tmp/gstreamer-1.0" + export MEDIACONV_AUDIO_DUMP_FILE="${START_WINE_PATH}/data/tmp/gstreamer-1.0/audio.foz" + export MEDIACONV_AUDIO_TRANSCODED_FILE="${START_WINE_PATH}/data/tmp/gstreamer-1.0/transcoded_audio.foz" + export MEDIACONV_VIDEO_DUMP_FILE="${START_WINE_PATH}/data/tmp/gstreamer-1.0/video.foz" + export MEDIACONV_VIDEO_TRANSCODED_FILE="${START_WINE_PATH}/data/tmp/gstreamer-1.0/transcoded_video.foz" export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0" fi @@ -765,7 +772,7 @@ fi ############################### OVERRIDE DLL ############################### -try_winedlloverride_update "SteamAppId,SteamGameId,lsteamclient,winemenubuilder.exe=" +try_winedlloverride_update "lsteamclient,winemenubuilder.exe=" try_winedlloverride_update "steam_api,steam_api64,steamclient,steamclient64=n" @@ -826,6 +833,8 @@ if [ ! -d "${START_WINE_PATH}/data/tools/utils/libs" ]; then crier=`$CRIER -tar "${START_WINE_PATH}/data/tmp/utils-"${UTILS_VER}".tar.xz" "${START_WINE_PATH}/data/tools"` && try_remove_file "${START_WINE_PATH}/data/tmp/utils-"${UTILS_VER}".tar.xz" sed -i "s%nobody%${START_WINE_PATH}/data/tools/utils%" "${START_WINE_PATH}/data/tools/utils/config/vkBasalt.conf" + sed -i "s%nobody%${START_WINE_PATH}/data/tools/utils%" "${START_WINE_PATH}/data/tools/utils/implicit_layer.d/MangoHud.json" + sed -i "s%nobody%${START_WINE_PATH}/data/tools/utils%" "${START_WINE_PATH}/data/tools/utils/implicit_layer.d/vkBasalt.json" fi ############################## PFX_DEFAULT DOWNLOAD ######################### @@ -864,48 +873,31 @@ RUN_VULKAN () { try_link_d3d_plugins - if [ "${WINEARCH}" != "win32" ]; then + unset VK_INSTANCE_LAYERS - if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64"; then - try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/syswow64" - fi - - if ! try_copy_file "${WINEDIR}"/lib64/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32"; then - try_copy_file "${WINEDIR}"/lib64/wine/x86_64-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32" - fi - - for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do - if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64"; then - try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64" - fi - - if ! try_copy_file "${WINEDIR}/lib64/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32"; then - try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" - fi + if [ "${WINEARCH}" != "win32" ]; then + for wine_build_dll in d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do + try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64" + try_copy_file "${WINEDIR}/lib64/wine/x86_64-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done - else - - if ! try_copy_file "${WINEDIR}"/lib/wine/fakedlls/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32"; then - try_copy_file "${WINEDIR}"/lib/wine/i386-windows/dxgi.dll "${WINEPREFIX}/drive_c/windows/system32" - fi - - for wine_build_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 ; do - if ! try_copy_file "${WINEDIR}/lib/wine/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32"; then - try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" - fi + for wine_build_dll in d3d12 d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do + try_copy_file "${WINEDIR}/lib/wine/i386-windows/${wine_build_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done - fi - try_winedlloverride_update "d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b" + try_winedlloverride_update "d3d12,d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=b" - try_winedlloverride_update "d3d12,libvkd3d-proton-utils-3=" + try_winedlloverride_update "openvr_api_dxvk,d3d12core=" echo "OpenGL mode" notify-send -a "StartWine" "$(eval_gettext "OpenGL mode")" + if [ "${SW_USE_MANGOHUD}" == 1 ]; then + export SW_RUN_MANGOHUD="${START_WINE_PATH}/data/tools/utils/bin/mangohud" + fi + cd "${SW_GAME_PATH}" ${SW_RUN_RUNTIME} ${SW_RUN_GAMEMODE} ${SW_RUN_MANGOHUD} "${WINELOADER}" ${VDESKTOP} "$@" ${LAUNCH_PARAMETERS} & @@ -929,7 +921,7 @@ RUN_VULKAN () { try_copy_file "${START_WINE_PATH}/data/tools/vulkan/dxvk-"${DXVK_VER}"/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done else - for wine_dxvk_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do + for wine_dxvk_dll in openvr_api_dxvk d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do try_copy_file "${START_WINE_PATH}/data/wine/wine_proton_ge/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64" try_copy_file "${START_WINE_PATH}/data/wine/wine_proton_ge/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done @@ -948,7 +940,7 @@ RUN_VULKAN () { try_copy_file "${START_WINE_PATH}/data/tools/vulkan/vkd3d-proton-"${VKD3D_VER}"/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done else - for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do + for wine_vkd3d_dll in d3d12 d3d12core ; do try_copy_file "${START_WINE_PATH}/data/wine/wine_proton_ge/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64" try_copy_file "${START_WINE_PATH}/data/wine/wine_proton_ge/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done @@ -968,7 +960,7 @@ RUN_VULKAN () { try_copy_file "${START_WINE_PATH}/data/tools/vulkan/dxvk-"${DXVK_VER}"/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done else - for wine_dxvk_dll in d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do + for wine_dxvk_dll in openvr_api_dxvk d3d11 d3d10 d3d10core d3d10_1 d3d9 dxgi ; do try_copy_file "${START_WINE_PATH}/data/wine/wine_proton_ge/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done fi @@ -984,7 +976,7 @@ RUN_VULKAN () { try_copy_file "${START_WINE_PATH}/data/tools/vulkan/vkd3d-proton-"${VKD3D_VER}"/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done else - for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do + for wine_vkd3d_dll in d3d12 d3d12core ; do try_copy_file "${START_WINE_PATH}/data/wine/wine_proton_ge/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32" done fi @@ -996,7 +988,7 @@ RUN_VULKAN () { fi - try_winedlloverride_update "libvkd3d-proton-utils-3,d3d12,d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=n" + try_winedlloverride_update "d3d12,d3d12core,openvr_api_dxvk,d3d11,d3d10,d3d10core,d3d10_1,d3d9,dxgi=n" export __GL_DXVK_OPTIMIZATIONS=1 export DXVK_CONFIG_FILE="${START_WINE_PATH}/data/tools/utils/config/dxvk.conf" @@ -1006,7 +998,7 @@ RUN_VULKAN () { export DXVK_LOG_PATH="none" export VKD3D_SHADER_CACHE_PATH="${START_WINE_PATH}/data/tmp/vkd3d_cache" - export VKD3D_FEATURE_LEVEL="12_0" + export VKD3D_FEATURE_LEVEL="12_1" export VKD3D_SHADER_DEBUG="none" export VKD3D_DEBUG="none" @@ -1016,7 +1008,7 @@ RUN_VULKAN () { cd "${SW_GAME_PATH}" - ${SW_RUN_RUNTIME} ${SW_RUN_GAMEMODE} ${SW_RUN_MANGOHUD} "${WINELOADER}" ${VDESKTOP} "$@" ${LAUNCH_PARAMETERS} & + ${SW_RUN_RUNTIME} ${SW_RUN_GAMEMODE} "${WINELOADER}" ${VDESKTOP} "$@" ${LAUNCH_PARAMETERS} & sw_main_pid_kill @@ -1421,6 +1413,8 @@ UNINSTALLER () { SW_WINETRICKS () { + unset VK_INSTANCE_LAYERS + if [ -f "${START_WINE_PATH}/data/scripts/winetricks" ]; then try_remove_file "${START_WINE_PATH}/data/scripts/winetricks" fi @@ -1446,6 +1440,8 @@ SW_WINETRICKS () { INSTALL_RL () { + unset VK_INSTANCE_LAYERS + crier=`$CRIER -q "$(eval_gettext "Install recommended libraries ?")"` if [ "$(echo $crier)" == "0" ]; then @@ -2026,32 +2022,35 @@ INSTALL_RIOTCLIENT () { } -INSTALL_ORIGIN () { +INSTALL_EA_LAUNCHER () { - if [ ! -f "${START_WINE_PATH}/data/pfx/pfx_Origin/drive_c/Program Files (x86)/Origin/Origin.exe" ]; then + if [ ! -f "${START_WINE_PATH}/data/pfx/pfx_EALauncher/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop/EALauncher.exe" ]; then WINE_OK=1 WINE_3 - export SW_USE_PFX="pfx_Origin" + export FTP_URL="https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" + crier=`$CRIER -d "${FTP_URL}" "${START_WINE_PATH}/data/tmp/EAappInstaller.exe"` + + export SW_USE_PFX="pfx_EALauncher" export WINEPREFIX="${START_WINE_PATH}/data/pfx/${SW_USE_PFX}" export WINEDIR="${START_WINE_PATH}/data/wine/wine_proton_ge" export WINELOADER=$WINEDIR/bin/wine - "${WINELOADER}" wineboot || prefix_init_error - "${WINESERVER}" -w + "${WINELOADER}" "${START_WINE_PATH}/data/tmp/EAappInstaller.exe" /silent "$@" - export FTP_URL="https://github.com/RusNor/Autoinstall-Launchers-Data/releases/download/Origin_0.1/Origin_0.1.tar.xz" - crier=`$CRIER -d "${FTP_URL}" "${START_WINE_PATH}/data/tmp/Origin_0.1.tar.xz"` - crier=`$CRIER -tar "${START_WINE_PATH}/data/tmp/Origin_0.1.tar.xz" "${WINEPREFIX}/drive_c/Program Files (x86)"` && - try_remove_file "${START_WINE_PATH}/data/tmp/Origin_0.1.tar.xz" + while pgrep -fa 'EAappInstaller' &>/dev/null ; do sleep 1 ; done - SW_USE_EXE="drive_c/Program Files (x86)/Origin/Origin.exe" + "${WINESERVER}" -k + + try_remove_file "${START_WINE_PATH}/data/tmp/EAappInstaller.exe" + + SW_USE_EXE="drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop/EALauncher.exe" SW_USE_WINE="wine_proton_ge" sw_shortcuts_autoinstall - export DLL="dotnet48 d3dcompiler_42 d3dcompiler_43 d3dcompiler_46 d3dcompiler_47 d3dx9 vcrun2019" + export DLL="dotnet20 dotnet48" export INSTALL_OK=1 SW_WINETRICKS @@ -3083,4 +3082,77 @@ INSTALL_RPG_CLUB () { } +INSTALL_GENSHIN_IMPACT () { + + if [ ! -f "${START_WINE_PATH}/data/pfx/pfx_launcher/drive_c/Program Files/Genshin Impact/launcher.exe" ]; then + + WINE_OK=1 + WINE_3 + + export SW_USE_PFX="pfx_launcher" + export WINEPREFIX="${START_WINE_PATH}/data/pfx/${SW_USE_PFX}" + export WINEDIR="${START_WINE_PATH}/data/wine/wine_proton_ge" + export WINELOADER=$WINEDIR/bin/wine + + "${WINELOADER}" wineboot || prefix_init_error + "${WINESERVER}" -w + + export FTP_URL="https://github.com/RusNor/Autoinstall-Launchers-Data/releases/download/GenshinImpact_0.1/GenshinImpact_0.1.tar.xz" + crier=`$CRIER -d "${FTP_URL}" "${START_WINE_PATH}/data/tmp/GenshinImpact_0.1.tar.xz"` + crier=`$CRIER -tar "${START_WINE_PATH}/data/tmp/GenshinImpact_0.1.tar.xz" "${WINEPREFIX}/drive_c/Program Files"` && + try_remove_file "${START_WINE_PATH}/data/tmp/GenshinImpact_0.1.tar.xz" + + SW_USE_EXE="drive_c/Program Files/Genshin Impact/launcher.exe" + SW_USE_WINE="wine_proton_ge" + + sw_shortcuts_autoinstall + + export DLL="d3dcompiler_47 d3dx9 vcrun2010 vcrun2012 vcrun2013 vcrun2019" + export INSTALL_OK=1 + + SW_WINETRICKS + + else + + crier=`$CRIER -i "$(eval_gettext "Application is installed")"` + + fi + +} + +INSTALL_LOST_LIGHT () { + + if [ ! -f "${START_WINE_PATH}/data/pfx/pfx_Lost_Light/drive_c/Program Files (x86)/LostLight/Lost Light.exe" ]; then + + WINE_OK=1 + WINE_3 + + export SW_USE_PFX="pfx_Lost_Light" + export WINEPREFIX="${START_WINE_PATH}/data/pfx/${SW_USE_PFX}" + export WINEDIR="${START_WINE_PATH}/data/wine/wine_proton_ge" + export WINELOADER=$WINEDIR/bin/wine + + "${WINELOADER}" wineboot || prefix_init_error + "${WINESERVER}" -w + + export FTP_URL="https://github.com/RusNor/Autoinstall-Launchers-Data/releases/download/LostLight_0.1/LostLight_0.1.tar.xz" + crier=`$CRIER -d "${FTP_URL}" "${START_WINE_PATH}/data/tmp/LostLight_0.1.tar.xz"` + crier=`$CRIER -tar "${START_WINE_PATH}/data/tmp/LostLight_0.1.tar.xz" "${WINEPREFIX}/drive_c/Program Files (x86)"` && + try_remove_file "${START_WINE_PATH}/data/tmp/LostLight_0.1.tar.xz" + + SW_USE_EXE="drive_c/Program Files (x86)/LostLight/Lost Light.exe" + SW_USE_WINE="wine_proton_ge" + + sw_shortcuts_autoinstall + + crier=`$CRIER -i "$(eval_gettext "Application installed successfully")"` + + else + + crier=`$CRIER -i "$(eval_gettext "Application is installed")"` + + fi + +} + ################################# THE END ################################## diff --git a/data/scripts/sw_start b/data/scripts/sw_start index 5d35bfb..31c12f5 100755 --- a/data/scripts/sw_start +++ b/data/scripts/sw_start @@ -15,9 +15,9 @@ sw_tools = Path(f"{sw_path}/data/tools") sw_main = Path(f"{sw_scripts}/sw_main") sw_crier = Path(f"{sw_scripts}/sw_crier.py") -ld_path_x86_64 = f"{sw_tools}/utils/libs/x86-64" -ld_path_i386 = f"{sw_tools}/utils/libs/i386" -gi_path = f"{sw_tools}/utils/libs/x86-64/gi_typelib" +ld_path_x86_64 = f"{sw_tools}/utils/libs/lib" +ld_path_i386 = f"{sw_tools}/utils/libs/lib32" +gi_path = f"{sw_tools}/utils/libs/lib/gi_typelib" python_modules = f"{sw_tools}/utils/libs/python/site-packages"