Summary: | [Arrandale] Intel Core i3 External Monitor Wavy Output | ||
---|---|---|---|
Product: | DRI | Reporter: | Seth Forshee <seth.forshee> |
Component: | DRM/Intel | Assignee: | Chris Wilson <chris> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | adlorenz, filipegiusti, gustavo, jarede.silva, jbarnes, jjardon, joystick, julien.jorge, luis.strano, marc.maurice, maxime81, niteshadez, paul, presingzs, przanoni, root, sekereg, svilen.kanev, tlinux, tom200 |
Version: | unspecified | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
URL: | https://bugzilla.kernel.org/show_bug.cgi?id=21742 | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Description
Seth Forshee
2011-06-28 08:54:59 UTC
Also affects Core i5 and other distributions than Ubuntu. lspci: 00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12) Video to show the issue (with kernel 3.0 rc5): http://etud.insa-toulouse.fr/~mcheramy/screenbug.avi Old video: https://bugs.freedesktop.org/attachment.cgi?id=36010 Picture: https://bugs.freedesktop.org/attachment.cgi?id=36009 I tested a kernel patched with Chris' patch: https://bugs.freedesktop.org/attachment.cgi?id=46702 The external screen is now working properly but the laptop screen remains black. The kernel: http://people.canonical.com/~sforshee/lp614238/linux-2.6.39-020639rc7.201105192014~lp614238/linux-image-2.6.39-020639rc7-generic_2.6.39-020639rc7.201105192014~lp614238_amd64.deb (thanks Seth for the deb)
> The external screen is now working properly but the laptop screen remains
> black.
Sorry, it remains blacks when the external screen is plugged in. Otherwise the laptop screen works well after restarting the X server. (I think that's improvement for most people)
(In reply to comment #4) > > The external screen is now working properly but the laptop screen remains > > black. > > Sorry, it remains blacks when the external screen is plugged in. Otherwise the > laptop screen works well after restarting the X server. (I think that's > improvement for most people) Using vostro 3300 with i3 encountered the same problem and applied the described patch. Laptop's screen remains black when external screen is connected. The external screen works well though. Unplugging the cable to the external screen brings back the display to the laptop's screen. However, after 2-3 times that you do that, the system hangs. Can't switch to any display, both screens are black, ctrl+alt F1 through F12 doesn't help. Only hard reboot works. I've noticed the following appearing in my logs: :[ 175.787969] [drm:intel_disable_transcoder] *ERROR* failed to disable transcoder Happy to help in any testing. This issue is really a painful one for me. Can't use my laptop with an external display at work (well - you have to plug/unplug at least once a day. Rebooting every 2-3 days is not an option...) I have the same, identical, equal, problem of Tom. I also have this issue with my Dell Vostro 3300, this bug is really REALLY annoying and it's unbelievable that's not fixed yet! Just adding some info: Fedora have the same problem (https://bugzilla.redhat.com/show_bug.cgi?id=608316). I tried the patch above and got the same result as Maxime C. Only one monitor works. I use Samsung QX410 (Core i5) with Debian distribution. Created attachment 49493 [details] [review] A patch which turns off SSC for all outputs. I've created a version of Chris Wilsons patch which disables SSC for all outputs without checking. I've tested it so far without issues, both VGA and the internal LVDS are operating fine. Since SSC is just a hack to get around some strict FCC EMI rules (according to the great wikipedia) I can't see this causing any issues. --Ben Brewer (CodeThink) (In reply to comment #9) > Created an attachment (id=49493) [details] > A patch which turns off SSC for all outputs. > > I've created a version of Chris Wilsons patch which disables SSC for all > outputs without checking. I've tested it so far without issues, both VGA and > the internal LVDS are operating fine. > Since SSC is just a hack to get around some strict FCC EMI rules (according to > the great wikipedia) I can't see this causing any issues. > > --Ben Brewer (CodeThink) Hi Ben! Thanks a lot for your patch. I've just applied it on the kernel 3.0 (with minor modifications because your patch is for 2.6.38) and both screens are now working. I will share the ubuntu package soon. (In reply to comment #10) > Hi Ben! > > Thanks a lot for your patch. I've just applied it on the kernel 3.0 (with minor > modifications because your patch is for 2.6.38) and both screens are now > working. I will share the ubuntu package soon. Could you please post the patch for 3.0 kernel? Created attachment 49537 [details] [review] A patch which turns off SSC for all outputs (kernel 3.0). (In reply to comment #9) > Created an attachment (id=49493) [details] > A patch which turns off SSC for all outputs. > > I've created a version of Chris Wilsons patch which disables SSC for all > outputs without checking. I've tested it so far without issues, both VGA and > the internal LVDS are operating fine. > Since SSC is just a hack to get around some strict FCC EMI rules (according to > the great wikipedia) I can't see this causing any issues. > > --Ben Brewer (CodeThink) Thanks Ben! I can confirm the patch works well on my Dell Vostro 3300 with i3. Plugging and unplugging the external display now works as expected and the display is stable. Hello, the 3.0 patch works for me. I have a core i5, VGA monitor at 1366x768 and a HDMI monitor at 1600x900. Created attachment 49582 [details] [review] A patch which optionally turns off SSC for all outputs based on a parameter. I've modified my patch to use a module parameter to disable SSC for all outputs, this should lay any legal issues or worries about modified behaviour to rest. --Ben Brewer (CodeThink) (In reply to comment #14) > Hello, the 3.0 patch works for me. I have a core i5, VGA monitor at 1366x768 > and a HDMI monitor at 1600x900. Hi James, I am glad that there is a solution to the long standing issue which I have followed for half a year. I have core i5 too. Do I need to compile the kernel with this patch? Is it going to get implemented into Fedora soon? Because I have this problem, but I don't know how to use this fix. Thanks Ben. With a small tweak on intel_bios.c for kernel version 2.6.39.3, it works on vendor_id : GenuineIntel cpu family : 6 model : 37 model name : Intel(R) Core(TM) i3 CPU M 380 @ 2.53GHz stepping : 5 Also besides providing this solution you pushed me to learn how to compile the linux kernel, so thanks again. -- Filipe Giusti Created attachment 49887 [details] [review] patch 1 First in series to modify SSC values Created attachment 49888 [details] [review] patch 2 Can you try these patches (apply patch 1 first, then patch 2)? I may need to tweak #2 a bit more to avoid enabling SSC at all when switching from one to two outputs... (In reply to comment #20) > Can you try these patches (apply patch 1 first, then patch 2)? I may need to > tweak #2 a bit more to avoid enabling SSC at all when switching from one to two > outputs... Sure thing, I'll make a build and post it to the launchpad bug for testing. There should be a bunch of willing testers, at least based on the number of people who have been complaining :) Thanks Jesse. If these work they'll make a lot of people happy. Review of attachment 49888 [details] [review]: Jesse, there's a build error in intel_display.c, noted below. You also have a repeated "work" in the commit message. ::: drivers/gpu/drm/i915/intel_display.c @@ +5122,3 @@ + if (has_edp_encoder && + !intel_encoder_is_pch_edp(&has_edp_encoder->base) && + if (num_connectors) { typo here, should be intel_panel_use_ssc (In reply to comment #22) > ::: drivers/gpu/drm/i915/intel_display.c > @@ +5122,3 @@ > + if (has_edp_encoder && > + !intel_encoder_is_pch_edp(&has_edp_encoder->base) && > + if (num_connectors) { > > typo here, should be intel_panel_use_ssc Oops, somehow it quoted the wrong section of the patch. Currently it has intel_panel_use(ssc. Oops sorry, last minute change before I sent it out. I thought I had built but obviously not... anyway yeah the change is just to fix the ( into a _ (In reply to comment #21) > (In reply to comment #20) > > Can you try these patches (apply patch 1 first, then patch 2)? I may need to > > tweak #2 a bit more to avoid enabling SSC at all when switching from one to two > > outputs... > > Sure thing, I'll make a build and post it to the launchpad bug for testing. > There should be a bunch of willing testers, at least based on the number of > people who have been complaining :) > > Thanks Jesse. If these work they'll make a lot of people happy. It's working for me: only one VGA output. Jesse, I've received about 9 reports so far that this is working. Most of these were tested with my backport to 2.6.38; if you'd like to validate that the backport is equivalent the patches are available at http://people.canonical.com/~sforshee/lp614238/linux-2.6.38-11.48~lp614238v201108032108/ Jesse, I was just checking up on the status of these patches. Looks like the first one made it to Linus's tree, but Keith backed out the second because it causes a regression: https://bugs.freedesktop.org/show_bug.cgi?id=40031 Any idea on what needs to be done to address this? Thanks, Seth Does this bug will be fixed in kernel 3.1? I recall that it was first reported over a year ago, only as the old report was closed and opened new, it always looks better error for two months than in over a year. Tomasz (In reply to comment #27) > Jesse, > > I was just checking up on the status of these patches. Looks like the first one > made it to Linus's tree, but Keith backed out the second because it causes a > regression: > Is the regression more important than this bug ? I mean, with the patch my computer is working perfectly. Chris, whether this patch will be submitted in merge window kernel 3.2 ? Sorry, I forgot to tell you. This issue was discussed in intel-gfx recently. Keith wrote a series of 9 patches on the code that is used by this bug. I believe the patches landed here: http://cgit.freedesktop.org/~jbarnes/linux?h=fix-pch-refclk And the one that solves our problem is: http://cgit.freedesktop.org/~jbarnes/linux/commit/?h=fix-pch-refclk&id=99eb6a01e5ac6cf28aadc64e6ff346939874dfd2 The root-cause is that on our machines we need to use DREF_NONSPREAD_CK505_ENABLE instead of DREF_NONSPREAD_SOURCE_ENABLE when setting the PCH_DREF_CONTROL register. I don't think this will come for 3.1, but at least now distros can try to backport something :) More information to help: If we're going to do a "minimal" backport we need: - this patch: http://lists.freedesktop.org/archives/intel-gfx/2011-September/012172.html - follow the comments here: http://lists.freedesktop.org/archives/intel-gfx/2011-September/012198.html The first link on this comment is the patch that "caused" Keith's rewrite. If you want to fully understand the problem, I recommend you to read all messages on that thread and also all replies to Keith's patch series (sent a few days after the discussion). Thank you very much for answer :) I'm currently using the patch from comment #12 this discussion and it works well, but every now and then I have to recompile kernel on ArchLinux (7 times, v3.0.7 :), so I want to know if the amendment shall enter into a stable kernel release, in version 3.1 is probably not possible, but maybe in version 3.2? The bug has been over a year, whether he is a chance that once it goes into the stable kernel relase, it was not necessary to create backports? Hi, I am trying to get use the 3.0 patch. I have downloaded the patch above to my home directory, downloaded the 3.0.0 source using apt-get. i've also have libncurses5-dev and gcc installed and updated and upgraded everything with apt-get. I can't get the patch to work though. I unbzipped /untarred the source then entered the linux-source-3.0.0 directory then ran louis@louis-laptop:/usr/src/linux-source-3.0.0/linux-source-3.0.0$ sudo cat /home/louis/patch.diff | patch -p1 patching file drivers/gpu/drm/i915/i915_drv.c patch: **** Can't rename file /tmp/pobVaNe5 to drivers/gpu/drm/i915/i915_drv.c : Permission denied louis@louis-laptop:/usr/src/linux-source-3.0.0/linux-source-3.0.0$ can anybody tell me what i'm doing wrong? I'm sure after i've patched it properly the compiling/installing of the new kernel will be no problem. Cheers, Louis When you type : "sudo cat /home/louis/patch.diff | patch -p1" You run cat as root and patch as louis. Then the error message should become clear to you. Anyway, you should do everything in your home and avoid touching the files in /usr/src. Please avoid using this bug report ticket to ask how to apply a patch, you should use a forum for this kind of question. Can you share patch for kernel 3.1? I tried the above but do not match. Is there a chance that the bug is fixed in kernel 3.2? (In reply to comment #36) > Can you share patch for kernel 3.1? I tried the above but do not match. > > Is there a chance that the bug is fixed in kernel 3.2? Yes, a pull was already requested. See: http://lists.freedesktop.org/archives/intel-gfx/2011-October/012856.html http://cgit.freedesktop.org/~keithp/linux/log/?h=drm-intel-next Please test drm-intel-next. I hope Linus will pull this soon. Created attachment 52870 [details] [review] drm-intel-next patch in kernel 3.1 (fix waves) Thank you Paulo Currently I test drm-intel-next and it works perfectly, no waves. Previously, when switching screens sometimes appear gray screen and had to switch again, now drm-intel-next yet this did not happen. I created a patch for kernel 3.1 on drm-intel-next, the file in the attachment. I hope that this can be included in kernel 3.2 :) Fixed in Linus' 3.2 tree. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=99eb6a01e5ac6cf28aadc64e6ff346939874dfd2 Fixes my machine. Closing bug. Reopen if that doesn't fix your machine. how do I apply this patch. I'm not really good at these things ? I've had this error for ever and I can't get it fixed... can it get merged into update or something ? Thanks Hi, the problem came back with linux kernel 3.5.3 (using Archlinux with latest intel 2.20.6 drivers). Whoops please ignore my last comment, wrong kernel version. |
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.