[packages/chiaki-ng] - up to 1.10.0
baggins
baggins at pld-linux.org
Thu Apr 23 08:53:32 CEST 2026
commit 2291a1a07fb8769076cd7bc8160adf54877fe817
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Thu Apr 23 10:53:14 2026 +0200
- up to 1.10.0
chiaki-ng.spec | 8 +-
git.patch | 957 ---------------------------------------------------------
2 files changed, 3 insertions(+), 962 deletions(-)
---
diff --git a/chiaki-ng.spec b/chiaki-ng.spec
index 46faf85..716f98d 100644
--- a/chiaki-ng.spec
+++ b/chiaki-ng.spec
@@ -4,13 +4,12 @@
#
Summary: PlayStation Remote Play for Everyone
Name: chiaki-ng
-Version: 1.9.9
+Version: 1.10.0
Release: 1
License: AGPL v3
Group: X11/Applications/Networking
Source0: https://github.com/streetpea/chiaki-ng/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 9aa32f13d1fa4e015d74a3f904e230fb
-Patch0: git.patch
+# Source0-md5: ff577d46e0dab16da0a1d94e16ca2e69
URL: https://streetpea.github.io/chiaki-ng/
BuildRequires: Qt6Concurrent-devel
BuildRequires: Qt6Core-devel
@@ -30,7 +29,7 @@ BuildRequires: fftw3-devel
BuildRequires: hidapi-devel
BuildRequires: jerasure-devel
BuildRequires: libevdev-devel
-BuildRequires: libplacebo-devel
+BuildRequires: libplacebo-devel >= 7.349.0
BuildRequires: nanopb-devel
BuildRequires: nanopb-static
BuildRequires: openssl-devel
@@ -52,7 +51,6 @@ Entertainment LLC.
%prep
%setup -q
-%patch -P0 -p1
%build
mkdir -p build
diff --git a/git.patch b/git.patch
deleted file mode 100644
index 4531991..0000000
--- a/git.patch
+++ /dev/null
@@ -1,957 +0,0 @@
-diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
-index 91ad433e..7e777e1f 100755
---- a/gui/CMakeLists.txt
-+++ b/gui/CMakeLists.txt
-@@ -8,6 +8,10 @@ if(APPLE)
- endif()
-
- find_package(Qt6 REQUIRED COMPONENTS Core Gui Concurrent Svg Qml Quick Widgets)
-+if(Qt6_VERSION VERSION_GREATER_EQUAL "6.10.0")
-+ find_package(Qt6 REQUIRED COMPONENTS GuiPrivate)
-+endif()
-+
- find_package(Qt6 COMPONENTS WebEngineQuick)
- find_package(Qt6 COMPONENTS DBus)
-
-@@ -101,10 +105,12 @@ if(CHIAKI_ENABLE_CLI)
- endif()
-
- target_link_libraries(chiaki Qt::Core Qt::Gui Qt::GuiPrivate Qt::Concurrent Qt::Svg Qt::Qml Qt::Quick Qt::Widgets)
--if (${Qt6DBus_FOUND} AND NOT WIN32 AND NOT APPLE)
-+if (${Qt6DBus_FOUND} AND NOT WIN32)
- target_link_libraries(chiaki Qt::DBus)
-+if (NOT APPLE)
- target_compile_definitions(chiaki PRIVATE CHIAKI_HAVE_DBUS)
- endif()
-+endif()
- if (${Qt6WebEngineQuick_FOUND})
- target_link_libraries(chiaki Qt::WebEngineQuick)
- target_compile_definitions(chiaki PRIVATE CHIAKI_HAVE_WEBENGINE)
-@@ -152,4 +158,4 @@ install(TARGETS chiaki
- BUNDLE DESTINATION bin)
- install(FILES chiaking.desktop DESTINATION share/applications)
- install(FILES chiaking.png DESTINATION share/icons/hicolor/512x512/apps)
--install(FILES io.github.streetpea.Chiaki4deck.appdata.xml DESTINATION share/metainfo)
-\ No newline at end of file
-+install(FILES io.github.streetpea.Chiaki4deck.appdata.xml DESTINATION share/metainfo)
-diff --git a/gui/include/qmlsettings.h b/gui/include/qmlsettings.h
-index 2f48017e..606f2f5e 100644
---- a/gui/include/qmlsettings.h
-+++ b/gui/include/qmlsettings.h
-@@ -75,6 +75,7 @@ class QmlSettings : public QObject
- Q_PROPERTY(bool mouseTouchEnabled READ mouseTouchEnabled WRITE setMouseTouchEnabled NOTIFY mouseTouchEnabledChanged)
- Q_PROPERTY(bool keyboardEnabled READ keyboardEnabled WRITE setKeyboardEnabled NOTIFY keyboardEnabledChanged)
- Q_PROPERTY(bool dpadTouchEnabled READ dpadTouchEnabled WRITE setDpadTouchEnabled NOTIFY dpadTouchEnabledChanged)
-+ Q_PROPERTY(bool iDROnFECFailureEnabled READ iDROnFECFailureEnabled WRITE setIDROnFECFailureEnabled NOTIFY iDROnFECFailureEnabledChanged)
- Q_PROPERTY(uint16_t dpadTouchIncrement READ dpadTouchIncrement WRITE setDpadTouchIncrement NOTIFY dpadTouchIncrementChanged)
- Q_PROPERTY(uint dpadTouchShortcut1 READ dpadTouchShortcut1 WRITE setDpadTouchShortcut1 NOTIFY dpadTouchShortcut1Changed)
- Q_PROPERTY(uint dpadTouchShortcut2 READ dpadTouchShortcut2 WRITE setDpadTouchShortcut2 NOTIFY dpadTouchShortcut2Changed)
-@@ -204,6 +205,9 @@ public:
- bool buttonsByPosition() const;
- void setButtonsByPosition(bool buttonsByPosition);
-
-+ bool iDROnFECFailureEnabled() const;
-+ void setIDROnFECFailureEnabled(bool enabled);
-+
- bool allowJoystickBackgroundEvents() const;
- void setAllowJoystickBackgroundEvents(bool allowJoystickBackgroundEvents);
-
-@@ -638,6 +642,7 @@ signals:
- void streamMenuShortcut4Changed();
- void controllerMappingChanged();
- void packetLossMaxChanged();
-+ void iDROnFECFailureEnabledChanged();
- void currentProfileChanged();
- void profilesChanged();
- void placeboUpscalerChanged();
-diff --git a/gui/include/settings.h b/gui/include/settings.h
-index 40afabf3..cfc661be 100644
---- a/gui/include/settings.h
-+++ b/gui/include/settings.h
-@@ -274,6 +274,9 @@ class Settings : public QObject
- bool GetFullscreenDoubleClickEnabled() const { return settings.value("settings/fullscreen_doubleclick", false).toBool(); }
- void SetFullscreenDoubleClickEnabled(bool enabled) { settings.setValue("settings/fullscreen_doubleclick", enabled); }
-
-+ bool GetIDROnFECFailureEnabled() const { return settings.value("settings/idr_on_fec_failure", true).toBool(); }
-+ void SetIDROnFECFailureEnabled(bool enabled) { settings.setValue("settings/idr_on_fec_failure", enabled); }
-+
- float GetHapticOverride() const { return settings.value("settings/haptic_override", 1.0).toFloat(); }
- void SetHapticOverride(float override) { settings.setValue("settings/haptic_override", override); }
-
-diff --git a/gui/include/streamsession.h b/gui/include/streamsession.h
-index d603a1d4..a01ea267 100755
---- a/gui/include/streamsession.h
-+++ b/gui/include/streamsession.h
-@@ -94,6 +94,7 @@ struct StreamSessionConnectInfo
- ChiakiDisableAudioVideo audio_video_disabled;
- RumbleHapticsIntensity rumble_haptics_intensity;
- bool buttons_by_pos;
-+ bool enable_idr_on_fec_failure;
- bool start_mic_unmuted;
- #if CHIAKI_GUI_ENABLE_STEAMDECK_NATIVE
- bool vertical_sdeck;
-diff --git a/gui/src/main.cpp b/gui/src/main.cpp
-index 2c7ff40e..d50d6935 100644
---- a/gui/src/main.cpp
-+++ b/gui/src/main.cpp
-@@ -67,6 +67,9 @@ int real_main(int argc, char *argv[])
- QGuiApplication::setApplicationName("Chiaki");
- QGuiApplication::setApplicationVersion(CHIAKI_VERSION);
- QGuiApplication::setApplicationDisplayName("chiaki-ng");
-+#if defined(Q_OS_MACOS)
-+ qputenv("QT_MTL_NO_TRANSACTION", "1");
-+#endif
- #if defined(Q_OS_LINUX)
- if(qEnvironmentVariableIsSet("FLATPAK_ID"))
- QGuiApplication::setDesktopFileName(qEnvironmentVariable("FLATPAK_ID"));
-diff --git a/gui/src/qml/PSNLoginDialog.qml b/gui/src/qml/PSNLoginDialog.qml
-index 80980063..50a70008 100644
---- a/gui/src/qml/PSNLoginDialog.qml
-+++ b/gui/src/qml/PSNLoginDialog.qml
-@@ -27,6 +27,8 @@ DialogView {
- {
- nativeLoginForm.visible = true;
- nativeLoginForm.forceActiveFocus(Qt.TabFocusReason);
-+ if(Qt.platform.os == "linux" || Qt.platform.os == "osx")
-+ extBrowserButton.clicked();
- }
- else
- {
-diff --git a/gui/src/qml/PSNTokenDialog.qml b/gui/src/qml/PSNTokenDialog.qml
-index 4b4a57fe..fd46d840 100644
---- a/gui/src/qml/PSNTokenDialog.qml
-+++ b/gui/src/qml/PSNTokenDialog.qml
-@@ -39,6 +39,8 @@ DialogView {
- Chiaki.settings.remotePlayAsk = true;
- nativeTokenForm.visible = true;
- nativeTokenForm.forceActiveFocus(Qt.TabFocusReason);
-+ if(Qt.platform.os == "linux" || Qt.platform.os == "osx")
-+ extBrowserButton.clicked();
- }
- function close() {
- if(webView.web)
-diff --git a/gui/src/qml/SettingsDialog.qml b/gui/src/qml/SettingsDialog.qml
-index 1a0f1108..6cc2c3fb 100644
---- a/gui/src/qml/SettingsDialog.qml
-+++ b/gui/src/qml/SettingsDialog.qml
-@@ -1546,10 +1546,27 @@ DialogView {
- text: qsTr("(5%)")
- }
-
-+ Label {
-+ Layout.alignment: Qt.AlignRight
-+ text: qsTr("Request IDR Frame on FEC Failure")
-+ }
-+
-+ C.CheckBox {
-+ lastInFocusChain: true
-+ checked: Chiaki.settings.iDROnFECFailureEnabled
-+ onToggled: Chiaki.settings.iDROnFECFailureEnabled = !Chiaki.settings.iDROnFECFailureEnabled
-+ }
-+
-+ Label {
-+ Layout.alignment: Qt.AlignRight
-+ text: qsTr("(Checked)")
-+ }
-+
- Label {
- Layout.alignment: Qt.AlignRight
- text: qsTr("Show Stream Stats During Gameplay")
- }
-+
- C.CheckBox {
- lastInFocusChain: true
- checked: Chiaki.settings.showStreamStats
-diff --git a/gui/src/qmlbackend.cpp b/gui/src/qmlbackend.cpp
-index 420427c1..e1786d14 100644
---- a/gui/src/qmlbackend.cpp
-+++ b/gui/src/qmlbackend.cpp
-@@ -2123,31 +2123,17 @@ void QmlBackend::createSteamShortcut(QString shortcutName, QString launchOptions
- QString QmlBackend::openPsnLink()
- {
- QUrl url = psnLoginUrl();
-- if(QDesktopServices::openUrl(url) && (qEnvironmentVariable("XDG_CURRENT_DESKTOP") != "gamescope"))
-- {
-- qCWarning(chiakiGui) << "Launched browser.";
-- return QString();
-- }
-- else
-- {
-- qCWarning(chiakiGui) << "Could not launch browser.";
-- return QString(url.toEncoded());
-- }
-+ QDesktopServices::openUrl(url);
-+ url = psnLoginUrl();
-+ return QString(url.toEncoded());
- }
-
- QString QmlBackend::openPlaceboOptionsLink()
- {
- QUrl url = QUrl("https://libplacebo.org/options/");
-- if(QDesktopServices::openUrl(url) && (qEnvironmentVariable("XDG_CURRENT_DESKTOP") != "gamescope"))
-- {
-- qCWarning(chiakiGui) << "Launched browser.";
-- return QString();
-- }
-- else
-- {
-- qCWarning(chiakiGui) << "Could not launch browser.";
-- return QString(url.toEncoded());
-- }
-+ QDesktopServices::openUrl(url);
-+ url = psnLoginUrl();
-+ return QString(url.toEncoded());
- }
-
- bool QmlBackend::checkPsnRedirectURL(const QUrl &url) const
-diff --git a/gui/src/qmlmainwindow.cpp b/gui/src/qmlmainwindow.cpp
-index f00e847b..b7da28e2 100644
---- a/gui/src/qmlmainwindow.cpp
-+++ b/gui/src/qmlmainwindow.cpp
-@@ -96,14 +96,13 @@ QmlMainWindow::QmlMainWindow(const StreamSessionConnectInfo &connect_info)
- init(connect_info.settings);
- backend->createSession(connect_info);
-
-+ if (connect_info.fullscreen || connect_info.zoom || connect_info.stretch)
-+ fullscreenTime();
- if (connect_info.zoom)
- setVideoMode(VideoMode::Zoom);
- else if (connect_info.stretch)
- setVideoMode(VideoMode::Stretch);
-
-- if (connect_info.fullscreen || connect_info.zoom || connect_info.stretch)
-- fullscreenTime();
--
- connect(session, &StreamSession::SessionQuit, qGuiApp, &QGuiApplication::quit);
- }
-
-diff --git a/gui/src/qmlsettings.cpp b/gui/src/qmlsettings.cpp
-index 395261ed..edd90612 100644
---- a/gui/src/qmlsettings.cpp
-+++ b/gui/src/qmlsettings.cpp
-@@ -192,6 +192,17 @@ void QmlSettings::setRumbleHapticsIntensity(int intensity)
- emit rumbleHapticsIntensityChanged();
- }
-
-+bool QmlSettings::iDROnFECFailureEnabled() const
-+{
-+ return settings->GetIDROnFECFailureEnabled();
-+}
-+
-+void QmlSettings::setIDROnFECFailureEnabled(bool enabled)
-+{
-+ settings->SetIDROnFECFailureEnabled(enabled);
-+ emit iDROnFECFailureEnabledChanged();
-+}
-+
- #ifdef CHIAKI_GUI_ENABLE_STEAMDECK_NATIVE
- bool QmlSettings::steamDeckHaptics() const
- {
-diff --git a/gui/src/streamsession.cpp b/gui/src/streamsession.cpp
-index ad1e5b6f..e89d2d9d 100755
---- a/gui/src/streamsession.cpp
-+++ b/gui/src/streamsession.cpp
-@@ -111,6 +111,7 @@ StreamSessionConnectInfo::StreamSessionConnectInfo(
- this->mouse_touch_enabled = settings->GetMouseTouchEnabled();
- this->enable_keyboard = false; // TODO: from settings
- this->enable_dualsense = true;
-+ this->enable_idr_on_fec_failure = settings->GetIDROnFECFailureEnabled();
- this->rumble_haptics_intensity = settings->GetRumbleHapticsIntensity();
- this->buttons_by_pos = settings->GetButtonsByPosition();
- this->start_mic_unmuted = settings->GetStartMicUnmuted();
-@@ -271,6 +272,7 @@ StreamSession::StreamSession(const StreamSessionConnectInfo &connect_info, QObje
- chiaki_connect_info.video_profile = connect_info.video_profile;
- chiaki_connect_info.video_profile_auto_downgrade = true;
- chiaki_connect_info.enable_keyboard = false;
-+ chiaki_connect_info.enable_idr_on_fec_failure = connect_info.enable_idr_on_fec_failure;
- chiaki_connect_info.enable_dualsense = connect_info.enable_dualsense;
- chiaki_connect_info.packet_loss_max = connect_info.packet_loss_max;
- chiaki_connect_info.auto_regist = connect_info.auto_regist;
-@@ -1804,7 +1806,7 @@ void StreamSession::Event(ChiakiEvent *event)
- case CHIAKI_EVENT_QUIT:
- if(!connected && !holepunch_session && chiaki_quit_reason_is_error(event->quit.reason) && connect_timer.elapsed() < SESSION_RETRY_SECONDS * 1000)
- {
-- QTimer::singleShot(1000, this, &StreamSession::Start);
-+ QTimer::singleShot(SESSION_RETRY_SECONDS / 3, this, &StreamSession::Start);
- return;
- }
- connected = false;
-diff --git a/lib/include/chiaki/session.h b/lib/include/chiaki/session.h
-index 02e0b222..fcf4c850 100644
---- a/lib/include/chiaki/session.h
-+++ b/lib/include/chiaki/session.h
-@@ -88,6 +88,7 @@ typedef struct chiaki_connect_info_t
- chiaki_socket_t *rudp_sock;
- uint8_t psn_account_id[CHIAKI_PSN_ACCOUNT_ID_SIZE];
- double packet_loss_max;
-+ bool enable_idr_on_fec_failure;
- } ChiakiConnectInfo;
-
-
-@@ -217,6 +218,7 @@ typedef struct chiaki_session_t
- bool enable_keyboard;
- bool enable_dualsense;
- uint8_t psn_account_id[CHIAKI_PSN_ACCOUNT_ID_SIZE];
-+ bool enable_idr_on_fec_failure;
- } connect_info;
-
- ChiakiTarget target;
-diff --git a/lib/include/chiaki/streamconnection.h b/lib/include/chiaki/streamconnection.h
-index ba3bcefc..56ec7b61 100644
---- a/lib/include/chiaki/streamconnection.h
-+++ b/lib/include/chiaki/streamconnection.h
-@@ -95,6 +95,7 @@ CHIAKI_EXPORT ChiakiErrorCode stream_connection_send_toggle_mute_direct_message(
- CHIAKI_EXPORT ChiakiErrorCode chiaki_stream_connection_stop(ChiakiStreamConnection *stream_connection);
-
- CHIAKI_EXPORT ChiakiErrorCode stream_connection_send_corrupt_frame(ChiakiStreamConnection *stream_connection, ChiakiSeqNum16 start, ChiakiSeqNum16 end);
-+CHIAKI_EXPORT ChiakiErrorCode stream_connection_send_idr_request(ChiakiStreamConnection *stream_connection);
-
- #ifdef __cplusplus
- }
-diff --git a/lib/include/chiaki/videoreceiver.h b/lib/include/chiaki/videoreceiver.h
-index 6eae5b29..f0878add 100644
---- a/lib/include/chiaki/videoreceiver.h
-+++ b/lib/include/chiaki/videoreceiver.h
-@@ -33,6 +33,7 @@ typedef struct chiaki_video_receiver_t
- int32_t frames_lost;
- int32_t reference_frames[16];
- ChiakiBitstream bitstream;
-+ bool waiting_for_idr;
- } ChiakiVideoReceiver;
-
- CHIAKI_EXPORT void chiaki_video_receiver_init(ChiakiVideoReceiver *video_receiver, struct chiaki_session_t *session, ChiakiPacketStats *packet_stats);
-diff --git a/lib/src/ctrl.c b/lib/src/ctrl.c
-index 2bfeb91b..400c1c4a 100644
---- a/lib/src/ctrl.c
-+++ b/lib/src/ctrl.c
-@@ -1282,6 +1282,23 @@ static ChiakiErrorCode ctrl_connect(ChiakiCtrl *ctrl)
- err = chiaki_send_recv_http_header_psn(session->rudp, session->log, &remote_counter, send_buf, request_len, buf, sizeof(buf), &header_size, &received_size);
- else
- err = chiaki_recv_http_header(ctrl->sock, buf, sizeof(buf), &header_size, &received_size, &ctrl->notif_pipe, CTRL_EXPECT_TIMEOUT);
-+ if (err == CHIAKI_ERR_TIMEOUT)
-+ {
-+ CHIAKI_LOGI(session->log, "Initial ctrl startup request timed out, resending ...");
-+ memset(buf, 0, sizeof(buf));
-+ if(session->rudp)
-+ err = chiaki_send_recv_http_header_psn(session->rudp, session->log, &remote_counter, send_buf, request_len, buf, sizeof(buf), &header_size, &received_size);
-+ else
-+ {
-+ int sent = send(ctrl->sock, (CHIAKI_SOCKET_BUF_TYPE)send_buf, (size_t)request_len, 0);
-+ if(sent < 0)
-+ {
-+ CHIAKI_LOGE(session->log, "Failed to send ctrl request");
-+ goto error;
-+ }
-+ err = chiaki_recv_http_header(ctrl->sock, buf, sizeof(buf), &header_size, &received_size, &ctrl->notif_pipe, CTRL_EXPECT_TIMEOUT);
-+ }
-+ }
- if(err != CHIAKI_ERR_SUCCESS)
- {
- if(err != CHIAKI_ERR_CANCELED)
-diff --git a/lib/src/remote/holepunch.c b/lib/src/remote/holepunch.c
-index 84dc8a01..e5d8d7bf 100644
---- a/lib/src/remote/holepunch.c
-+++ b/lib/src/remote/holepunch.c
-@@ -2059,10 +2059,15 @@ static void* websocket_thread_func(void *user) {
- size_t rlen;
- size_t wlen;
- bool expecting_pong = false;
-- chiaki_mutex_lock(&session->stop_mutex);
-- while (!session->ws_thread_should_stop)
-+ while (true)
- {
-+ chiaki_mutex_lock(&session->stop_mutex);
-+ bool should_stop = session->ws_thread_should_stop;
- chiaki_mutex_unlock(&session->stop_mutex);
-+
-+ if (should_stop)
-+ break;
-+
- now = chiaki_time_now_monotonic_us();
-
- if (expecting_pong && now - last_ping_sent > 5LL * SECOND_US)
-@@ -2201,11 +2206,9 @@ static void* websocket_thread_func(void *user) {
- goto cleanup_json;
- }
- }
-- chiaki_mutex_lock(&session->stop_mutex);
- }
-
- cleanup_json:
-- chiaki_mutex_unlock(&session->stop_mutex);
- json_tokener_free(tok);
- free(buf);
- cleanup:
-@@ -2324,6 +2327,8 @@ CHIAKI_EXPORT ChiakiErrorCode holepunch_session_create_offer(Session *session)
- }
-
- uint16_t local_port = ntohs(client_addr.sin_port);
-+#ifndef __SWITCH__
-+ // Switch doesn't support IPv6 - skip IPv6 socket creation
- session->ipv6_sock = socket(AF_INET6, SOCK_DGRAM, IPPROTO_UDP);
- if (CHIAKI_SOCKET_IS_INVALID(session->ipv6_sock))
- {
-@@ -2363,6 +2368,7 @@ CHIAKI_EXPORT ChiakiErrorCode holepunch_session_create_offer(Session *session)
- err = CHIAKI_ERR_UNKNOWN;
- goto cleanup_socket;
- }
-+#endif // __SWITCH__
-
- size_t our_offer_msg_req_id = session->local_req_id;
- session->local_req_id++;
-@@ -3619,11 +3625,6 @@ static ChiakiErrorCode check_candidates(
- memcpy(candidates, candidates_received, num_candidates * sizeof(Candidate));
- int responses_received[num_candidates + EXTRA_CANDIDATE_ADDRESSES];
- fd_set fds;
-- FD_ZERO(&fds);
-- if(!CHIAKI_SOCKET_IS_INVALID(session->ipv4_sock))
-- FD_SET(session->ipv4_sock, &fds);
-- if(!CHIAKI_SOCKET_IS_INVALID(session->ipv6_sock))
-- FD_SET(session->ipv6_sock, &fds);
- bool failed = true;
- char service_remote[6];
- struct addrinfo hints;
-@@ -3788,35 +3789,51 @@ static ChiakiErrorCode check_candidates(
- // Wait for responses
- uint8_t response_buf[88];
-
-- chiaki_socket_t maxfd = -1;
-- if(!CHIAKI_SOCKET_IS_INVALID(session->ipv4_sock))
-- maxfd = session->ipv4_sock;
-- if(session->ipv6_sock > maxfd)
-- maxfd = session->ipv6_sock;
-- if(session->stun_random_allocation)
-- {
-- for(int i=0; i<RANDOM_ALLOCATION_SOCKS_NUMBER; i++)
-- {
-- if(socks[i] > maxfd)
-- maxfd = socks[i];
-- FD_SET(socks[i], &fds);
-- }
-- }
-- maxfd = maxfd + 1;
--
-- struct timeval tv;
-- tv.tv_sec = 0;
-- tv.tv_usec = SELECT_CANDIDATE_TIMEOUT_SEC * SECOND_US;
--
- chiaki_socket_t selected_sock = CHIAKI_INVALID_SOCKET;
- Candidate *selected_candidate = NULL;
- bool received_response = false;
- bool responded = false;
- bool connecting = false;
- int retry_counter = 0;
-+ chiaki_socket_t maxfd = -1;
-+ struct timeval tv;
-
- while (!selected_candidate)
- {
-+ // Reset fd_set before each select() call
-+ FD_ZERO(&fds);
-+ maxfd = -1;
-+ if(!CHIAKI_SOCKET_IS_INVALID(session->ipv4_sock))
-+ {
-+ FD_SET(session->ipv4_sock, &fds);
-+ maxfd = session->ipv4_sock;
-+ }
-+ if(!CHIAKI_SOCKET_IS_INVALID(session->ipv6_sock))
-+ {
-+ FD_SET(session->ipv6_sock, &fds);
-+ if(session->ipv6_sock > maxfd)
-+ maxfd = session->ipv6_sock;
-+ }
-+ if(session->stun_random_allocation)
-+ {
-+ for(int i=0; i<RANDOM_ALLOCATION_SOCKS_NUMBER; i++)
-+ {
-+ if(socks[i] > maxfd)
-+ maxfd = socks[i];
-+ FD_SET(socks[i], &fds);
-+ }
-+ }
-+ maxfd = maxfd + 1;
-+ if(connecting)
-+ {
-+ tv.tv_sec = SELECT_CANDIDATE_CONNECTION_SEC;
-+ tv.tv_usec = 0;
-+ }
-+ else
-+ {
-+ tv.tv_usec = SELECT_CANDIDATE_TIMEOUT_SEC * SECOND_US;
-+ tv.tv_sec = 0;
-+ }
- int ret = select(maxfd, &fds, NULL, NULL, &tv);
- #ifdef _WIN32
- if (ret < 0 && WSAGetLastError() != WSAEINTR)
-@@ -3834,13 +3851,6 @@ static ChiakiErrorCode check_candidates(
- if(retry_counter < SELECT_CANDIDATE_TRIES && !received_response)
- {
- retry_counter++;
-- tv.tv_sec = 0;
-- tv.tv_usec = SELECT_CANDIDATE_TIMEOUT_SEC * SECOND_US;
-- FD_ZERO(&fds);
-- if(!CHIAKI_SOCKET_IS_INVALID(session->ipv4_sock))
-- FD_SET(session->ipv4_sock, &fds);
-- if(!CHIAKI_SOCKET_IS_INVALID(session->ipv6_sock))
-- FD_SET(session->ipv6_sock, &fds);
- Candidate *candidate = NULL;
- chiaki_socket_t sock = CHIAKI_INVALID_SOCKET;
- CHIAKI_LOGI(session->log, "check_candidates: Resending requests to all candidates TRY %d... waiting for 1st response", retry_counter);
-@@ -3863,22 +3873,12 @@ static ChiakiErrorCode check_candidates(
- CHIAKI_LOGE(session->log, "check_candidates: Sending request failed for %s:%d with error: " CHIAKI_SOCKET_ERROR_FMT, candidate->addr, candidate->port, CHIAKI_SOCKET_ERROR_VALUE);
- continue;
- }
-- if(session->stun_random_allocation && (candidate->type == CANDIDATE_TYPE_STATIC || candidate->type == CANDIDATE_TYPE_STUN))
-- {
-- for(int j=0; j<RANDOM_ALLOCATION_SOCKS_NUMBER; j++)
-- {
-- if(!CHIAKI_SOCKET_IS_INVALID(socks[j]))
-- FD_SET(socks[j], &fds);
-- }
-- }
- }
- continue;
- }
- else if(received_response && !connecting)
- {
- connecting = true;
-- tv.tv_sec = SELECT_CANDIDATE_CONNECTION_SEC;
-- tv.tv_usec = 0;
- continue;
- }
- // No responsive candidate within timeout, terminate with error
-@@ -4758,9 +4758,11 @@ static ChiakiErrorCode wait_for_session_message_ack(
- CHIAKI_LOGE(session->log, "wait_for_session_message_ack: Got ACK for unexpected request ID %d", msg->req_id);
- session_message_free(msg);
- msg = NULL;
-+ chiaki_mutex_unlock(&session->stop_mutex);
- continue;
- }
- finished = true;
-+ chiaki_mutex_unlock(&session->stop_mutex);
- chiaki_mutex_lock(&session->notif_mutex);
- session_message_free(msg);
- chiaki_mutex_unlock(&session->notif_mutex);
-diff --git a/lib/src/session.c b/lib/src/session.c
-index 42a86002..ac8eb6a0 100644
---- a/lib/src/session.c
-+++ b/lib/src/session.c
-@@ -263,6 +263,7 @@ CHIAKI_EXPORT ChiakiErrorCode chiaki_session_init(ChiakiSession *session, Chiaki
- session->connect_info.video_profile_auto_downgrade = connect_info->video_profile_auto_downgrade;
- session->connect_info.enable_keyboard = connect_info->enable_keyboard;
- session->connect_info.enable_dualsense = connect_info->enable_dualsense;
-+ session->connect_info.enable_idr_on_fec_failure = connect_info->enable_idr_on_fec_failure;
-
- return CHIAKI_ERR_SUCCESS;
-
-diff --git a/lib/src/streamconnection.c b/lib/src/streamconnection.c
-index 50c9aa15..3853b0fc 100644
---- a/lib/src/streamconnection.c
-+++ b/lib/src/streamconnection.c
-@@ -1279,4 +1279,23 @@ CHIAKI_EXPORT ChiakiErrorCode stream_connection_send_corrupt_frame(ChiakiStreamC
-
- CHIAKI_LOGD(stream_connection->log, "StreamConnection reporting corrupt frame(s) from %u to %u", (unsigned int)start, (unsigned int)end);
- return chiaki_takion_send_message_data(&stream_connection->takion, 1, 2, buf, stream.bytes_written, NULL);
-+}
-+
-+CHIAKI_EXPORT ChiakiErrorCode stream_connection_send_idr_request(ChiakiStreamConnection *stream_connection)
-+{
-+ tkproto_TakionMessage msg = { 0 };
-+ msg.type = tkproto_TakionMessage_PayloadType_IDRREQUEST;
-+
-+ uint8_t buf[0x10];
-+
-+ pb_ostream_t stream = pb_ostream_from_buffer(buf, sizeof(buf));
-+ bool pbr = pb_encode(&stream, tkproto_TakionMessage_fields, &msg);
-+ if(!pbr)
-+ {
-+ CHIAKI_LOGE(stream_connection->log, "StreamConnection IDR request protobuf encoding failed");
-+ return CHIAKI_ERR_UNKNOWN;
-+ }
-+
-+ CHIAKI_LOGI(stream_connection->log, "StreamConnection requesting IDR frame");
-+ return chiaki_takion_send_message_data(&stream_connection->takion, 1, 2, buf, stream.bytes_written, NULL);
- }
-\ No newline at end of file
-diff --git a/lib/src/videoreceiver.c b/lib/src/videoreceiver.c
-index fd1b754a..a09ce49f 100644
---- a/lib/src/videoreceiver.c
-+++ b/lib/src/videoreceiver.c
-@@ -51,6 +51,7 @@ CHIAKI_EXPORT void chiaki_video_receiver_init(ChiakiVideoReceiver *video_receive
- video_receiver->frames_lost = 0;
- memset(video_receiver->reference_frames, -1, sizeof(video_receiver->reference_frames));
- chiaki_bitstream_init(&video_receiver->bitstream, video_receiver->log, video_receiver->session->connect_info.video_profile.codec);
-+ video_receiver->waiting_for_idr = false;
- }
-
- CHIAKI_EXPORT void chiaki_video_receiver_fini(ChiakiVideoReceiver *video_receiver)
-@@ -170,6 +171,12 @@ static ChiakiErrorCode chiaki_video_receiver_flush_frame(ChiakiVideoReceiver *vi
- {
- ChiakiSeqNum16 next_frame_expected = (ChiakiSeqNum16)(video_receiver->frame_index_prev_complete + 1);
- stream_connection_send_corrupt_frame(&video_receiver->session->stream_connection, next_frame_expected, video_receiver->frame_index_cur);
-+ if(video_receiver->session->connect_info.enable_idr_on_fec_failure)
-+ {
-+ stream_connection_send_idr_request(&video_receiver->session->stream_connection);
-+ video_receiver->waiting_for_idr = true;
-+ CHIAKI_LOGI(video_receiver->log, "FEC failed, waiting for IDR frame");
-+ }
- video_receiver->frames_lost += video_receiver->frame_index_cur - next_frame_expected + 1;
- video_receiver->frame_index_prev = video_receiver->frame_index_cur;
- }
-@@ -183,6 +190,21 @@ static ChiakiErrorCode chiaki_video_receiver_flush_frame(ChiakiVideoReceiver *vi
- ChiakiBitstreamSlice slice;
- if(chiaki_bitstream_slice(&video_receiver->bitstream, frame, frame_size, &slice))
- {
-+ if(video_receiver->waiting_for_idr)
-+ {
-+ if(slice.slice_type == CHIAKI_BITSTREAM_SLICE_I)
-+ {
-+ video_receiver->waiting_for_idr = false;
-+ CHIAKI_LOGI(video_receiver->log, "Received IDR frame, resuming decode");
-+ }
-+ else
-+ {
-+ CHIAKI_LOGV(video_receiver->log, "Skipping P-frame %d while waiting for IDR", (int)video_receiver->frame_index_cur);
-+ video_receiver->frame_index_prev = video_receiver->frame_index_cur;
-+ return CHIAKI_ERR_SUCCESS;
-+ }
-+ }
-+
- if(slice.slice_type == CHIAKI_BITSTREAM_SLICE_P)
- {
- ChiakiSeqNum16 ref_frame_index = video_receiver->frame_index_cur - slice.reference_frame - 1;
-diff --git a/scripts/build-libplacebo-windows-arm.sh b/scripts/build-libplacebo-windows-arm.sh
-index 51f9802f..5832c6fa 100755
---- a/scripts/build-libplacebo-windows-arm.sh
-+++ b/scripts/build-libplacebo-windows-arm.sh
-@@ -6,7 +6,7 @@ cd "./$1"
- shift
- ROOT="`pwd`"
-
--TAG=1f1ba06aa2a83a2c75ade4150b7c0bba10531088
-+TAG=1dcaea8b601aa969ffd5bfa70088957ce3eaa273
- if [ ! -d "libplacebo" ]; then
- git clone --recursive https://github.com/haasn/libplacebo.git || exit 1
- fi
-diff --git a/scripts/build-libplacebo-windows.sh b/scripts/build-libplacebo-windows.sh
-index edbf6a26..465cbf1c 100755
---- a/scripts/build-libplacebo-windows.sh
-+++ b/scripts/build-libplacebo-windows.sh
-@@ -6,7 +6,7 @@ cd "./$1"
- shift
- ROOT="`pwd`"
-
--TAG=1f1ba06aa2a83a2c75ade4150b7c0bba10531088
-+TAG=1dcaea8b601aa969ffd5bfa70088957ce3eaa273
- if [ ! -d "libplacebo" ]; then
- git clone --recursive https://github.com/haasn/libplacebo.git || exit 1
- fi
-diff --git a/scripts/build-libplacebo.sh b/scripts/build-libplacebo.sh
-index 91209f8a..9cd05fb7 100755
---- a/scripts/build-libplacebo.sh
-+++ b/scripts/build-libplacebo.sh
-@@ -6,14 +6,12 @@ cd "./$1"
- shift
- ROOT="`pwd`"
-
--TAG=1f1ba06aa2a83a2c75ade4150b7c0bba10531088
-+TAG=1dcaea8b601aa969ffd5bfa70088957ce3eaa273
- if [ ! -d "libplacebo" ]; then
- git clone --recursive https://github.com/haasn/libplacebo.git || exit 1
- fi
- cd libplacebo || exit 1
- git checkout $TAG || exit 1
--git apply "${SCRIPT_DIR}/flatpak/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch" || exit 1
--git apply "${SCRIPT_DIR}/flatpak/0002-Vulkan-use-16bit-for-p010.patch" | exit 1
- DIR=./build || exit 1
- meson setup --prefix /usr -Dxxhash=disabled $DIR || exit 1
- ninja -C$DIR || exit 1
-diff --git a/scripts/chiaki-ng.iss b/scripts/chiaki-ng.iss
-index 3bf37ede..7cdecc00 100644
---- a/scripts/chiaki-ng.iss
-+++ b/scripts/chiaki-ng.iss
-@@ -60,7 +60,6 @@ Name: "french"; MessagesFile: "compiler:Languages\French.isl"
- Name: "german"; MessagesFile: "compiler:Languages\German.isl"
- Name: "hebrew"; MessagesFile: "compiler:Languages\Hebrew.isl"
- Name: "hungarian"; MessagesFile: "compiler:Languages\Hungarian.isl"
--Name: "icelandic"; MessagesFile: "compiler:Languages\Icelandic.isl"
- Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
- Name: "japanese"; MessagesFile: "compiler:Languages\Japanese.isl"
- Name: "korean"; MessagesFile: "compiler:Languages\Korean.isl"
-diff --git a/scripts/flatpak/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch b/scripts/flatpak/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch
-deleted file mode 100644
-index 4537f7b9..00000000
---- a/scripts/flatpak/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch
-+++ /dev/null
-@@ -1,28 +0,0 @@
--diff --git a/src/vulkan/swapchain.c b/src/vulkan/swapchain.c
--index 0646e57c..226938b5 100644
----- a/src/vulkan/swapchain.c
--+++ b/src/vulkan/swapchain.c
--@@ -612,13 +612,21 @@ static bool vk_sw_recreate(pl_swapchain sw, int w, int h)
-- }
-- #endif
--
--+ {
--+ pl_gpu_flush(gpu);
--+ vk_wait_idle(vk);
--+ for (int i = 0; i < vk->pool_graphics->num_queues; i++)
--+ vk->QueueWaitIdle(vk->pool_graphics->queues[i]);
--+ vk->DestroySwapchainKHR(vk->dev, p->swapchain, PL_VK_ALLOC);
--+ }
--+
-- // Calling `vkCreateSwapchainKHR` puts sinfo.oldSwapchain into a retired
-- // state whether the call succeeds or not, so we always need to garbage
-- // collect it afterwards - asynchronously as it may still be in use
--- sinfo.oldSwapchain = p->swapchain;
--+ /* sinfo.oldSwapchain = p->swapchain; */
-- p->swapchain = VK_NULL_HANDLE;
-- VkResult res = vk->CreateSwapchainKHR(vk->dev, &sinfo, PL_VK_ALLOC, &p->swapchain);
--- vk_dev_callback(vk, VK_CB_FUNC(destroy_swapchain), vk, vk_wrap_handle(sinfo.oldSwapchain));
--+ /* vk_dev_callback(vk, (vk_cb) destroy_swapchain, vk, vk_wrap_handle(sinfo.oldSwapchain)); */
-- PL_VK_ASSERT(res, "vk->CreateSwapchainKHR(...)");
--
-- // Get the new swapchain images
-diff --git a/scripts/flatpak/0002-Vulkan-use-16bit-for-p010.patch b/scripts/flatpak/0002-Vulkan-use-16bit-for-p010.patch
-deleted file mode 100644
-index 1add78e6..00000000
---- a/scripts/flatpak/0002-Vulkan-use-16bit-for-p010.patch
-+++ /dev/null
-@@ -1,48 +0,0 @@
--diff --git a/src/vulkan/formats.c b/src/vulkan/formats.c
--index f0eb0fb7..7d1c6478 100644
----- a/src/vulkan/formats.c
--+++ b/src/vulkan/formats.c
--@@ -415,7 +415,12 @@ void vk_setup_formats(struct pl_gpu_t *gpu)
-- .pNext = has_drm_mods ? &drm_props : NULL,
-- };
--
--- vk->GetPhysicalDeviceFormatProperties2KHR(vk->physd, vk_fmt->tfmt, &prop2);
--+ VkFormat tfmt = vk_fmt->tfmt;
--+ if (tfmt == VK_FORMAT_R10X6_UNORM_PACK16)
--+ tfmt = VK_FORMAT_R16_UNORM;
--+ else if (tfmt == VK_FORMAT_R10X6G10X6_UNORM_2PACK16)
--+ tfmt = VK_FORMAT_R16G16_UNORM;
--+ vk->GetPhysicalDeviceFormatProperties2KHR(vk->physd, tfmt, &prop2);
--
-- // If wholly unsupported, try falling back to the emulation formats
-- // for texture operations
--diff --git a/src/vulkan/gpu_tex.c b/src/vulkan/gpu_tex.c
--index a419ffdc..ec32c546 100644
----- a/src/vulkan/gpu_tex.c
--+++ b/src/vulkan/gpu_tex.c
--@@ -371,6 +371,11 @@ pl_tex vk_tex_create(pl_gpu gpu, const struct pl_tex_params *params)
-- .pQueueFamilyIndices = qfs,
-- };
--
--+ if (tex_vk->img_fmt == VK_FORMAT_R10X6_UNORM_PACK16)
--+ iinfo.format = VK_FORMAT_R16_UNORM;
--+ else if (tex_vk->img_fmt == VK_FORMAT_R10X6G10X6_UNORM_2PACK16)
--+ iinfo.format = VK_FORMAT_R16G16_UNORM;
--+
-- struct vk_malloc_params mparams = {
-- .optimal = VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT,
-- .export_handle = params->export_handle,
--@@ -1215,7 +1220,12 @@ pl_tex pl_vulkan_wrap(pl_gpu gpu, const struct pl_vulkan_wrap_params *params)
-- tex_vk->external_img = true;
-- tex_vk->held = !fmt->num_planes;
-- tex_vk->img = params->image;
--- tex_vk->img_fmt = params->format;
--+ if (params->format == VK_FORMAT_R10X6_UNORM_PACK16)
--+ tex_vk->img_fmt = VK_FORMAT_R16_UNORM;
--+ else if (params->format == VK_FORMAT_R10X6G10X6_UNORM_2PACK16)
--+ tex_vk->img_fmt = VK_FORMAT_R16G16_UNORM;
--+ else
--+ tex_vk->img_fmt = params->format;
-- tex_vk->num_planes = fmt->num_planes;
-- tex_vk->usage_flags = usage;
-- tex_vk->aspect = params->aspect;
-diff --git a/scripts/flatpak/chiaki4deck-devel.yaml b/scripts/flatpak/chiaki4deck-devel.yaml
-index 50609966..c7081d52 100644
---- a/scripts/flatpak/chiaki4deck-devel.yaml
-+++ b/scripts/flatpak/chiaki4deck-devel.yaml
-@@ -54,9 +54,7 @@ modules:
- sources:
- - type: git
- url: https://github.com/haasn/libplacebo
-- tag: 1f1ba06aa2a83a2c75ade4150b7c0bba10531088
-- - type: patch
-- path: 0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch
-+ tag: 1dcaea8b601aa969ffd5bfa70088957ce3eaa273
-
- - name: ffmpeg
- cleanup:
-@@ -86,7 +84,7 @@ modules:
- - name: python3-google
- buildsystem: simple
- build-commands:
-- - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} google"
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation google"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/3e/db/5ba900920642414333bdc3cb397075381d63eafc7e75c2373bbc560a9fa1/soupsieve-2.0.1.tar.gz
-@@ -101,7 +99,7 @@ modules:
- - name: python3-protobuf
- buildsystem: simple
- build-commands:
-- - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} protobuf"
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation protobuf"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/ba/dd/f8a01b146bf45ac12a829bbc599e6590aa6a6849ace7d28c42d77041d6ab/protobuf-4.21.12.tar.gz
-@@ -110,7 +108,7 @@ modules:
- - name: python3-requests
- buildsystem: simple
- build-commands:
-- - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} requests"
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation requests"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/ea/b7/e0e3c1c467636186c39925827be42f16fee389dc404ac29e930e9136be70/idna-2.10.tar.gz
-diff --git a/scripts/flatpak/chiaki4deck.yaml b/scripts/flatpak/chiaki4deck.yaml
-index bf794181..adfe2b25 100644
---- a/scripts/flatpak/chiaki4deck.yaml
-+++ b/scripts/flatpak/chiaki4deck.yaml
-@@ -57,9 +57,7 @@ modules:
- sources:
- - type: git
- url: https://github.com/haasn/libplacebo
-- tag: 1f1ba06aa2a83a2c75ade4150b7c0bba10531088
-- - type: patch
-- path: 0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch
-+ tag: 1dcaea8b601aa969ffd5bfa70088957ce3eaa273
-
- - name: ffmpeg
- cleanup:
-@@ -90,7 +88,7 @@ modules:
- - name: python3-google
- buildsystem: simple
- build-commands:
-- - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} google"
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation google"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/3e/db/5ba900920642414333bdc3cb397075381d63eafc7e75c2373bbc560a9fa1/soupsieve-2.0.1.tar.gz
-@@ -105,7 +103,7 @@ modules:
- - name: python3-protobuf
- buildsystem: simple
- build-commands:
-- - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} protobuf"
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation protobuf"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/ba/dd/f8a01b146bf45ac12a829bbc599e6590aa6a6849ace7d28c42d77041d6ab/protobuf-4.21.12.tar.gz
-@@ -114,7 +112,7 @@ modules:
- - name: python3-requests
- buildsystem: simple
- build-commands:
-- - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} requests"
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation requests"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/ea/b7/e0e3c1c467636186c39925827be42f16fee389dc404ac29e930e9136be70/idna-2.10.tar.gz
-diff --git a/scripts/flatpak/io.github.streetpea.Chiaki4deck.yaml b/scripts/flatpak/io.github.streetpea.Chiaki4deck.yaml
-index 3afd1123..571d9b3e 100644
---- a/scripts/flatpak/io.github.streetpea.Chiaki4deck.yaml
-+++ b/scripts/flatpak/io.github.streetpea.Chiaki4deck.yaml
-@@ -58,9 +58,7 @@ modules:
- sources:
- - type: git
- url: https://github.com/haasn/libplacebo
-- tag: 1f1ba06aa2a83a2c75ade4150b7c0bba10531088
-- - type: patch
-- path: 0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch
-+ tag: 1dcaea8b601aa969ffd5bfa70088957ce3eaa273
-
- - name: ffmpeg
- cleanup:
-@@ -91,8 +89,7 @@ modules:
- - name: python3-google
- buildsystem: simple
- build-commands:
-- - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST}
-- google
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation google"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/3e/db/5ba900920642414333bdc3cb397075381d63eafc7e75c2373bbc560a9fa1/soupsieve-2.0.1.tar.gz
-@@ -107,8 +104,7 @@ modules:
- - name: python3-protobuf
- buildsystem: simple
- build-commands:
-- - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST}
-- protobuf
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation protobuf"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/ba/dd/f8a01b146bf45ac12a829bbc599e6590aa6a6849ace7d28c42d77041d6ab/protobuf-4.21.12.tar.gz
-@@ -117,8 +113,7 @@ modules:
- - name: python3-requests
- buildsystem: simple
- build-commands:
-- - pip3 install --no-index --find-links="file://${PWD}" --prefix=${FLATPAK_DEST}
-- requests
-+ - "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} --no-build-isolation requests"
- sources:
- - type: file
- url: https://files.pythonhosted.org/packages/ea/b7/e0e3c1c467636186c39925827be42f16fee389dc404ac29e930e9136be70/idna-2.10.tar.gz
-diff --git a/scripts/switch/push-docker-build-chiaki.sh b/scripts/switch/push-docker-build-chiaki.sh
-index a4218d4c..3347808d 100755
---- a/scripts/switch/push-docker-build-chiaki.sh
-+++ b/scripts/switch/push-docker-build-chiaki.sh
-@@ -17,6 +17,6 @@ docker run \
- -w "/build/chiaki" \
- -ti -p 28771:28771 \
- --entrypoint /opt/devkitpro/tools/bin/nxlink \
-- docker.io/xlanor/chiaki-ng-switch-builder:latest \
-+ ghcr.io/streetpea/chiaki-build-switch:latest \
- "$@" -s /build/chiaki/build_switch/switch/chiaki-ng.nro
-
-diff --git a/scripts/switch/run-docker-build-chiaki.bat b/scripts/switch/run-docker-build-chiaki.bat
-index 5cbc7ea6..8f5f668a 100644
---- a/scripts/switch/run-docker-build-chiaki.bat
-+++ b/scripts/switch/run-docker-build-chiaki.bat
-@@ -2,7 +2,7 @@ set my_dir=%cd%
- docker run --rm ^
- -v "%my_dir%:/build/chiaki":z ^
- -w "/build/chiaki" ^
-- docker.io/xlanor/chiaki-ng-switch-builder:latest ^
-+ ghcr.io/streetpea/chiaki-build-switch:latest ^
- /bin/bash -c "scripts/switch/build.sh"
-
- if %ErrorLevel% equ 0 (copy build_switch\switch\chiaki.nro build_switch\switch\chiaki-ng.nro)
-diff --git a/scripts/switch/run-docker-build-chiaki.sh b/scripts/switch/run-docker-build-chiaki.sh
-index b2d48b3b..0bb1cc8a 100755
---- a/scripts/switch/run-docker-build-chiaki.sh
-+++ b/scripts/switch/run-docker-build-chiaki.sh
-@@ -5,7 +5,7 @@ cd "`dirname $(readlink -f ${0})`/../.."
- docker run --rm \
- -v "`pwd`:/build/chiaki":z \
- -w "/build/chiaki" \
-- docker.io/xlanor/chiaki-ng-switch-builder:latest \
-+ ghcr.io/streetpea/chiaki-build-switch:latest \
- /bin/bash -c "scripts/switch/build.sh"
-
- if [[ $? -eq 0 ]]; then
-diff --git a/vcpkg.json b/vcpkg.json
-index 3a5b40a9..b1539cb0 100644
---- a/vcpkg.json
-+++ b/vcpkg.json
-@@ -1,16 +1,14 @@
- {
- "name": "chiaki-ng",
-- "version": "1.9.8",
-+ "version": "1.9.9",
- "dependencies": [
- "pkgconf",
- "sdl2",
- "protobuf",
- "openssl",
-- "hidapi",
- "json-c",
- "miniupnpc",
- "opus",
-- "fftw3",
- "lcms",
- "speexdsp",
- "vulkan"
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/chiaki-ng.git/commitdiff/2291a1a07fb8769076cd7bc8160adf54877fe817
More information about the pld-cvs-commit
mailing list