diff --git a/docs/source/about/advanced_usage.rst b/docs/source/about/advanced_usage.rst index d22555f6..19fe2377 100644 --- a/docs/source/about/advanced_usage.rst +++ b/docs/source/about/advanced_usage.rst @@ -299,13 +299,18 @@ output_name .. Tip:: To find the name of the appropriate values follow these instructions. **Linux** - .. code-block:: bash + During Sunshine startup, you should see the list of detected monitors: - xrandr --listmonitors + .. code-block:: text - Example output: ``0: +HDMI-1 1920/518x1200/324+0+0 HDMI-1`` + Info: Detecting connected monitors + Info: Detected monitor 0: DVI-D-0, connected: false + Info: Detected monitor 1: HDMI-0, connected: true + Info: Detected monitor 2: DP-0, connected: true + Info: Detected monitor 3: DP-1, connected: false + Info: Detected monitor 4: DVI-D-1, connected: false - You need to use the value before the colon in the output, e.g. ``0``. + You need to use the value before the colon in the output, e.g. ``1``. .. Todo:: macOS diff --git a/src/platform/linux/x11grab.cpp b/src/platform/linux/x11grab.cpp index 7aab70ee..ae294cf1 100644 --- a/src/platform/linux/x11grab.cpp +++ b/src/platform/linux/x11grab.cpp @@ -427,7 +427,7 @@ namespace platf { int monitor = 0; for (int x = 0; x < output; ++x) { output_info_t out_info { x11::rr::GetOutputInfo(xdisplay.get(), screenr.get(), screenr->outputs[x]) }; - if (out_info && out_info->connection == RR_Connected) { + if (out_info) { if (monitor++ == streamedMonitor) { result = std::move(out_info); break; @@ -761,7 +761,7 @@ namespace platf { return {}; } - BOOST_LOG(info) << "Detecting connected monitors"sv; + BOOST_LOG(info) << "Detecting monitors"sv; x11::xdisplay_t xdisplay { x11::OpenDisplay(nullptr) }; if (!xdisplay) { @@ -775,7 +775,8 @@ namespace platf { int monitor = 0; for (int x = 0; x < output; ++x) { output_info_t out_info { x11::rr::GetOutputInfo(xdisplay.get(), screenr.get(), screenr->outputs[x]) }; - if (out_info && out_info->connection == RR_Connected) { + if (out_info) { + BOOST_LOG(info) << "Detected monitor "sv << monitor << ": "sv << out_info->name << ", connected: "sv << (out_info->connection == RR_Connected); ++monitor; } } diff --git a/src_assets/common/assets/web/config.html b/src_assets/common/assets/web/config.html index 9e664ee7..9524755d 100644 --- a/src_assets/common/assets/web/config.html +++ b/src_assets/common/assets/web/config.html @@ -560,9 +560,17 @@ v-model="config.output_name" />
0: +HDMI-1 1920/518x1200/324+0+0 HDMI-1+ During Sunshine startup, you should see the list of detected monitors, e.g.:
+ Info: Detecting connected monitors + Info: Detected monitor 0: DVI-D-0, connected: false + Info: Detected monitor 1: HDMI-0, connected: true + Info: Detected monitor 2: DP-0, connected: true + Info: Detected monitor 3: DP-1, connected: false + Info: Detected monitor 4: DVI-D-1, connected: false ++ You need to use the value before the colon in the output, e.g. 1.