forked from CastroFidel/PortWINE
Merge branch 'Htylol-add-check_vendor_gpu' into devel
This commit is contained in:
commit
045443bd87
@ -833,6 +833,51 @@ check_selinux () {
|
|||||||
}
|
}
|
||||||
export -f check_selinux
|
export -f check_selinux
|
||||||
|
|
||||||
|
check_vendor_gpu () {
|
||||||
|
unset VENDOR_GPU_USE
|
||||||
|
if [[ $PW_GPU_USE != disabled ]] ; then
|
||||||
|
case "${PW_GPU_USE,,}" in
|
||||||
|
*nvidia*)
|
||||||
|
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
|
||||||
|
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE+=("nouveau")
|
||||||
|
;;
|
||||||
|
*amd*)
|
||||||
|
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE+=("amd")
|
||||||
|
;;
|
||||||
|
*intel*)
|
||||||
|
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE+=("intel")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v glxinfo &>/dev/null ; then
|
||||||
|
if [[ ! -f "${PW_TMPFS_PATH}/glxinfo.tmp" ]] ; then
|
||||||
|
glxinfo -B &> "${PW_TMPFS_PATH}/glxinfo.tmp"
|
||||||
|
fi
|
||||||
|
case "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')" in
|
||||||
|
*nvidia*)
|
||||||
|
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
|
||||||
|
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE+=("nouveau")
|
||||||
|
;;
|
||||||
|
*amd*)
|
||||||
|
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE+=("amd")
|
||||||
|
;;
|
||||||
|
*intel*)
|
||||||
|
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE+=("intel")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z ${VENDOR_GPU_USE[0]} ]] ; then
|
||||||
|
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
|
||||||
|
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE+=("nouveau")
|
||||||
|
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE+=("amd")
|
||||||
|
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE+=("intel")
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${VENDOR_GPU_USE[*]}"
|
||||||
|
}
|
||||||
|
|
||||||
background_pid () {
|
background_pid () {
|
||||||
local arg1 arg2 arg3 PID
|
local arg1 arg2 arg3 PID
|
||||||
arg1=$1 # --start или --end
|
arg1=$1 # --start или --end
|
||||||
@ -3267,11 +3312,7 @@ start_portwine () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
#https://github.com/flathub/net.lutris.Lutris/pull/368#issuecomment-1751381312
|
#https://github.com/flathub/net.lutris.Lutris/pull/368#issuecomment-1751381312
|
||||||
if [[ "${PW_GPU_USE,,}" =~ nvidia ]] \
|
[[ $(check_vendor_gpu) =~ nvidia ]] && export WEBKIT_DISABLE_DMABUF_RENDERER=1
|
||||||
|| [[ $(glxinfo | grep "OpenGL renderer" | grep -i nvidia) ]]
|
|
||||||
then
|
|
||||||
export WEBKIT_DISABLE_DMABUF_RENDERER=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if check_gamescope_session ; then
|
if check_gamescope_session ; then
|
||||||
export PW_GAMEMODERUN_SLR=""
|
export PW_GAMEMODERUN_SLR=""
|
||||||
@ -3464,7 +3505,7 @@ start_portwine () {
|
|||||||
then
|
then
|
||||||
export LIBGL_KOPPER_DRI2="1"
|
export LIBGL_KOPPER_DRI2="1"
|
||||||
fi
|
fi
|
||||||
if [[ -d /sys/bus/pci/drivers/nouveau ]] ; then
|
if [[ $(check_vendor_gpu) =~ nouveau ]] ; then
|
||||||
export NOUVEAU_USE_ZINK="1"
|
export NOUVEAU_USE_ZINK="1"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@ -3981,7 +4022,7 @@ start_portwine () {
|
|||||||
|| check_gamescope_session
|
|| check_gamescope_session
|
||||||
then
|
then
|
||||||
export vk_xwayland_wait_ready="false"
|
export vk_xwayland_wait_ready="false"
|
||||||
if [[ -d /sys/bus/pci/drivers/amdgpu ]] ; then
|
if [[ $(check_vendor_gpu) =~ amd ]] ; then
|
||||||
export RADV_DEBUG+="nodcc "
|
export RADV_DEBUG+="nodcc "
|
||||||
export AMD_DEBUG="nodcc"
|
export AMD_DEBUG="nodcc"
|
||||||
if [[ ! $(<"${PW_TMPFS_PATH}/vulkaninfo.tmp") =~ VK_EXT_image_drm_format_modifier ]] ; then
|
if [[ ! $(<"${PW_TMPFS_PATH}/vulkaninfo.tmp") =~ VK_EXT_image_drm_format_modifier ]] ; then
|
||||||
@ -3989,10 +4030,10 @@ start_portwine () {
|
|||||||
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && PW_GS_BACKEND_SDL="1"
|
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && PW_GS_BACKEND_SDL="1"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ -d /sys/bus/pci/drivers/i915 ]] ; then
|
if [[ $(check_vendor_gpu) =~ intel ]] ; then
|
||||||
export INTEL_DEBUG="norbc"
|
export INTEL_DEBUG="norbc"
|
||||||
fi
|
fi
|
||||||
if [[ -d /sys/bus/pci/drivers/nvidia ]] ; then
|
if [[ $(check_vendor_gpu) =~ nvidia ]] ; then
|
||||||
PW_GAMESCOPE_VARIABLES_BEFORE+="__GL_THREADED_OPTIMIZATIONS=0 "
|
PW_GAMESCOPE_VARIABLES_BEFORE+="__GL_THREADED_OPTIMIZATIONS=0 "
|
||||||
PW_GAMESCOPE_VARIABLES_AFTER+="__GL_THREADED_OPTIMIZATIONS=1 "
|
PW_GAMESCOPE_VARIABLES_AFTER+="__GL_THREADED_OPTIMIZATIONS=1 "
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user