[Bug 1815275] [NEW] logind fails to detect amdgpu external displays as external.
Mercury
1815275 at bugs.launchpad.net
Sat Feb 9 08:35:32 UTC 2019
Public bug reported:
So, with a Dell Precision 7530 outfitted with an AMD GPU, I can run into
issues relating to systemd not detecting that my laptop is docked.
This results in my booting the system, getting the login prompt on my
external displays, logging in, and having the system immediately
suspend.
This only happens when the BIOS has the displays being driven by the AMD
GPU instead of the integrated Intel GPU.
And the reason why this happens is that the amdgpu driver names the
outputs differently, specifically I end up with names like
DisplayPort-1-7.
The problem is that src/login/logind-core.c, in function
manager_count_external_displays, uses the following to detect external
displays (starting at line 561 at the moment):
FOREACH_STRING(i, "VGA-", "DVI-I-", "DVI-D-", "DVI-A-"
"Composite-", "SVIDEO-", "Component-",
"DIN-", "DP-", "HDMI-A-", "HDMI-B-", "TV-") {
if (startswith(dash, i)) {
external = true;
break;
}
}
As "DisplayPort-" is not on the list, logind decides that I must not be using an external display, so I'm probably not docked.
This is somewhat sub-optimal.
This is on Ubuntu 18.04, systemd package version 237-3ubuntu10.12.
** Affects: systemd (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1815275
Title:
logind fails to detect amdgpu external displays as external.
Status in systemd package in Ubuntu:
New
Bug description:
So, with a Dell Precision 7530 outfitted with an AMD GPU, I can run
into issues relating to systemd not detecting that my laptop is
docked.
This results in my booting the system, getting the login prompt on my
external displays, logging in, and having the system immediately
suspend.
This only happens when the BIOS has the displays being driven by the
AMD GPU instead of the integrated Intel GPU.
And the reason why this happens is that the amdgpu driver names the
outputs differently, specifically I end up with names like
DisplayPort-1-7.
The problem is that src/login/logind-core.c, in function
manager_count_external_displays, uses the following to detect external
displays (starting at line 561 at the moment):
FOREACH_STRING(i, "VGA-", "DVI-I-", "DVI-D-", "DVI-A-"
"Composite-", "SVIDEO-", "Component-",
"DIN-", "DP-", "HDMI-A-", "HDMI-B-", "TV-") {
if (startswith(dash, i)) {
external = true;
break;
}
}
As "DisplayPort-" is not on the list, logind decides that I must not be using an external display, so I'm probably not docked.
This is somewhat sub-optimal.
This is on Ubuntu 18.04, systemd package version 237-3ubuntu10.12.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1815275/+subscriptions
More information about the foundations-bugs
mailing list