From e062484b469986193cc0c82887c8a748c439076a Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Sat, 14 Dec 2024 10:27:03 -0500 Subject: [PATCH 01/14] chore(l10n): update translations (#3443) --- .../common/assets/web/public/assets/locale/zh.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src_assets/common/assets/web/public/assets/locale/zh.json b/src_assets/common/assets/web/public/assets/locale/zh.json index 36470972..dcc5b2f1 100644 --- a/src_assets/common/assets/web/public/assets/locale/zh.json +++ b/src_assets/common/assets/web/public/assets/locale/zh.json @@ -91,7 +91,7 @@ "address_family_both": "IPv4+IPv6", "address_family_desc": "设置 Sunshine 使用的 IP 地址族", "address_family_ipv4": "仅 IPv4", - "always_send_scancodes": "总是发送扫描码", + "always_send_scancodes": "总是发送键盘扫描码", "always_send_scancodes_desc": "发送扫描码增强了与游戏和应用的兼容性,但可能会导致某些客户端输入不正确的键盘,而这些客户端不使用美国的英文键盘布局。 如果键盘输入在某些应用程序中根本无法工作,请启用。 如果客户端上的密钥在主机上生成错误的输入,请禁用。", "amd_coder": "AMF 编码器 (H264)", "amd_coder_desc": "允许您选择用于优先质量或编码速度的缠绕编码。 H.264。", @@ -180,7 +180,7 @@ "hevc_mode_1": "Sunshine 将不会通告对 HEVC 的支持", "hevc_mode_2": "Sunshine 将通告 HEVC Main 配置支持", "hevc_mode_3": "Sunshine 将通告 HEVC Main 和 Main10 (HDR) 配置支持", - "hevc_mode_desc": "允许客户端请求HEVC 主流或 HEVC Main10 视频流。 HEVC更需要编码,因此在使用软件编码时可能降低性能。", + "hevc_mode_desc": "允许客户端请求 HEVC Main 或 HEVC Main10 视频流。HEVC 的编码对 CPU 的要求较高,因此在使用软件编码时,启用此功能可能会降低性能。", "high_resolution_scrolling": "高分辨率滚动支持", "high_resolution_scrolling_desc": "启用后,Sunshine 将透传来自 Moonlight 客户端的高分辨率滚动事件。对于那些使用高分辨率滚动事件时滚动速度过快的旧版应用程序来说,禁用此功能非常有用。", "install_steam_audio_drivers": "安装 Steam 音频驱动程序", @@ -216,7 +216,7 @@ "min_threads_desc": "提高该值会略微降低编码效率,但为了获得更多的 CPU 内核用于编码,通常是值得的。理想值是在您的硬件配置上以所需的串流设置进行可靠编码的最低值。", "misc": "杂项选项", "motion_as_ds4": "如果客户端报告游戏手柄存在陀螺仪,则模拟一个 DS4 游戏手柄", - "motion_as_ds4_desc": "如果禁用,则在选择游戏手柄类型时不会考虑陀螺仪的存在。", + "motion_as_ds4_desc": "如果禁用,游戏手势传感器将不会在选择游戏键盘类型时被考虑。", "mouse": "启用鼠标输入", "mouse_desc": "允许访客使用鼠标控制主机系统", "native_pen_touch": "原生笔/触摸支持", @@ -342,7 +342,7 @@ "configuration": "配置", "home": "首页", "password": "更改密码", - "pin": "PIN 码", + "pin": "置顶", "theme_auto": "自动操作", "theme_dark": "深色", "theme_light": "浅色", @@ -376,7 +376,7 @@ "third_party_notice": "第三方通知" }, "troubleshooting": { - "force_close": "强制关闭", + "force_close": "强制结束运行", "force_close_desc": "如果 Moonlight 抱怨某个应用正在运行,强制关闭该应用应该可以解决问题。", "force_close_error": "关闭应用时出错", "force_close_success": "应用关闭成功!", From 1e2fc2eb10915462253da1fb4d5ae994de26c8d6 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Tue, 17 Dec 2024 08:53:55 -0500 Subject: [PATCH 02/14] build(deps): fix boost 1.87 compatibility (#3457) --- src/nvhttp.cpp | 4 ++-- src/rtsp.cpp | 14 +++++++------- src/stream.cpp | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/nvhttp.cpp b/src/nvhttp.cpp index ea9248e7..2441aed9 100644 --- a/src/nvhttp.cpp +++ b/src/nvhttp.cpp @@ -46,8 +46,8 @@ namespace nvhttp { class SunshineHTTPS: public SimpleWeb::HTTPS { public: - SunshineHTTPS(boost::asio::io_service &io_service, boost::asio::ssl::context &ctx): - SimpleWeb::HTTPS(io_service, ctx) {} + SunshineHTTPS(boost::asio::io_context &io_context, boost::asio::ssl::context &ctx): + SimpleWeb::HTTPS(io_context, ctx) {} virtual ~SunshineHTTPS() { // Gracefully shutdown the TLS connection diff --git a/src/rtsp.cpp b/src/rtsp.cpp index be739313..0fcd4c9d 100644 --- a/src/rtsp.cpp +++ b/src/rtsp.cpp @@ -92,8 +92,8 @@ namespace rtsp_stream { class socket_t: public std::enable_shared_from_this { public: - socket_t(boost::asio::io_service &ios, std::function &&handle_data_fn): - handle_data_fn { std::move(handle_data_fn) }, sock { ios } {} + socket_t(boost::asio::io_context &io_context, std::function &&handle_data_fn): + handle_data_fn { std::move(handle_data_fn) }, sock { io_context } {} /** * @brief Queue an asynchronous read to begin the next message. @@ -435,7 +435,7 @@ namespace rtsp_stream { return -1; } - next_socket = std::make_shared(ios, [this](tcp::socket &sock, launch_session_t &session, msg_t &&msg) { + next_socket = std::make_shared(io_context, [this](tcp::socket &sock, launch_session_t &session, msg_t &&msg) { handle_msg(sock, session, std::move(msg)); }); @@ -449,7 +449,7 @@ namespace rtsp_stream { template void iterate(std::chrono::duration timeout) { - ios.run_one_for(timeout); + io_context.run_one_for(timeout); } void @@ -494,7 +494,7 @@ namespace rtsp_stream { } // Queue another asynchronous accept for the next incoming connection - next_socket = std::make_shared(ios, [this](tcp::socket &sock, launch_session_t &session, msg_t &&msg) { + next_socket = std::make_shared(io_context, [this](tcp::socket &sock, launch_session_t &session, msg_t &&msg) { handle_msg(sock, session, std::move(msg)); }); acceptor.async_accept(next_socket->sock, [this](const auto &ec) { @@ -618,8 +618,8 @@ namespace rtsp_stream { std::chrono::steady_clock::time_point raised_timeout; - boost::asio::io_service ios; - tcp::acceptor acceptor { ios }; + boost::asio::io_context io_context; + tcp::acceptor acceptor { io_context }; std::shared_ptr next_socket; }; diff --git a/src/stream.cpp b/src/stream.cpp index e6729a21..8fa09bec 100644 --- a/src/stream.cpp +++ b/src/stream.cpp @@ -324,10 +324,10 @@ namespace stream { std::thread audio_thread; std::thread control_thread; - asio::io_service io; + asio::io_context io_context; - udp::socket video_sock { io }; - udp::socket audio_sock { io }; + udp::socket video_sock { io_context }; + udp::socket audio_sock { io_context }; control_server_t control_server; }; @@ -1183,7 +1183,7 @@ namespace stream { auto &message_queue_queue = ctx.message_queue_queue; auto broadcast_shutdown_event = mail::man->event(mail::broadcast_shutdown); - auto &io = ctx.io; + auto &io = ctx.io_context; udp::endpoint peer; @@ -1777,7 +1777,7 @@ namespace stream { audio_packets->stop(); ctx.message_queue_queue->stop(); - ctx.io.stop(); + ctx.io_context.stop(); ctx.video_sock.close(); ctx.audio_sock.close(); From e00c45865b661f67433ca5bcc23b5bc1032bf6f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Dec 2024 10:42:37 -0500 Subject: [PATCH 03/14] build(deps): bump third-party/build-deps from `a558c92` to `b89442e` (#3460) Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `a558c92` to `b89442e`. - [Commits](https://github.com/LizardByte/build-deps/compare/a558c922d083ec543c713ad302f9d9592c68b452...b89442e43ddbddda19daf6a67ad70bbf5de81f1d) --- updated-dependencies: - dependency-name: third-party/build-deps dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third-party/build-deps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third-party/build-deps b/third-party/build-deps index a558c922..b89442e4 160000 --- a/third-party/build-deps +++ b/third-party/build-deps @@ -1 +1 @@ -Subproject commit a558c922d083ec543c713ad302f9d9592c68b452 +Subproject commit b89442e43ddbddda19daf6a67ad70bbf5de81f1d From 43fab08c6acc87ea6efdd275865fdaa412f8706b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 08:56:29 -0500 Subject: [PATCH 04/14] build(deps): bump third-party/libdisplaydevice from `bbcd179` to `2c431bc` (#3461) build(deps): bump third-party/libdisplaydevice Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `bbcd179` to `2c431bc`. - [Release notes](https://github.com/LizardByte/libdisplaydevice/releases) - [Commits](https://github.com/LizardByte/libdisplaydevice/compare/bbcd179c475eeccf1928b1249da2b663efefc949...2c431bce2981ebb4b6c116c7e11372a045596b70) --- updated-dependencies: - dependency-name: third-party/libdisplaydevice dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third-party/libdisplaydevice | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third-party/libdisplaydevice b/third-party/libdisplaydevice index bbcd179c..2c431bce 160000 --- a/third-party/libdisplaydevice +++ b/third-party/libdisplaydevice @@ -1 +1 @@ -Subproject commit bbcd179c475eeccf1928b1249da2b663efefc949 +Subproject commit 2c431bce2981ebb4b6c116c7e11372a045596b70 From 364ef93801f4840262f0baccc7ea2326b14e7284 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 11:11:29 -0500 Subject: [PATCH 05/14] build(deps): bump packaging/linux/flatpak/deps/shared-modules from `0529b12` to `a4889f0` (#3465) build(deps): bump packaging/linux/flatpak/deps/shared-modules Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `0529b12` to `a4889f0`. - [Commits](https://github.com/flathub/shared-modules/compare/0529b121864669aa14fac1c67b5684a4bc6542b8...a4889f0b3091149252023ee49c97653b8e628f94) --- updated-dependencies: - dependency-name: packaging/linux/flatpak/deps/shared-modules dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- packaging/linux/flatpak/deps/shared-modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packaging/linux/flatpak/deps/shared-modules b/packaging/linux/flatpak/deps/shared-modules index 0529b121..a4889f0b 160000 --- a/packaging/linux/flatpak/deps/shared-modules +++ b/packaging/linux/flatpak/deps/shared-modules @@ -1 +1 @@ -Subproject commit 0529b121864669aa14fac1c67b5684a4bc6542b8 +Subproject commit a4889f0b3091149252023ee49c97653b8e628f94 From e47aa9ff37f74f7aa869e538a944ae5dcebcfee3 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Sat, 21 Dec 2024 12:53:14 -0500 Subject: [PATCH 06/14] build(docker): fix docker artifacts (#3472) --- .github/workflows/ci-docker.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-docker.yml b/.github/workflows/ci-docker.yml index fd967709..b561d9bf 100644 --- a/.github/workflows/ci-docker.yml +++ b/.github/workflows/ci-docker.yml @@ -317,10 +317,20 @@ jobs: if: ${{ steps.prepare.outputs.artifacts == 'true' }} working-directory: artifacts run: | + # debug directory + echo "Current directory: $(pwd)" + echo "Directory contents: $(ls -Ra)" + # artifacts will be in sub directories named after the docker target platform, e.g. `linux_amd64` # so move files to the artifacts directory # https://unix.stackexchange.com/a/52816 - find ./ -type f -exec mv -t ./ -n '{}' + + find \ + ./ \ + -maxdepth 2 \ + -mindepth 2 \ + -type f \ + -not -name 'provenance.json' \ + -exec mv -t ./ -n '{}' + # remove provenance file rm -f ./provenance.json From 6cd0cd9e91031902aa02a7783d34957595d58802 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Sat, 21 Dec 2024 13:39:15 -0500 Subject: [PATCH 07/14] build(copr): fix build (#3458) Co-authored-by: Matthew Schwartz --- packaging/linux/fedora/Sunshine.spec | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packaging/linux/fedora/Sunshine.spec b/packaging/linux/fedora/Sunshine.spec index c19ddf78..ca08f480 100644 --- a/packaging/linux/fedora/Sunshine.spec +++ b/packaging/linux/fedora/Sunshine.spec @@ -95,14 +95,12 @@ fedora_version=%{fedora} cuda_supported_architectures=("x86_64" "aarch64") # set cuda_version based on Fedora version -# these are the same right now, but leave this structure to make it easier to set different versions -if [ "$fedora_version" == 39 ]; then - cuda_version="12.6.2" - cuda_build="560.35.03" -else - cuda_version="12.6.2" - cuda_build="560.35.03" -fi +case "$fedora_version" in + *) + cuda_version="12.6.3" + cuda_build="560.35.05" + ;; +esac # prepare CMAKE args cmake_args=( @@ -132,7 +130,7 @@ function install_cuda() { if [ "$fedora_version" -ge 40 ]; then # update environment variables for CUDA, necessary when using cuda-gcc-c++ - export NVCC_PREPEND_FLAGS='-ccbin /usr/bin/cuda' + export NVCC_PREPEND_FLAGS='-ccbin /usr/bin/g++-13' export PATH=/usr/bin/cuda:"%{_builddir}/cuda/bin:${PATH}" export LD_LIBRARY_PATH="%{_builddir}/cuda/lib64:${LD_LIBRARY_PATH}" fi @@ -169,6 +167,8 @@ export CXXFLAGS="" export FFLAGS="" export FCFLAGS="" export LDFLAGS="" +export CC=gcc-13 +export CXX=g++-13 if [ -n "$cuda_version" ] && [[ " ${cuda_supported_architectures[@]} " =~ " ${architecture} " ]]; then install_cuda From 85c3114bf6126cb85d5cc3ba7371a33e956e5a4c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 21 Dec 2024 19:26:16 +0000 Subject: [PATCH 08/14] build(deps): bump vue from 3.5.12 to 3.5.13 (#3407) Bumps [vue](https://github.com/vuejs/core) from 3.5.12 to 3.5.13. - [Release notes](https://github.com/vuejs/core/releases) - [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md) - [Commits](https://github.com/vuejs/core/compare/v3.5.12...v3.5.13) --- updated-dependencies: - dependency-name: vue dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 78d6994c..0775f146 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@lizardbyte/shared-web": "2024.921.191855", - "vue": "3.5.12", + "vue": "3.5.13", "vue-i18n": "9.14.0" }, "devDependencies": { From 129abd8c26f3d42b6a742e78fa6f88895e81ea70 Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Sat, 21 Dec 2024 19:08:51 -0500 Subject: [PATCH 09/14] docs(doxygen): remove INCLUDE_PATH from config (#3475) --- docs/Doxyfile | 1 - src/config.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/Doxyfile b/docs/Doxyfile index 5695a2d6..7c08c4f0 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -32,7 +32,6 @@ PROJECT_NAME = Sunshine # project specific settings DOT_GRAPH_MAX_NODES = 60 IMAGE_PATH = ../docs/images -INCLUDE_PATH = ../third-party/build-deps/dist/Linux-x86_64/include/ PREDEFINED += SUNSHINE_BUILD_WAYLAND PREDEFINED += SUNSHINE_TRAY=1 diff --git a/src/config.cpp b/src/config.cpp index 77531cc0..81d084dc 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -59,7 +59,7 @@ namespace config { } // namespace nv namespace amd { -#ifndef _WIN32 +#if !defined(_WIN32) || defined(DOXYGEN) // values accurate as of 27/12/2022, but aren't strictly necessary for MacOS build #define AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_SPEED 100 #define AMF_VIDEO_ENCODER_AV1_QUALITY_PRESET_QUALITY 30 From 60bfcfe211abfe335d1bb4f6bfd6e5948863250e Mon Sep 17 00:00:00 2001 From: TheElixZammuto Date: Mon, 23 Dec 2024 23:07:38 +0100 Subject: [PATCH 10/14] fix(nvenc): Enable opt-in client refresh by client (#3415) --- src/nvenc/nvenc_base.cpp | 16 ++++++++++++++++ src/rtsp.cpp | 2 ++ src/video.h | 2 ++ 3 files changed, 20 insertions(+) diff --git a/src/nvenc/nvenc_base.cpp b/src/nvenc/nvenc_base.cpp index b69d6f26..6dd72755 100644 --- a/src/nvenc/nvenc_base.cpp +++ b/src/nvenc/nvenc_base.cpp @@ -321,6 +321,22 @@ namespace nvenc { set_ref_frames(format_config.maxNumRefFramesInDPB, format_config.numRefL0, 5); set_minqp_if_enabled(config.min_qp_hevc); fill_h264_hevc_vui(format_config.hevcVUIParameters); + if (client_config.enableIntraRefresh == 1) { + if (get_encoder_cap(NV_ENC_CAPS_SUPPORT_INTRA_REFRESH)) { + format_config.enableIntraRefresh = 1; + format_config.intraRefreshPeriod = 300; + format_config.intraRefreshCnt = 299; + if (get_encoder_cap(NV_ENC_CAPS_SINGLE_SLICE_INTRA_REFRESH)) { + format_config.singleSliceIntraRefresh = 1; + } + else { + BOOST_LOG(warning) << "NvEnc: Single Slice Intra Refresh not supported"; + } + } + else { + BOOST_LOG(error) << "NvEnc: Client asked for intra-refresh but the encoder does not support intra-refresh"; + } + } break; } diff --git a/src/rtsp.cpp b/src/rtsp.cpp index 0fcd4c9d..f6b42f78 100644 --- a/src/rtsp.cpp +++ b/src/rtsp.cpp @@ -976,6 +976,7 @@ namespace rtsp_stream { args.try_emplace("x-ml-video.configuredBitrateKbps"sv, "0"sv); args.try_emplace("x-ss-general.encryptionEnabled"sv, "0"sv); args.try_emplace("x-ss-video[0].chromaSamplingType"sv, "0"sv); + args.try_emplace("x-ss-video[0].intraRefresh"sv, "0"sv); stream::config_t config; @@ -1012,6 +1013,7 @@ namespace rtsp_stream { config.monitor.videoFormat = util::from_view(args.at("x-nv-vqos[0].bitStreamFormat"sv)); config.monitor.dynamicRange = util::from_view(args.at("x-nv-video[0].dynamicRangeMode"sv)); config.monitor.chromaSamplingType = util::from_view(args.at("x-ss-video[0].chromaSamplingType"sv)); + config.monitor.enableIntraRefresh = util::from_view(args.at("x-ss-video[0].intraRefresh"sv)); configuredBitrateKbps = util::from_view(args.at("x-ml-video.configuredBitrateKbps"sv)); } diff --git a/src/video.h b/src/video.h index 1f397648..3e253cc2 100644 --- a/src/video.h +++ b/src/video.h @@ -38,6 +38,8 @@ namespace video { int dynamicRange; int chromaSamplingType; // 0 - 4:2:0, 1 - 4:4:4 + + int enableIntraRefresh; // 0 - disabled, 1 - enabled }; platf::mem_type_e From a4a1bc48cd4ecd8e12c1519126fad448a10bbd37 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 23 Dec 2024 18:03:44 -0500 Subject: [PATCH 11/14] build(deps): bump third-party/build-deps from `b89442e` to `249a313` (#3479) Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `b89442e` to `249a313`. - [Commits](https://github.com/LizardByte/build-deps/compare/b89442e43ddbddda19daf6a67ad70bbf5de81f1d...249a31384468c3b01e06a58a1a39b12a292f2f86) --- updated-dependencies: - dependency-name: third-party/build-deps dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- third-party/build-deps | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third-party/build-deps b/third-party/build-deps index b89442e4..249a3138 160000 --- a/third-party/build-deps +++ b/third-party/build-deps @@ -1 +1 @@ -Subproject commit b89442e43ddbddda19daf6a67ad70bbf5de81f1d +Subproject commit 249a31384468c3b01e06a58a1a39b12a292f2f86 From 2b6a4531746b57cc069c2feeb3b4a5812ce9b1da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Han=C3=A1k?= Date: Fri, 27 Dec 2024 10:45:13 +0900 Subject: [PATCH 12/14] chore(installer/windows): remove parentheses in Virtual Gamepad removal prompt (#3490) --- cmake/packaging/windows.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/packaging/windows.cmake b/cmake/packaging/windows.cmake index f8df493d..7b862ab0 100644 --- a/cmake/packaging/windows.cmake +++ b/cmake/packaging/windows.cmake @@ -81,7 +81,7 @@ set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\uninstall-service.bat\\\"' nsExec::ExecToLog '\\\"$INSTDIR\\\\sunshine.exe\\\" --restore-nvprefs-undo' MessageBox MB_YESNO|MB_ICONQUESTION \ - 'Do you want to remove Virtual Gamepad)?' \ + 'Do you want to remove Virtual Gamepad?' \ /SD IDNO IDNO NoGamepad nsExec::ExecToLog '\\\"$INSTDIR\\\\scripts\\\\uninstall-gamepad.bat\\\"'; skipped if no NoGamepad: From 3e47cd3cc8fd37a7a88be82444ff4f3c0022856b Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Thu, 26 Dec 2024 23:36:19 -0500 Subject: [PATCH 13/14] fix(ui): remove extra slash in logs href (#3493) --- src_assets/common/assets/web/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src_assets/common/assets/web/index.html b/src_assets/common/assets/web/index.html index 5f879094..4a8660af 100644 --- a/src_assets/common/assets/web/index.html +++ b/src_assets/common/assets/web/index.html @@ -19,7 +19,7 @@
  • {{v.value}}
- View Logs + View Logs
From 3b81d0fd1930ecd9c008530584878fbffc4a25e8 Mon Sep 17 00:00:00 2001 From: iMakeSoftware Date: Tue, 31 Dec 2024 07:02:48 +1100 Subject: [PATCH 14/14] fix(shaders/directx): replace modulus with bitwise operator (#3499) --- src_assets/windows/assets/shaders/directx/include/base_vs.hlsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src_assets/windows/assets/shaders/directx/include/base_vs.hlsl b/src_assets/windows/assets/shaders/directx/include/base_vs.hlsl index 8e6f2d92..7fd3e7b3 100644 --- a/src_assets/windows/assets/shaders/directx/include/base_vs.hlsl +++ b/src_assets/windows/assets/shaders/directx/include/base_vs.hlsl @@ -25,7 +25,8 @@ vertex_t generate_fullscreen_triangle_vertex(uint vertex_id, float2 subsample_of float2 rotation_center = { 0.5, 0.5 }; tex_coord = round(rotation_center + mul(rotation_matrix, tex_coord - rotation_center)); - if (rotate_texture_steps % 2) { + // Swap the xy offset coordinates if the texture is rotated an odd number of times. + if (rotate_texture_steps & 1) { subsample_offset.xy = subsample_offset.yx; } }