diff --git a/CHANGELOG.md b/CHANGELOG.md index 509eff8..481ba3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +# v0.78.1.4 + +* Update [lwrun](https://huggingface.co/lux-wine/lwrun/tree/main/releases/v0.39.1) packages +* Create [obs-vkcapture-lw](https://github.com/VHSgunzo/obs-vkcapture-lw) package +* Add [OBS-VkCapture](https://github.com/nowrep/obs-vkcapture) supports +* Minor fixes + # v0.78.1.3 * Update [lwrun](https://huggingface.co/lux-wine/lwrun/tree/main/releases/v0.39.1) packages diff --git a/README.md b/README.md index 4dc5bf8..9f24e3e 100644 --- a/README.md +++ b/README.md @@ -198,6 +198,7 @@ lwrun --uninstall - [x] Nvidia Resizable BAR (if your system support) - [x] Сreating/restoring backups of Wine prefixes - [x] Mounting/unmounting backups of Wine prefixes +- [x] [OBS-VkCapture](https://github.com/nowrep/obs-vkcapture) supports - [x] Redefining Wine options in settings GUI: ``` * WINE_HIDE_NVIDIA_GPU diff --git a/lutris-wine b/lutris-wine index 3391efb..d48bc66 100755 --- a/lutris-wine +++ b/lutris-wine @@ -1 +1 @@ -LW_VERSION="0.78.1.3" +LW_VERSION="0.78.1.4" diff --git a/lux-wine b/lux-wine index 450006e..e46c8a2 100755 --- a/lux-wine +++ b/lux-wine @@ -1,6 +1,6 @@ #!/usr/bin/env bash -export LW_VERSION="0.78.1.3" +export LW_VERSION="0.78.1.4" export LW_DEVELOPERS="VHSgunzo" export RED='\033[1;91m' @@ -179,6 +179,7 @@ check_def_config() { [ ! -n "$WDLLOVER" ] && export WDLLOVER='steam_api,steam_api64,steamclient,steamclient64=n;lsteamclient,winemenubuilder.exe=' [ ! -n "$WINE_THEME" ] && export WINE_THEME='Breeze Dark' [ ! -n "$LWMANGOHUD" ] && export LWMANGOHUD='Enabled' + [ ! -n "$LWVKCAPTURE" ] && export LWVKCAPTURE='Disabled' [ ! -n "$FPS_LIMIT" ] && export FPS_LIMIT="75" [ ! -n "$GAMEMODE" ] && export GAMEMODE=1 [ ! -n "$GSTREAMER" ] && export GSTREAMER=1 @@ -1563,8 +1564,7 @@ create_shortcut() { try_mkdir "$LW_DEF_TMP" DESKF="${LW_DEF_TMP}/${SHRT_NAME}.desktop" echo "[Desktop Entry]" > "$DESKF" - ([[ "$RUNSRC" =~ "lwrun" ]] && \ - LW_SOURCE="$LWRAP" + (LW_SOURCE="$LWRAP" [[ "$1" =~ "'" ]] && \ SHRTEXEPATH="\"$1\""||\ SHRTEXEPATH="'$1'" @@ -2016,7 +2016,7 @@ check_def_wine() { mv -f "$LW_WINE_DIR/$BINWINE/"* "$WFILESDIR/" 2>/dev/null try_ln "$WFILESDIR/"* "$LW_WINE_DIR/$BINWINE/" [ -f "$WVERSFL" ]||\ - (BINWINE="${BINWINE,,}" + (rm -f "$WVERSFL" echo "$(date +%s) $(sed 's|[_-]x86_64||gi;s|[_-]amd64||gi;s|[_-]x86||gi' \ <<<"${BINWINE//[^[:alnum:]._-]/}")" > "$WVERSFL") @@ -2254,14 +2254,14 @@ lu_run() { $TERM_APP $LWSHELL else $TERM_APP $LWSHELL -c "echo -en '$(cat "$TMP_DBG" 2>/dev/null)\n$PRINT_VARS\n\n'|& tee -a '$LOG_FILE' ; \ - $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT '$WINE' $RUN_VDESKTOP '$@' $EXE_ARG|& tee -a '$LOG_FILE'" + $RUN_VKCAPTURE $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT '$WINE' $RUN_VDESKTOP '$@' $EXE_ARG|& tee -a '$LOG_FILE'" clear_log 2>/dev/null $LW_EDITOR "$LOG_FILE" 2>/dev/null & fi elif [ "$LOG" == 1 ] then echo -en "$(cat "$TMP_DBG" 2>/dev/null)\n$PRINT_VARS\n" - $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT "$WINE" $RUN_VDESKTOP "${EXE_WRAPPER[@]}" "$@" $EXE_ARG|& tee -a "$LOG_FILE" + $RUN_VKCAPTURE $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT "$WINE" $RUN_VDESKTOP "${EXE_WRAPPER[@]}" "$@" $EXE_ARG|& tee -a "$LOG_FILE" clear_log 2>/dev/null $LW_EDITOR "$LOG_FILE" 2>/dev/null & elif [ "$TERMINAL" == 1 ] @@ -2287,15 +2287,15 @@ lu_run() { then export TMP_OUT="/tmp/${WINE_VERSION}_$(date +'%Y-%m-%d_%H%M%S').out" $TERM_APP $LWSHELL -c "echo -en '$(cat "$TMP_DBG" 2>/dev/null)\n$PRINT_VARS\n' ; \ - $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT '$WINE' $RUN_VDESKTOP '$@' $EXE_ARG|& tee -a '$TMP_OUT'" + $RUN_VKCAPTURE $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT '$WINE' $RUN_VDESKTOP '$@' $EXE_ARG|& tee -a '$TMP_OUT'" else $TERM_APP $LWSHELL -c "echo -en '$(cat "$TMP_DBG" 2>/dev/null)\n$PRINT_VARS\n' ; \ - $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT '$WINE' $RUN_VDESKTOP '$@' $EXE_ARG" + $RUN_VKCAPTURE $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT '$WINE' $RUN_VDESKTOP '$@' $EXE_ARG" fi fi else echo -en "$(cat "$TMP_DBG" 2>/dev/null)\n$PRINT_VARS\n" - $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT "$WINE" $RUN_VDESKTOP "${EXE_WRAPPER[@]}" "$@" $EXE_ARG + $RUN_VKCAPTURE $RUN_FPSLIMIT $RUN_GAMEMODE $RUN_MANGOHUD $RUN_CPU_LIMIT "$WINE" $RUN_VDESKTOP "${EXE_WRAPPER[@]}" "$@" $EXE_ARG fi export LD_LIBRARY_PATH="$SYS_LDLIBPTH" post_launch 2>/dev/null @@ -2686,6 +2686,7 @@ full_init() { check_vulkan_icd check_mangohud check_vkbasalt_eff + check_vkcapture check_gamemode check_gstreamer check_dxvk @@ -2798,6 +2799,7 @@ lu_config() { CMPRSSLST="xz \n zstd" FSRMODELST="Enabled \n ultra \n quality \n balanced \n performance \n Disabled" MANGOHUDLST="Enabled \n DLSYM \n Disabled" + VKCAPTURELST="Vulkan \n OpenGL \n Disabled" lwconfig_save() { LWCFGVAR="WINE_VERSION WIN_VER WINEARCH WINEPREFIX WINE_THEME WDLLOVER WMONOVER WD3DMODE DISABLE_NVAPI WINE_DXGI D3D_EXTRAS DGVOODOO2 \ DXVK_VERSION VKD3D_VERSION DXVK_NVAPI_VERSION D3D_EXTRAS_VERSION DGVOODOO2_VERSION WINE_NVML_VERSION VKD3DCFG MUST_HAVE_DLL \ @@ -2807,7 +2809,7 @@ lu_config() { LOADBAR LOADBARGIF CHKSTEAMAPPS LW_STEAMAPPS_DIR LOG DEBUG SYS_WINETRICKS CPU_LIMIT CMPRSS_METHOD ZSTD_CMPRSS_LVL \ DIS_OTH_DISPL RESTORE_RESOL RESTORE_GAMMA DIS_COPMOSITOR RESET_PULSE PULSE_LTCY TERMINAL HOLD_TERMINAL LW_TERM_APP \ LW_DOWNLOADER NO_TRAY US_LAYOUT VKBASALT VKBASALT_FFX_CAS VKICDFILES GAMEMODE LWMANGOHUD MANGOHUD_USER_CONF MANGOHUDCFG FPS_LIMIT \ - VSYNC NVPRIME DRIPRIME" + VSYNC LWVKCAPTURE NVPRIME DRIPRIME" WCFGOUT="$(while read CFGVAR <&3 && read CFGPARAM <&4 do if [ -n "$(echo "$CFGPARAM"|sed "s/''//")" ] @@ -2964,6 +2966,7 @@ lu_config() { --field="MangoHud config::CBE" "$(cfg_items "$MANGOHUDCFG" "$DEF_MANGOHUDCFG")" \ --field="FPS limit (0-disabled)::NUM" "$FPS_LIMIT" \ --field="Vsync::CB" "$(cfg_items "$VSYNC" "$VSYNCLST")" \ + --field="OBS-VkCapture::CB" "$(cfg_items "$LWVKCAPTURE" "$VKCAPTURELST")" \ --field="NVIDIA Prime Render Offload:CHK" "$NVPRIME" \ --field="DRI_PRIME:CHK" "$DRIPRIME" \ --file-filter="All Files | *.*" \ @@ -4297,6 +4300,33 @@ check_mangohud() { fi } +check_vkcapture() { + [ -n "$1" ] && export LWVKCAPTURE="$1" + if [[ "$LWVKCAPTURE" != "0" && "$LWVKCAPTURE" != "Disabled" ]] + then + if is_exe_exist obs-gamecapture + then + if [[ "$LWVKCAPTURE" == "OpenGL" || "$WINED3D" == 1 ]] + then + print_info "OBS-VkCapture in OpenGL mode!" + export RUN_VKCAPTURE="obs-gamecapture" + else + print_info "OBS-VkCapture enabled!" + export OBS_VKCAPTURE=1 \ + VK_LOADER_LAYERS_ENABLE="$VK_LOADER_LAYERS_ENABLE,VK_LAYER_OBS_vkcapture_*" + unset RUN_VKCAPTURE + fi + else + print_error yad "OBS-VkCapture not found in your system!" + export DISABLE_OBS_VKCAPTURE=1 + unset OBS_VKCAPTURE RUN_VKCAPTURE + fi + else + export DISABLE_OBS_VKCAPTURE=1 + unset OBS_VKCAPTURE RUN_VKCAPTURE + fi +} + check_fps_limit() { [ -n "$1" ] && export FPS_LIMIT="$1" if [[ -n "$FPS_LIMIT" && "$FPS_LIMIT" != 0 ]] @@ -5755,7 +5785,7 @@ export_all_functions() { create_shortcut lu_debug clear_log dis_debug_msg dis_cmd_msg import_luwine_wcfg check_def_wine lu_prerun lu_run lu_prestart try_mv path_upd select_lwpfx \ lu_start lu_cmd lu_shell lu_regedit lu_control lu_winecfg lu_taskmgr lu_uninstaller winetricks lu_openpfx lu_exit lu_killshell check_dxr winepfx_init \ lu_killtray lu_killwine lu_killexe lu_clearpfx lu_rmapp lu_shortcut lu_explorer lu_help lu_version lu_tray lu_winemgr updcfgchksum lite_init \ - us_layout_sw check_mangohud check_wd3dmode check_gamemode check_gstreamer check_dxvk check_vkd3d check_dxvk-nvapi check_d3d_extras check_dgvoodoo2 \ + us_layout_sw check_mangohud check_vkcapture check_wd3dmode check_gamemode check_gstreamer check_dxvk check_vkd3d check_dxvk-nvapi check_d3d_extras check_dgvoodoo2 \ check_battleye check_winepfx check_vulkan_icd check_crash_dialog lu_update check_fps_limit lu_config full_init upd_winetricks check_shell unpack_squash \ check_nvprime check_esync check_fsync check_fsr check_path check_terminal check_pulse_latency check_ld_library check_wdllover try_rm_broken_link \ check_reset_pulse export_all_functions check_win_version check_hold_terminal dll_manager check_dll_symlink try_ln check_git_release cleanrun \ diff --git a/lwrap/PKGBUILD b/lwrap/PKGBUILD index 0147f72..3c9563b 100644 --- a/lwrap/PKGBUILD +++ b/lwrap/PKGBUILD @@ -2,7 +2,7 @@ pkgname='lwrap' pkgver='0.78.1' -pkgrel='3' +pkgrel='4' pkgdesc='Lux Wine wrapper for RunImage container' arch=('x86_64') url='https://github.com/VHSgunzo/lux-wine' @@ -32,7 +32,7 @@ depends=( 'lib32-vulkan-intel' 'vulkan-radeon' 'lib32-vulkan-radeon' 'lib32-libxnvctrl' 'libxnvctrl' 'dos2unix' 'lw-runtime' 'wine-gecko' 'wine-mono' 'libdvdread' 'a52dec' 'wavpack' 'lib32-wavpack' 'libmpeg2' 'twolame' 'lib32-twolame' 'gst-plugin-msdk' 'lib32-libdv' 'libdv' 'GE-Proton' - 'xxd-standalone' + 'xxd-standalone' 'obs-vkcapture-lw' 'lib32-obs-vkcapture-lw' ) optdepends=( 'xf86-video-amdgpu' 'xf86-video-intel' 'llvm'