diff --git a/scriptmodules/emulators/dolphin.sh b/scriptmodules/emulators/dolphin.sh index f55a9b808b..276a4b00bd 100644 --- a/scriptmodules/emulators/dolphin.sh +++ b/scriptmodules/emulators/dolphin.sh @@ -50,6 +50,8 @@ function depends_dolphin() { # if using the latest version, add SDL2 as dependency, since it's mandatory [[ "$(_get_commit_dolphin)" == "" ]] && depends+=(libsdl2-dev) + # install Vulkan drivers when needed + isPlatform "vulkan" && depends+=(mesa-vulkan-drivers) getDepends "${depends[@]}" } diff --git a/scriptmodules/emulators/ppsspp.sh b/scriptmodules/emulators/ppsspp.sh index 9999602c07..34cf7907b9 100644 --- a/scriptmodules/emulators/ppsspp.sh +++ b/scriptmodules/emulators/ppsspp.sh @@ -31,6 +31,7 @@ function depends_ppsspp() { isPlatform "videocore" && depends+=(libraspberrypi-dev) isPlatform "mesa" && depends+=(libgles2-mesa-dev) isPlatform "vero4k" && depends+=(vero3-userland-dev-osmc) + isPlatform "vulkan" && depends+=(mesa-vulkan-drivers) getDepends "${depends[@]}" } diff --git a/scriptmodules/emulators/retroarch.sh b/scriptmodules/emulators/retroarch.sh index c8271c2ba3..3b215a9168 100644 --- a/scriptmodules/emulators/retroarch.sh +++ b/scriptmodules/emulators/retroarch.sh @@ -22,7 +22,7 @@ function depends_retroarch() { isPlatform "mesa" && depends+=(libx11-xcb-dev) isPlatform "mali" && depends+=(mali-fbdev) isPlatform "x11" && depends+=(libx11-xcb-dev libpulse-dev) - isPlatform "vulkan" && depends+=(libvulkan-dev mesa-vulkan-drivers) + isPlatform "vulkan" && depends+=(libvulkan-dev mesa-vulkan-drivers vulkan-validationlayers) isPlatform "vero4k" && depends+=(vero3-userland-dev-osmc zlib1g-dev libfreetype6-dev) isPlatform "kms" && depends+=(libgbm-dev) diff --git a/scriptmodules/supplementary/sdl2.sh b/scriptmodules/supplementary/sdl2.sh index c43b3357e2..348e4fd73b 100644 --- a/scriptmodules/supplementary/sdl2.sh +++ b/scriptmodules/supplementary/sdl2.sh @@ -49,6 +49,7 @@ function _list_depends_sdl2() { isPlatform "gl" || isPlatform "rpi" && depends+=(libgl1-mesa-dev libglu1-mesa-dev) isPlatform "kms" || isPlatform "rpi" && depends+=(libdrm-dev libgbm-dev) isPlatform "x11" && depends+=(libpulse-dev libwayland-dev) + isPlatform "vulkan" && depends+=(libvulkan-dev) echo "${depends[@]}" } diff --git a/scriptmodules/system.sh b/scriptmodules/system.sh index b811fce4c2..2178fb837e 100644 --- a/scriptmodules/system.sh +++ b/scriptmodules/system.sh @@ -365,6 +365,10 @@ function get_rpi_video() { fi fi [[ "$__has_dispmanx" -eq 1 ]] && __platform_flags+=(dispmanx) + # Pi4/5 have Vulkan working under KMS on Debian 12 (bookworm) or newer + if (isPlatform "rpi4" || isPlatform "rpi5") && [[ "$__os_debian_ver" -ge 12 ]]; then + __platform_flags+=(vulkan) + fi else __platform_flags+=(videocore) if ! isPlatform "aarm64"; then