Summary: | [945GME] Switching from VT->X no longer flicker free with KMS | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Eric Smith <eric225125> | ||||||||||
Component: | Driver/intel | Assignee: | Jesse Barnes <jbarnes> | ||||||||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||
Severity: | normal | ||||||||||||
Priority: | medium | CC: | ajax, portis24 | ||||||||||
Version: | git | Keywords: | regression | ||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||||
OS: | Linux (All) | ||||||||||||
Whiteboard: | |||||||||||||
i915 platform: | i915 features: | ||||||||||||
Attachments: |
|
Description
Eric Smith
2009-04-06 19:03:02 UTC
Created attachment 24622 [details]
xorg.conf
Created attachment 24623 [details]
Xorg.0.log
Created attachment 24624 [details]
dmesg
Created attachment 24656 [details] [review] Don't prepare outputs & crtcs if driver has set_mode_major Ah it must be coming from the xf86SetDesiredModes call. The server is a bit overaggressive in disabling outputs in the KMS case. You could try this patch to the server to see if it helps (totally untested). There's a small problem with your patch: crtc isn't defined when you use it. I know very little programming, but I hacked it up to compile and it does indeed fix the problem. Switching from VT -> X is now instant and flicker free! :) So, since this bug is a problem with the xserver and not intel, should I submit it somewhere else? Just for clarification, I got your patch to work by simply moving the if statement into the for loop directly below it. This solution has been working for me without any crashes for the past week. Yeah it's a server bug. I'll post the patch for comments. Fix pushed to X server master: commit 94648bb797d94b025746c60679c584e5be2fae28 Author: Jesse Barnes <jbarnes@virtuousgeek.org> Date: Mon May 4 15:38:22 2009 -0700 Don't prepare outputs & crtcs if set_mode_major is present |
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.