mirror of
https://github.com/LizardByte/Sunshine.git
synced 2025-02-21 00:39:59 +00:00
Don't skip disconnected X11 outputs (#1071)
This commit is contained in:
parent
44f1984af0
commit
1ab1b7920e
@ -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
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -560,9 +560,17 @@
|
||||
v-model="config.output_name"
|
||||
/>
|
||||
<div class="form-text">
|
||||
xrandr --listmonitors<br />
|
||||
Example output:
|
||||
<pre> 0: +HDMI-1 1920/518x1200/324+0+0 HDMI-1</pre>
|
||||
During Sunshine startup, you should see the list of detected monitors, e.g.:<br />
|
||||
<br />
|
||||
<pre style="white-space: pre-line;">
|
||||
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
|
||||
</pre>
|
||||
You need to use the value before the colon in the output, e.g. <b>1</b>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user