|Summary:||[945GM] hang during VT switch after specific xrandr commands|
|Product:||xorg||Reporter:||Tomas Janousek <tomi>|
|Component:||Driver/intel||Assignee:||Jesse Barnes <jbarnes>|
|Status:||RESOLVED FIXED||QA Contact:||Xorg Project Team <xorg-team>|
|i915 platform:||i915 features:|
|Bug Depends on:|
Description Tomas Janousek 2007-07-10 04:07:25 UTC
I did these commands: xrandr \ --output VGA --mode 1280x1024 --pos 0x0 --dpi 96 \ --output LVDS --mode 1280x800 --pos 0x1024 --dpi 96 # now some sleep maybe xrandr \ --output LVDS --mode 1280x800 --pos 0x0 --dpi 96 \ --output VGA --off And now pressed Ctrl-Alt-F1 and the machine hangs with blinking grey rectangles all over the screen. Issuing a plain "xrandr" command after the layout change prevents this behaviour in 99% of cases. My hardware: HP Compaq nx7300 00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03) (II) intel(0): Integrated Graphics Chipset: Intel(R) 945GM Software: xorg-server 1.3 intel driver 2.0.0 (I think I didn't run into this with earlier versions, but I definitely encounter this with current git versions)
Comment 1 Gordon Jin 2007-10-09 00:37:53 UTC
Does it work if you skip the first step (dualhead setup) and directly switch x to console in singlehead? We even see this broken with the git tip, as described in bug#12605. Please take a look at the attached photo there to see if it's identical to your issue.
Comment 2 Tomas Janousek 2007-10-09 00:55:03 UTC
Yes, the first step is the key step. If I use this dualhead setup: xrandr \ --output LVDS --mode 1280x800 --pos 0x0 --dpi 96 \ --output VGA --mode 1024x768 --pos 0x800 --dpi 96, it works. But if the LVDS is below VGA, then it almost always crashes. The picture on my screen is a bit different though. It has much more black around and there are a few rectangles 1cm high and .5cm wide, and they're blinking. I could possibly make a photo if it really helps, but if not necessary, I wouldn't crash my machine just for this. Also, as issuing the xrandr command really helps only in 99% of cases (and maybe even less), I changed my switch-to-normal layout script to read this way: xrandr \ --output LVDS --mode 1280x800 --pos 0x0 --dpi 96 \ --output VGA --mode 1280x1024 --pos 0x800 --dpi 96 sleep 0.1 xrandr \ --output LVDS --mode 1280x800 --pos 0x0 --dpi 96 \ --output VGA --off xrandr Ie. to switch to a mode it works with and then switch to normal. I hope this workaround will save me from crashes, but if there's any way to gather some debugging info, let me know and I'll crash it. (which reminds me that I looked at the register dumps (when they were being printed out, this seems not to be the case with 2.1.1 any more) after the dualhead->normal xrandr command and after the plain xrandr command and there was no difference)
Comment 4 Jesse Barnes 2007-11-08 13:13:47 UTC
Yeah, this might be a DUP, and I hope it was fixed by Peter's patch from 12297. Tomas, can you retest and update or close the bug? Thanks, Jesse
Comment 5 Tomas Janousek 2007-11-10 07:41:54 UTC
I applied the patch from commit eecd3ccedee6c4acf101591f7e60673660379e62 to 2.1.1 package and wasn't able to reproduce it since. Thank you guys.