From 53351fe9a22976b694ad016d16a287e7411111de Mon Sep 17 00:00:00 2001 From: uncor3 Date: Sun, 19 Apr 2026 18:54:14 +0000 Subject: [PATCH] add AIRPLAY.md --- AIRPLAY.md | 33 +++++++++++++++++++++++++++++++++ src/settingswidget.cpp | 2 +- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 AIRPLAY.md diff --git a/AIRPLAY.md b/AIRPLAY.md new file mode 100644 index 0000000..fe93796 --- /dev/null +++ b/AIRPLAY.md @@ -0,0 +1,33 @@ +On macOS AirPlay should work out of the box. + +On Windows you need to have Bonjour service installed and running, dependency check widget can do that for you within the app. + +But on Linux you may need to open some ports in your firewall for it to work properly. + +Special thanks to [@medaminezghal](https://github.com/medaminezghal) for figuring this out and sharing the information with us. + +AirPlay requires these ports to be open on Linux + +```shell +sudo firewall-cmd --add-port=7000/tcp --permanent +sudo firewall-cmd --add-port=7001/tcp --permanent +sudo firewall-cmd --add-port=7100/tcp --permanent +sudo firewall-cmd --add-port=6000/udp --permanent +sudo firewall-cmd --add-port=6001/udp --permanent +sudo firewall-cmd --add-port=7011/udp --permanent +sudo firewall-cmd --reload +``` + +If you want to use ufw instead of firewalld, you can run these commands: + +```shell +sudo ufw allow 7000/tcp +sudo ufw allow 7001/tcp +sudo ufw allow 7100/tcp +sudo ufw allow 6000/udp +sudo ufw allow 6001/udp +sudo ufw allow 7011/udp +sudo ufw reload +``` + +I don't suggest disabling the `Use legacy ports` option in settings, if you have it disabled then ports might be different diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp index 9dae0c3..647b48d 100644 --- a/src/settingswidget.cpp +++ b/src/settingswidget.cpp @@ -235,7 +235,7 @@ void SettingsWidget::setupUI() #ifdef __linux__ m_useLegacyPortsCheckbox = new QCheckBox("Use legacy ports"); m_useLegacyPortsCheckbox->setToolTip( - "Use legacy AirPlay port behavior for compatibility."); + "Use legacy ports, refer to AIRPLAY.md for more information."); airplayLayout->addWidget(m_useLegacyPortsCheckbox); m_showV4L2CheckBox = new QCheckBox("Show V4L2 Button on AirPlay Widget");