Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
Admin message
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
Overview:
When my computer tries to suspend my monitors after a period of idleness, they'll suspend for a few seconds before waking back up.
Steps to Reproduce:
Have a monitor attached over HDMI.
Set screen energy saving (in Plasma 5) to 1 minute.
After 1 minute has passed, the monitor will try to enter sleep mode. It will fail and turn back on.
The monitor will continue to attempt to enter sleep mode every minute until interrupted by the user.
Actual Results:
The monitors turn back on a few seconds after entering sleep mode.
Expected Results:
The monitors stay in sleep mode.
Additional Information:
While I have two monitors, this issue is only triggered when one is connected using HDMI. Connecting only one monitor using HDMI will trigger the problem. Connecting either one using DVI does not trigger the problem.
I am unable to test if DisplayPort triggers the problem, as I have no compatible monitors.
Setting the kernel parameter amdgpu.dc=0 does not cause the problem to trigger.
I haven't confirmed if the other affected users in the launchpad thread are using HDMI, so I'm only reporting my experience.
Use the DVI connector then. The HDMI development has a low priority. Developers use the display port connector and it is computer oriented while HDMI is for consumer electronics. I did sold my HDMI only monitor because of this. The ASUS VP28UQG monitor is really nice and freesync works.
Do you have an option in your monitor's menu to poll inputs? If so can you disable it? Some monitors poll inputs which sometimes causes the hpd pin to fire which looks like a hotplug event to the driver.
[ 212.439] (II) AMDGPU(0): Allocate new frame buffer 1440x900
[ 212.439] (II) AMDGPU(0): => pitch 6144 bytes
[ 212.639] (II) AMDGPU(0): Allocate new frame buffer 3360x1080
[ 212.639] (II) AMDGPU(0): => pitch 14336 bytes
This does look like there are hotplug events, and the HDMI output is considered disconnected for a moment.
(In reply to Alex Deucher from comment 5)
Some monitors poll inputs which sometimes causes the hpd pin to fire which
looks like a hotplug event to the driver.
Any idea why this seems to only cause trouble with DC though?
(I was seeing similar symptoms with DC and an HDMI connection with Kaveri, I reported it to the DC developers internally a while ago; it's one reason why I'm currently not using DC on this machine)
This does look like there are hotplug events, and the HDMI output is
considered disconnected for a moment.
When the monitor enters dpms, it starts polling inputs so it can light up whatever input gets connected without the user having to manually select the input. This can cause havoc with drivers sometimes.
>
> (In reply to Alex Deucher from comment 5)
> > Some monitors poll inputs which sometimes causes the hpd pin to fire which
> > looks like a hotplug event to the driver.
>
> Any idea why this seems to only cause trouble with DC though?
DC handles both short and long pulses while I think the non-DC code only handles long pulses. IIRC, the only difference is the length of the pulse and I think the register values used to determine the pulse length are tuned slightly differently in DC to deal with other problematic monitors. I suspect tuning those settings would fix the issue, but I don't know if it would break other things.
Setting amdgpu.dc=1 on 4.15.18 and 4.16.18 does not reproduce the problem.
It does, however, reproduce on 4.17.19.
Can you bisect between 4.16.18 and 4.17.19?
(I see some HPD filtering related changes between them, Nicholas / Harry
maybe you can take a look if anything jumps out?)
I haven't had a chance to look into the HPD changes yet, but we haven't seen this bug occur with our DPMS tests so I'm guessing that it's monitor specific. A system environment with Ubuntu/Plasma/xf86-video-amdgpu seems pretty standard at least.
A bisection point on amd-staging-drm-next would certainly help narrow this down.
I am actually experiencing simar issues. Two monitors using displayport to hdmi cable to connect Vega 64 to the monitors. No xorg logs as it's under Wayland but more than happy to test any suggestions.
I've been attempting to perform a bisect on an off for a while now with no success. The main problem I'm running into is this error when trying to compile.
I've tried searching for solutions for this problem, but I haven't found anything. It occurs when I run "make -j4 deb-pkg" and "make bzImage". If anyone can help me solve this, I'd be happy to start bisecting again.
Found a partial solution that seems to address the instant wake up under Wayland.
It seems that by default, the AOS2770SHE starts polling once display disconnects on one of its inputs. This seems to cause the actual system to wake up. However, this was not an issue before and used to function with no problems previously. It seems that something in amgdpu DC code changed that is picking up these polling requests.
To get the monitors to sleep properly, I did the following:
Set "Input Select": Auto -> HDMI1
Set "DDC/CI": Yes -> No
Now the display sleeps as expected and wakes up with no issues. Still would like to know what changed to cause this to appear. I usually need to have the inputs set to Auto as I have a docking station plugged into the monitors for the work laptop.
Also amdgpu.dc=0 hands the system and it's only becomes accessable through ssh. However no errors are present in any logs. But I'll file a different bug once I nail it down to a specific component.
I think this could be related to this commit b0c4e977522c34e20ad54ff4ca104129a7cfdeca which removed the delay.: Below patchset seems to be the likely cause as it touches the HDMI portion.
The function that sets the delay (dc_link_enable_hpd_filter), doesn't seem to be called anywhere as far as I can see. But I'm a complete noob here so might be missing something. (In reply to krutoileshii from comment 17)
I think this could be related to this commit
b0c4e977522c34e20ad54ff4ca104129a7cfdeca which removed the delay.: Below
patchset seems to be the likely cause as it touches the HDMI portion.
I've been attempting to perform a bisect on an off for a while now with no
success. The main problem I'm running into is this error when trying to
compile.
I've tried searching for solutions for this problem, but I haven't found
anything. It occurs when I run "make -j4 deb-pkg" and "make bzImage". If
anyone can help me solve this, I'd be happy to start bisecting again.