Versions: Kernel 4.17.8, LLVM 6.0.1, Mesa 18.1.4, XOrg 1.20.0. Distro: Arch. Connected display devices should be detected even if they are powered off, as long as they're still physically connected obviously. This works fine when using amdgpu.dc=0 but if the kernel is booted with amdgpu.dc=1 then the display device simply isn't seen (at all) if it's powered off. It does get detected immediately when powered on, but power it back off again and it completely disappears as though it's not even connected anymore. Kernel DRM output with dc=1 (default): [drm] amdgpu kernel modesetting enabled. fb: switching to amdgpudrmfb from EFI VGA [drm] initializing kernel modesetting (POLARIS10 0x1002:0x67DF 0x1DA2:0xE366 0xE7). [drm] register mmio base: 0xDC200000 [drm] register mmio size: 262144 [drm] probing gen 2 caps for device 8086:1901 = 261ad03/e [drm] probing mlw for device 8086:1901 = 261ad03 [drm] add ip block number 0 <vi_common> [drm] add ip block number 1 <gmc_v8_0> [drm] add ip block number 2 <tonga_ih> [drm] add ip block number 3 <powerplay> [drm] add ip block number 4 <dm> [drm] add ip block number 5 <gfx_v8_0> [drm] add ip block number 6 <sdma_v3_0> [drm] add ip block number 7 <uvd_v6_0> [drm] add ip block number 8 <vce_v3_0> [drm] UVD is enabled in VM mode [drm] UVD ENC is enabled in VM mode [drm] VCE enabled in VM mode [drm] vm size is 64 GB, 2 levels, block size is 10-bit, fragment size is 9-bit [drm] Detected VRAM RAM=8192M, BAR=8192M [drm] RAM width 256bits GDDR5 [drm] amdgpu: 8192M of VRAM memory ready [drm] amdgpu: 8192M of GTT memory ready. [drm] GART: num cpu pages 65536, num gpu pages 65536 [drm] PCIE GART of 256M enabled (table at 0x000000F400040000). [drm] Chained IB support enabled! [drm] Found UVD firmware Version: 1.130 Family ID: 16 [drm] Found VCE firmware Version: 53.26 Binary ID: 3 [drm] DM_PPLIB: values for Engine clock [drm] DM_PPLIB: 30000 [drm] DM_PPLIB: 75100 [drm] DM_PPLIB: 104800 [drm] DM_PPLIB: 115800 [drm] DM_PPLIB: 124000 [drm] DM_PPLIB: 130900 [drm] DM_PPLIB: 136400 [drm] DM_PPLIB: 143000 [drm] DM_PPLIB: Validation clocks: [drm] DM_PPLIB: engine_max_clock: 143000 [drm] DM_PPLIB: memory_max_clock: 210000 [drm] DM_PPLIB: level : 0 [drm] DM_PPLIB: values for Memory clock [drm] DM_PPLIB: 30000 [drm] DM_PPLIB: 100000 [drm] DM_PPLIB: 210000 [drm] DM_PPLIB: Validation clocks: [drm] DM_PPLIB: engine_max_clock: 143000 [drm] DM_PPLIB: memory_max_clock: 210000 [drm] DM_PPLIB: level : 0 [drm] Display Core initialized with v3.1.38! [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] UVD and UVD ENC initialized successfully. [drm] VCE initialized successfully. [drm] Unsupported device. GVT-g is disabled [drm] Replacing VGA console driver [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4) [drm] Cannot find any crtc or sizes [drm] Initialized amdgpu 3.25.0 20150101 for 0000:01:00.0 on minor 0 [drm] Initialized i915 1.6.0 20180308 for 0000:00:02.0 on minor 1 [drm] Cannot find any crtc or sizes [drm] Cannot find any crtc or sizes [drm] Cannot find any crtc or sizes Kernel DRM output with dc=0: [drm] amdgpu kernel modesetting enabled. fb: switching to amdgpudrmfb from EFI VGA [drm] initializing kernel modesetting (POLARIS10 0x1002:0x67DF 0x1DA2:0xE366 0xE7). [drm] register mmio base: 0xDC200000 [drm] register mmio size: 262144 [drm] probing gen 2 caps for device 8086:1901 = 261ad03/e [drm] probing mlw for device 8086:1901 = 261ad03 [drm] add ip block number 0 <vi_common> [drm] add ip block number 1 <gmc_v8_0> [drm] add ip block number 2 <tonga_ih> [drm] add ip block number 3 <powerplay> [drm] add ip block number 4 <dce_v11_0> [drm] add ip block number 5 <gfx_v8_0> [drm] add ip block number 6 <sdma_v3_0> [drm] add ip block number 7 <uvd_v6_0> [drm] add ip block number 8 <vce_v3_0> [drm] UVD is enabled in VM mode [drm] UVD ENC is enabled in VM mode [drm] VCE enabled in VM mode [drm] vm size is 64 GB, 2 levels, block size is 10-bit, fragment size is 9-bit [drm] Detected VRAM RAM=8192M, BAR=8192M [drm] RAM width 256bits GDDR5 [drm] amdgpu: 8192M of VRAM memory ready [drm] amdgpu: 8192M of GTT memory ready. [drm] GART: num cpu pages 65536, num gpu pages 65536 [drm] PCIE GART of 256M enabled (table at 0x000000F400040000). [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] AMDGPU Display Connectors [drm] Connector 0: [drm] DP-1 [drm] HPD6 [drm] DDC: 0x4868 0x4868 0x4869 0x4869 0x486a 0x486a 0x486b 0x486b [drm] Encoders: [drm] DFP1: INTERNAL_UNIPHY2 [drm] Connector 1: [drm] DP-2 [drm] HPD4 [drm] DDC: 0x4870 0x4870 0x4871 0x4871 0x4872 0x4872 0x4873 0x4873 [drm] Encoders: [drm] DFP2: INTERNAL_UNIPHY2 [drm] Connector 2: [drm] HDMI-A-1 [drm] HPD1 [drm] DDC: 0x486c 0x486c 0x486d 0x486d 0x486e 0x486e 0x486f 0x486f [drm] Encoders: [drm] DFP3: INTERNAL_UNIPHY1 [drm] Connector 3: [drm] HDMI-A-2 [drm] HPD5 [drm] DDC: 0x4874 0x4874 0x4875 0x4875 0x4876 0x4876 0x4877 0x4877 [drm] Encoders: [drm] DFP4: INTERNAL_UNIPHY1 [drm] Connector 4: [drm] DVI-D-1 [drm] HPD3 [drm] DDC: 0x487c 0x487c 0x487d 0x487d 0x487e 0x487e 0x487f 0x487f [drm] Encoders: [drm] DFP5: INTERNAL_UNIPHY [drm] Chained IB support enabled! [drm] Found UVD firmware Version: 1.130 Family ID: 16 [drm] Found VCE firmware Version: 53.26 Binary ID: 3 [drm] UVD and UVD ENC initialized successfully. [drm] VCE initialized successfully. [drm] Replacing VGA console driver [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4) [drm] fb mappable at 0x2000568000 [drm] vram apper at 0x2000000000 [drm] size 8294400 [drm] fb depth is 24 [drm] pitch is 7680 fbcon: amdgpudrmfb (fb0) is primary device amdgpu 0000:01:00.0: fb0: amdgpudrmfb frame buffer device [drm] Initialized amdgpu 3.25.0 20150101 for 0000:01:00.0 on minor 0 [drm] Initialized i915 1.6.0 20180308 for 0000:00:02.0 on minor 1 [drm] Cannot find any crtc or sizes [drm] Cannot find any crtc or sizes [drm] Cannot find any crtc or sizes And the resulting xrandr outputs: dc=1 (default) Screen 0: minimum 320 x 200, current 1024 x 768, maximum 16384 x 16384 DisplayPort-0 disconnected primary (normal left inverted right x axis y axis) DisplayPort-1 disconnected (normal left inverted right x axis y axis) HDMI-A-0 disconnected (normal left inverted right x axis y axis) HDMI-A-1 disconnected (normal left inverted right x axis y axis) DVI-D-0 disconnected (normal left inverted right x axis y axis) dc=0 (forced) HDMI-A-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 1920x1080 60.00*+ 50.00 59.94 30.00 25.00 24.00 29.97 23.98 1920x1080i 60.00 50.00 59.94 1600x1200 60.00 1280x1024 75.02 60.02 1440x900 59.90 1280x800 119.91 59.91 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 119.99 75.03 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 720x576 50.00 720x576i 50.00 720x480 60.00 59.94 720x480i 60.00 59.94 640x480 75.00 72.81 66.67 60.00 59.94 720x400 70.08 Let me know if there's anything else you need here.
(In reply to Benjamin Hodgetts from comment #0) > dc=0 (forced) > HDMI-A-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) > 0mm x 0mm > 1920x1080 60.00*+ 50.00 59.94 30.00 25.00 24.00 > 29.97 23.98 When you say "forced" what does that mean? Do you have to specify an EDID override on the kernel command line? Or are you saying everything is detected properly with dc=0 even when the display is turned off?
By "forced" I mean I specified amdgpu.dc=0 on the kernel command line to force DC off (as it's on by default). Yes to the second part of your question. Using dc=0 allows the display to be properly detected, even if it's turned off.
I think I'm having the same problem. I'll first describe my symptoms (all of them happening with DC=1): Case 1: 1. Boot System 2. Monitors must be off by the time GRUB inits the kernel. 3. Wait until everything's up 4. Turn on monitor(s) 5. Monitor(s) will go to sleep because they're not receiving any signal Workaround: Ctrl+Alt+F1 to go into terminal, monitor now goes on. Type: sudo service lightdm restart Case 2: 1. Suspend the system 2. Turn off the monitors 3. Resume the system 4. Turn on monitor(s) 5. Monitor(s) will go to sleep 6. Trying Ctrl+Alt+F1 then Ctrl+Alt+F7 will show the dreaded "Session is Locked You'll be redirected to the unlock dialog in a few seconds" but after a few seconds the monitors go to sleep again and lightdm never unlocks. Workaround: Ctrl+Alt+F1 to go into terminal, monitor now goes on. Type: sudo loginctl unlock-sessions Case 3: 1. Login to XFCE 2. Set "Extend Displays" 3. Turn off the secondary monitors (I have 2). All is OK. The extended desktop still works even though I cannot see it (expected behavior) 4. Turn off the main monitor too. 5. After turning on main monitor, now xfce will be set to "Mirror Displays" instead Workaround: Super Key + P then select "Extend to the right" again. Except for case 3 in which a secondary monitor is needed, it doesn't seem like having 2 monitors affects the symptoms. It's as if the kernel changes something that makes xfce & lightdm go nuts when all monitors go off. My environment: Xubuntu 18.04 XFCE 4.12 Kernel 4.18.9 libdrm-2.4.94 Device: Radeon RX 560 Series (POLARIS11, DRM 3.26.0, 4.18.9, LLVM 7.0.0) (0x67ff) Version: 18.2.0 Radeon RX 560 2GB Gigabyte Main LG FLATRON E2342 Monitor connected via HDMI Secondary LG FLATRON E2341 Monitor connected via DVI Booting with amdgpu.dc=0 fixes these issues. This is the output of xrandr when both monitors are off and amdgpu.dc=0 Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 DisplayPort-0 disconnected (normal left inverted right x axis y axis) HDMI-A-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm 1920x1080 60.00*+ 50.00 59.94 1920x1080i 60.00 50.00 59.94 1680x1050 59.88 1400x1050 59.95 1600x900 60.00 1280x1024 60.02 1440x900 59.90 1280x800 59.91 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 60.00 800x600 60.32 720x576 50.00 720x480 60.00 59.94 640x480 60.00 59.94 DVI-D-0 connected (normal left inverted right x axis y axis) 1920x1080 60.00 + 1680x1050 59.88 1280x1024 75.02 60.02 1280x960 60.00 1152x864 75.00 1024x768 75.03 60.00 832x624 74.55 800x600 75.00 60.32 56.25 640x480 75.00 59.94 This is the output of xrandr when both monitors are off and amdgpu.dc=1 Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384 DisplayPort-0 disconnected (normal left inverted right x axis y axis) HDMI-A-0 disconnected primary (normal left inverted right x axis y axis) DVI-D-0 connected (normal left inverted right x axis y axis) 1920x1080 60.00 + 1680x1050 59.88 1280x1024 75.02 60.02 1440x900 60.00 1280x960 60.00 1280x800 60.00 1152x864 75.00 1280x720 60.00 1024x768 75.03 60.00 832x624 74.55 800x600 75.00 60.32 56.25 640x480 75.00 59.94 720x400 70.08 Notice the HDMI monitor is now listed as disconnected. Perhaps this is a case of "not our bug" and software should accommodate for "hotpluggable monitors". However if that's the case, this is still a problem when the new behavior breaks basic desktop system software on boot and resume-from-suspend; and I'd suggest either DRM should report a state of connected-but-off (if it's not already there, then this is a driver bug), or there should be an extra kernel param to not list powered-off monitors as disconnected, without having to disable amdgpu.dc. Cheers
To anyone checking, this is still an issue with versions: Kernel 4.18.16, LLVM 8.0.0, Mesa 18.3.0-devel, XOrg 1.20.2. Monitor is connected, but powered off: Screen 0: minimum 320 x 200, current 1024 x 768, maximum 16384 x 16384 DisplayPort-0 disconnected primary (normal left inverted right x axis y axis) DisplayPort-1 disconnected (normal left inverted right x axis y axis) HDMI-A-0 disconnected (normal left inverted right x axis y axis) HDMI-A-1 disconnected (normal left inverted right x axis y axis) DVI-D-0 disconnected (normal left inverted right x axis y axis)
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/461.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.