Add experemental wayland support

parent f1559826
...@@ -2392,6 +2392,24 @@ start_portwine () { ...@@ -2392,6 +2392,24 @@ start_portwine () {
fi fi
fi fi
WINE_WAYLAND_VAR="$(grep "x11,wayland" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/user.reg")"
if [[ "${PW_USE_NATIVE_WAYLAND}" == "1" ]] ; then
if [[ ! "$WINE_WAYLAND_VAR" ]] ; then
print_info "Enable experemental Wayland support"
${pw_runtime} LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${WINELOADER}" reg add "HKEY_CURRENT_USER\Software\Wine\Drivers" /v "Graphics" /t REG_SZ /d "x11,wayland" /f
fi
export PW_DISPLAY="env DISPLAY="
export PW_USE_RUNTIME="0"
else
unset PW_DISPLAY
if [[ "$WINE_WAYLAND_VAR" ]] ; then
print_info "Disable experemental Wayland support"
${pw_runtime} LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${WINELOADER}" reg delete "HKCU\Software\Wine\Drivers" /v Graphics /f
fi
fi
pw_stop_progress_bar && pw_stop_progress_bar &&
if ! check_start_from_steam ; then if ! check_start_from_steam ; then
pw_tray_icon pw_tray_icon
...@@ -2472,6 +2490,7 @@ pw_run () { ...@@ -2472,6 +2490,7 @@ pw_run () {
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \ VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
${PW_GAMEMODERUN_SLR} \ ${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
else else
if [[ "$PW_USE_TERMINAL" == 1 ]] \ if [[ "$PW_USE_TERMINAL" == 1 ]] \
...@@ -2490,6 +2509,7 @@ pw_run () { ...@@ -2490,6 +2509,7 @@ pw_run () {
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \ VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
${PW_GAMEMODERUN_SLR} \ ${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
print_info "Update prefix log:" print_info "Update prefix log:"
[[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log" [[ -f "${PORT_WINE_TMP_PATH}/update_pfx_log" ]] && cat "${PORT_WINE_TMP_PATH}/update_pfx_log"
...@@ -2515,6 +2535,7 @@ pw_run () { ...@@ -2515,6 +2535,7 @@ pw_run () {
${PW_RUN_GAMESCOPE} \ ${PW_RUN_GAMESCOPE} \
${PW_GAMEMODERUN_SLR} \ ${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}"
wait_wineserver wait_wineserver
else else
...@@ -2531,6 +2552,7 @@ pw_run () { ...@@ -2531,6 +2552,7 @@ pw_run () {
${PW_RUN_GAMESCOPE} \ ${PW_RUN_GAMESCOPE} \
${PW_GAMEMODERUN_SLR} \ ${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]}
wait_wineserver wait_wineserver
fi fi
...@@ -3106,7 +3128,7 @@ gui_edit_db () { ...@@ -3106,7 +3128,7 @@ gui_edit_db () {
PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME
PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE
PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_DISABLE_COMPOSITING PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE PW_DISABLE_COMPOSITING
PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_NATIVE_WAYLAND
" "
if check_wayland_session ; then if check_wayland_session ; then
...@@ -3121,6 +3143,7 @@ gui_edit_db () { ...@@ -3121,6 +3143,7 @@ gui_edit_db () {
if [[ "${SKIP_EDIT_DB_TEXT_INFO}" != 1 ]] ; then if [[ "${SKIP_EDIT_DB_TEXT_INFO}" != 1 ]] ; then
export PW_DGVOODOO2_INFO=$(gettext 'Enable dgVoodoo2. Forced use all dgVoodoo2 libs (Glide 2.11-3.1, DirectDraw 1-7, Direct3D 2-9) on all 3D API. For WineD3D OpenGL need use WineLG (For Gallium Nine and Zink use too)') export PW_DGVOODOO2_INFO=$(gettext 'Enable dgVoodoo2. Forced use all dgVoodoo2 libs (Glide 2.11-3.1, DirectDraw 1-7, Direct3D 2-9) on all 3D API. For WineD3D OpenGL need use WineLG (For Gallium Nine and Zink use too)')
export PW_DINPUT_PROTOCOL_INFO=$(gettext 'Force use DirectInput protocol instead of XInput') export PW_DINPUT_PROTOCOL_INFO=$(gettext 'Force use DirectInput protocol instead of XInput')
export PW_USE_NATIVE_WAYLAND_INFO=$(gettext 'Enable experemental native Wayland support (need special wine build to work)')
export PW_VKBASALT_INFO=$(gettext 'Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)') export PW_VKBASALT_INFO=$(gettext 'Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)')
export PW_NO_ESYNC_INFO=$(gettext 'Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)') export PW_NO_ESYNC_INFO=$(gettext 'Do not use in-process synchronization primitives based on eventfd. (It is recommended not to change the value.)')
export PW_NO_FSYNC_INFO=$(gettext 'Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)') export PW_NO_FSYNC_INFO=$(gettext 'Do not use futex-based in-process synchronization primitives. (Automatically disabled on systems without FUTEX_WAIT_MULTIPLE support) (It is recommended not to change the value)')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment