Created attachment 129683 [details] Config-4.10.0-rc8 Kernel Graphic Driver: nouveau Dual Screen: Yes After switching to VT via "<ctrl> <alt> FN" or "chvt N" X freezes. No keyboard response, no pointer response. Booting with only one screen VT-switch works as expected. Running 4.9.? runs fine, though. Doesn't matter whether I use libinput or evdev. I don't found meaningful logs other than the last lines in Xorg.0.log: [ 49.408] (II) AIGLX: Suspending AIGLX clients for VT switch¬ [ 49.408] (II) NOUVEAU(0): NVLeaveVT is called.¬ [ 54.592] (II) UnloadModule: "libinput"¬ [ 54.598] (II) UnloadModule: "libinput"¬ [ 54.598] (II) UnloadModule: "libinput"¬ [ 54.598] (II) UnloadModule: "libinput" xrandr: Screen 0: minimum 320 x 200, current 3520 x 1200, maximum 16384 x 16384 DVI-I-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 1920x1200 59.95*+ 1920x1080 60.00 50.00 59.94 1600x1200 60.00 1680x1050 59.88 1280x1024 60.02 1440x900 59.90 1280x960 60.00 1280x800 59.91 1280x720 60.00 50.00 59.94 1024x768 60.00 800x600 60.32 56.25 720x576 50.00 720x480 60.00 59.94 640x480 60.00 59.94 DVI-D-1 connected 1600x1200+1920+0 (normal left inverted right x axis y axis) 408mm x 306mm 1600x1200 60.00*+ 1280x1024 75.02 60.02 1280x960 60.00 1152x864 75.00 1024x768 75.03 70.07 60.00 832x624 74.55 800x600 72.19 75.00 60.32 56.25 640x480 75.00 72.81 66.67 59.94 720x400 70.08 HDMI-1 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis)
This is with 4.10.0-rc[1-8].
Please mention what hardware this is on.
Graphics and CPU: 01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Gigabyte Technology Co., Ltd GK104 [GeForce GTX 760] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 24 Region 0: Memory at ee000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at e0000000 (64-bit, prefetchable) [size=128M] Region 3: Memory at e8000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at e000 [size=128] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000feeff00c Data: 4181 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest+ Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01 Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting <?> Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900 v1] #19 Kernel driver in use: nouveau processor : [0-7] vendor_id : GenuineIntel cpu family : 6 model : 60 model name : Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz stepping : 3 microcode : 0x19 cpu MHz : 800.000 cache size : 8192 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts bugs : bogomips : 6996.12 clflush size : 64 cache_alignment : 64 address sizes : 39 bits physical, 48 bits virtual power management:
I have the same issue, I think—X freezes when switching to a TTY, but switching back to X unfreezes the display. Furthermore, keyboard input works in the TTY, even if it displays no output—blind login is possible. GPU: 00:10.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 770] (rev a1) (prog-if 00 [VGA controller])[160/1837] Subsystem: Micro-Star International Co., Ltd. [MSI] Device 2825 Physical Slot: 16 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 45 Region 0: Memory at c0000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at 800000000 (64-bit, prefetchable) [size=128M] Region 3: Memory at 808000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at 1000 [size=128] Expansion ROM at 000c0000 [disabled] [size=128K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000feeff00c Data: 41d2 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 8GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2+, EqualizationPhase3+, LinkEqualizationRequest+ Capabilities: [b4] Vendor Specific Information: Len=14 <?> Kernel driver in use: nouveau Kernel modules: nouveau CPU: processor : [0-7] vendor_id : GenuineIntel cpu family : 6 model : 62 model name : Intel(R) Core(TM) i7-4820K CPU @ 3.70GHz stepping : 4 microcode : 0x1 cpu MHz : 3699.939 cache size : 4096 KB physical id : 0 siblings : 8 core id : 7 cpu cores : 8 apicid : 7 initial apicid : 7 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms xsaveopt arat bugs : bogomips : 7415.70 clflush size : 64 cache_alignment : 64 address sizes : 40 bits physical, 48 bits virtual power management: xrandr: Screen 0: minimum 320 x 200, current 5120 x 1080, maximum 16384 x 16384 DVI-I-1 connected 1280x1024+2560+0 (normal left inverted right x axis y axis) 338mm x 270mm 1280x1024 60.02 + 75.02* 1152x864 75.00 1024x768 75.03 60.00 800x600 75.00 60.32 640x480 75.00 59.94 720x400 70.08 DVI-D-1 connected 1280x1024+3840+0 (normal left inverted right x axis y axis) 338mm x 270mm 1280x1024 60.02 + 75.02* 1152x864 75.00 1024x768 75.03 60.00 800x600 75.00 60.32 640x480 75.00 59.94 720x400 70.08 HDMI-1 connected primary 2560x1080+0+0 (normal left inverted right x axis y axis) 798mm x 334mm 2560x1080 60.00*+ 1920x1080 60.00 50.00 59.94 30.00 29.97 1920x1080i 60.00 50.00 59.94 1680x1050 59.88 1600x900 60.00 1280x1024 75.02 60.02 1152x864 75.00 1280x720 60.00 50.00 59.94 1024x768 75.03 60.00 800x600 75.00 60.32 720x576 50.00 720x480 60.00 59.94 640x480 75.00 60.00 59.94 720x400 70.08 DP-1 disconnected (normal left inverted right x axis y axis)
Created attachment 129956 [details] Xorg-log right after switching to tty and back
I can confirm what kevin@potatofrom.space said, same for me with 4.10.1-gentoo. I am using a triple monitor setup with different monitors in different resolutions and everything is fine in X. If I press Ctrl-Alt-F1, the screens do not change but I can login in tty1. If I kill X from there, screens turn off and a press of Ctrl-Alt-F1 brings me to tty1. If I restart X from there, it's the same as in the beginning. lspci -vv: [...] 01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 770] (rev a1) (prog-if 00 [VGA controller]) Subsystem: Palit Microsystems Inc. GK104 [GeForce GTX 770] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 25 Region 0: Memory at ee000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at e0000000 (64-bit, prefetchable) [size=128M] Region 3: Memory at e8000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at e000 [size=128] Expansion ROM at ef000000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000feeff00c Data: 4191 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 256 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest+ Capabilities: [b4] Vendor Specific Information: Len=14 <?> Capabilities: [100 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=01 Status: NegoPending- InProgress- Capabilities: [128 v1] Power Budgeting <?> Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?> Capabilities: [900 v1] #19 Kernel driver in use: nouveau [...] uname -a: Linux gentoo-PC 4.10.1-gentoo #2 SMP Mon Feb 27 13:38:23 CET 2017 x86_64 Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz GenuineIntel GNU/Linux
This isn't just dual screen, I confirm this happening on single screen also with 4.10 kernel.
This also happens with other drivers, seems to be a core DRM issue.
There is no change in 4.11-rc1
Somebody needs to bisect this between 4.9 and 4.10-rc1.
# bad: [7ce7d89f48834cefece7804d38fc5d85382edf77] Linux 4.10-rc1 # good: [69973b830859bc6529a7a0468ba0d80ee5117826] Linux 4.9 git bisect start 'v4.10-rc1' 'v4.9' # bad: [72cca7baf4fba777b8ab770b902cf2e08941773f] Merge tag 'staging-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging git bisect bad 72cca7baf4fba777b8ab770b902cf2e08941773f # good: [b8d2798f32785398fcd1c48ea80c0c6c5ab88537] Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux git bisect good b8d2798f32785398fcd1c48ea80c0c6c5ab88537 # bad: [9439b3710df688d853eb6cb4851256f2c92b1797] Merge tag 'drm-for-v4.10' of git://people.freedesktop.org/~airlied/linux git bisect bad 9439b3710df688d853eb6cb4851256f2c92b1797 # bad: [628d16555e019c0cc6897b603bbea29c3b6d2c9f] Merge tag 'imx-drm-next-2016-11-10' of git://git.pengutronix.de/git/pza/linux into drm-next git bisect bad 628d16555e019c0cc6897b603bbea29c3b6d2c9f # bad: [3f767e3d076dd2a24a614917c8f0b05d8d82b90b] drm/amdgpu: just not load smc firmware if smu is already running git bisect bad 3f767e3d076dd2a24a614917c8f0b05d8d82b90b # good: [bf9d99ad17ff3d85dc8c807063f76560587d983a] drm/i915/gen9: Make skl_pipe_wm_get_hw_state() reusable git bisect good bf9d99ad17ff3d85dc8c807063f76560587d983a # bad: [9405e47dbab33706c43caba72cf8d83b5746f843] drm/amdgpu/virtual_dce: clean up interrupt handling git bisect bad 9405e47dbab33706c43caba72cf8d83b5746f843 # bad: [d138dd3c0c70979215f3184cf36f95875e37932e] drm: Add support for optional per-plane rotation property git bisect bad d138dd3c0c70979215f3184cf36f95875e37932e # bad: [9edbf1fa600a2ef17c7553c2103d0055d0320d15] drm: Add API for capturing frame CRCs git bisect bad 9edbf1fa600a2ef17c7553c2103d0055d0320d15 # good: [f7741aa75e76440f4e9ecfe512feebe9bce33ca8] drm/savage: dereferencing an error pointer git bisect good f7741aa75e76440f4e9ecfe512feebe9bce33ca8 # good: [6dffd431e2296cda08e7e4f0242e02df1d1698cd] drm: Add aspect ratio parsing in DRM layer git bisect good 6dffd431e2296cda08e7e4f0242e02df1d1698cd # good: [f14f368670541bfa217573194027a58f2206e250] drm/edid: Rename local variable block to edid git bisect good f14f368670541bfa217573194027a58f2206e250 # bad: [865afb11949e5bf4bb32d9a2aa9867c1ac4d8da0] drm/fb-helper: reject any changes to the fbdev git bisect bad 865afb11949e5bf4bb32d9a2aa9867c1ac4d8da0 # good: [a28187ccab9410cad20e8808f00cfc07f99649c3] drm/edid: Use block local to refer to the block git bisect good a28187ccab9410cad20e8808f00cfc07f99649c3 # first bad commit: [865afb11949e5bf4bb32d9a2aa9867c1ac4d8da0] drm/fb-helper: reject any changes to the fbdev (Tested on a GTX660/GK106)
Created attachment 130207 [details] [review] Only reject if FBINFO_MISC_USEREVENT is set Does this patch (only compile tested) help?
The patch indeed solves the issue -- VTs work on Linux 4.10.1 with the patch applied.
The patch applied to 4.10.2 works just fine. Applying to 4.11-rc2 gives a compile error: drivers/gpu/drm/drm_fb_helper.c: In function ‘drm_fb_helper_check_var’: drivers/gpu/drm/drm_fb_helper.c:1263:32: error: ‘struct drm_framebuffer’ has no member named ‘bits_per_pixel’ (var->bits_per_pixel != fb->bits_per_pixel || ^~ make[5]: *** [drivers/gpu/drm/drm_fb_helper.o] Error 1
Created attachment 130227 [details] [review] Patch for 4.11 Here's the corresponding patch for 4.11. Elimar, please test this as well.
Thanks Michel for your efforts. Hereby I confirm that your patch against 4.11 works fine as well ;-)
The patch also solves the problem for me on 4.10.2-gentoo. Thank You.
The patch is fixing the problem on an ATI system as well here (Radeon HD 7480D / APU A4-5300, Arch Linux, kernel 4.10.{1-3}). Is there any way to track when it will be included in mainline?
Michel and others - landed to drm-tip. Ready for resolved+fixed ? Or even verified... commit 12ffed96d4369f086261ba2ee734fa8c932d7f55 Author: Michel Dänzer <michel.daenzer@amd.com> AuthorDate: Thu Mar 23 17:53:26 2017 +0900 Commit: Daniel Vetter <daniel.vetter@ffwll.ch> CommitDate: Thu Mar 23 15:12:07 2017 +0100
If people are okay with that before it lands in 4.10.y, sure.
I am running 4.10.6 patched with Michel's patch. There are no problems switching to vt's and back.
I cannot reproduce it. That patch has already been merged upstream, maybe?
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.