Bug 99841

Summary: Switching to VT freezes X only on a dual screen
Product: DRI Reporter: Elimar Riesebieter <riesebie>
Component: DRM/otherAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: joseph-thommes, kevin, riesebie, stefan
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Config-4.10.0-rc8
none
Xorg-log right after switching to tty and back
none
Only reject if FBINFO_MISC_USEREVENT is set
none
Patch for 4.11 none

Description Elimar Riesebieter 2017-02-16 17:44:23 UTC
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)
Comment 1 Elimar Riesebieter 2017-02-16 17:47:22 UTC
This is with 4.10.0-rc[1-8].
Comment 2 Ilia Mirkin 2017-02-16 18:04:18 UTC
Please mention what hardware this is on.
Comment 3 Elimar Riesebieter 2017-02-16 18:43:09 UTC
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:
Comment 4 Elimar Riesebieter 2017-02-16 18:50:39 UTC
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:
Comment 5 Kevin Liu 2017-02-18 15:47:00 UTC
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)
Comment 6 Joseph Thommes 2017-02-27 14:27:22 UTC
Created attachment 129956 [details]
Xorg-log right after switching to tty and back
Comment 7 Joseph Thommes 2017-02-27 14:27:49 UTC
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
Comment 8 Shawn Starr 2017-02-27 14:44:16 UTC
This isn't just dual screen, I confirm this happening on single screen also with 4.10 kernel.
Comment 9 Michel Dänzer 2017-02-28 00:55:36 UTC
This also happens with other drivers, seems to be a core DRM issue.
Comment 10 Elimar Riesebieter 2017-03-06 17:50:48 UTC
There is no change in 4.11-rc1
Comment 11 Michel Dänzer 2017-03-07 07:44:46 UTC
Somebody needs to bisect this between 4.9 and 4.10-rc1.
Comment 12 prg 2017-03-13 13:49:35 UTC
# 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)
Comment 13 Michel Dänzer 2017-03-14 01:50:32 UTC
Created attachment 130207 [details] [review]
Only reject if FBINFO_MISC_USEREVENT is set

Does this patch (only compile tested) help?
Comment 14 Kevin Liu 2017-03-14 19:02:24 UTC
The patch indeed solves the issue -- VTs work on Linux 4.10.1 with the patch applied.
Comment 15 Elimar Riesebieter 2017-03-15 06:12:01 UTC
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
Comment 16 Michel Dänzer 2017-03-15 06:16:32 UTC
Created attachment 130227 [details] [review]
Patch for 4.11

Here's the corresponding patch for 4.11. Elimar, please test this as well.
Comment 17 Elimar Riesebieter 2017-03-15 18:09:41 UTC
Thanks Michel for your efforts. Hereby I confirm that your patch against 4.11 works fine as well ;-)
Comment 18 Joseph Thommes 2017-03-15 21:42:45 UTC
The patch also solves the problem for me on 4.10.2-gentoo.
Thank You.
Comment 19 Peter Mattern 2017-03-17 20:31:57 UTC
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?
Comment 20 Jari Tahvanainen 2017-03-30 07:25:33 UTC
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
Comment 21 Michel Dänzer 2017-03-30 08:13:32 UTC
If people are okay with that before it lands in 4.10.y, sure.
Comment 22 Elimar Riesebieter 2017-03-30 09:19:39 UTC
I am running 4.10.6 patched with Michel's patch. There are no problems switching to vt's and back.
Comment 23 mattia.b89 2017-10-04 16:29:38 UTC
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.