Monday, 3 May 2010

Flickering Monitor in Ubuntu 10.04 for ATI Cards



While Ubuntu 10.04, Lucid Lynx really runs like a Lucid Dream, the one thing that I found problematic is not being able to run dual monitors. While dual monitors worked great in Windows and even Ubuntu 9/8 for some reason whenever I tried to set up the second external monitor, it would always flicker and wiggle.

However, thanks to the great people at the Ubuntu forums, it seems like I have found a fix that works. Special thanks to clhsharky for this tip. You can read the full post here.

But here's the gist of it (I've tried this on an ATI x1400 Video card, and it stops the external monitor from flickering):

Update (August 20, 2010): Seems like the rc7 release is available. You might want to download that instead... (see the comments section for more information)
Update (August 21, 2010): As Ryan suggests in his comment below, the rc6/rc7 candidates may contain a security flaw, so you may want to read that first before proceeding...

Go to http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc6-lucid/ 
and download the following files and install them in this order (depending on which processor you have)

For Intel (x86/64) based processors download and install (installing as in double click the .deb files after downloading it and click install..) the following in this order:
linux-headers-2.6.34-020634rc6_2.6.34-020634rc6_all.deb
linux-headers-2.6.34-020634rc6-generic_2.6.34-020634rc6_i386.deb
linux-image-2.6.34-020634rc6-generic_2.6.34-020634rc6_i386.deb


For AMD processors download and install the following .deb packages in this order:
linux-headers-2.6.34-020634rc6_2.6.34-020634rc6_all.deb
linux-headers-2.6.34-020634rc6-generic_2.6.34-020634rc6_amd64.deb
linux-image-2.6.34-020634rc6-generic_2.6.34-020634rc6_amd64.deb


Finally, after you restart, you'll be able to choose the rc6 kernel while you boot, which should fix the problems.

Again, this may not work for all ATI cards, but it seems to work for mine!

And boy is Ubuntu fast... it loads in ~ 35 seconds on a 4 year old laptop. Impressive... and now I also use dual monitors if I want to!




Got a question, tip or comment? Send them to beyondteck+question@gmail.com and we'll try to answer it in a blog post!

26 comments:

  1. Exactly what I was looking for and it solved my problem. Thanks a lot!

    ReplyDelete
  2. I am using Mobility Radeon X1350 on an Intel/32bit machine (Compaq 6820s) and this worked for me! Killed my wireless though, I guess there is a problem with this kernel and the Broadcom STA driver. Fortunately, I don't make a habit of carrying my heavy CRT external monitor monitor around when I need to make use of my wireless cards... No luck in finding a fix, so I may just go without wireless for the time being and make sure I leave both this new kernel and the old in grub so I can switch between the two as I need them...

    I always had SOME flickering while using the 2nd monitor in the past (Although NEVER as bad as it was 10.04 out of the box) - so far, it's running splendidly! thanks

    ReplyDelete
  3. Hi, sorry this is off-topic but I figured I would share it in case someone was curious. The driver problem seems to have been caused by a disagreement over the location of the driver in the header-package.

    Solution:

    $ cd /usr/src/linux-headers-2.6.34-020634rc6-generic/include/
    $ sudo cp generated/* linux/

    Thanks again for your help!

    ReplyDelete
  4. Confirmed to be working with X1300 on Lenovo T60.

    Thanks for the post, you saved quite some time!

    Cheers

    ReplyDelete
  5. @oarion: yeah the kernel still seems to have some problems. Sometimes the clock would freeze for me and some applications also seemed to be having some problems.

    @others: glad I could help. But do keep in mind that the kernel is still only in the RC stages, so although it might fix the display issue, it may cause other problems.

    ReplyDelete
  6. Also very big thanks to the great people from my side at the Ubuntu forums.

    ReplyDelete
  7. The kernel fix the second display problem.
    But it starts to crash my system with flashing capslock.

    ReplyDelete
  8. Thanks,
    Worked for me also. No bug with wireless.
    Didnt full tested yet but for now there are no bugs.
    HP Compaq 6820s ati mobility x1350

    ReplyDelete
  9. Installed the new kernel today. Second screen is ok now, but LVDS now flickers. What the hell ... ;-)

    ReplyDelete
  10. This fixed my problem, but it would be nice if the kernel supported PAE. thanks!

    ReplyDelete
  11. This was exactly what I was looking for. Thank you for the post! I can now use my laptop on my 32-inch LCD screen without flickering!

    ReplyDelete
  12. This worked for Linux Mint 9 on my laptop. Thanks!

    ReplyDelete
  13. Awesome!
    This worked like a charm for my X1300
    Dual displays too!
    I used the rc7 deb packages: http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc7-lucid/
    Graphics Card: ATI Technologies Inc RV516 [Radeon X1300 Pro]

    ReplyDelete
  14. Sweet! You sir are a gentleman and a scholar

    My dual monitors work now.... I used the rc7

    ATI Technologies Inc Radeon RV250 [Mobility FireGL 9000] (rev 02)

    ReplyDelete
  15. Used http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc7-lucid

    on a lenovo t60p (similar to an older macbook) with Intel Core 2 and ATI Mobility FireGL v5250 installed with Mint 9 64 bit.

    gdebi forbade the use of the i386 linux headers. So I used the AMD64 ones and it appears that this fixes the problems.

    Nicolas Robidoux
    Laurentian University

    ReplyDelete
  16. ATTENTION!

    So I had used this same method, and posted a while back that it worked. Of course, while having the 2.6.34rc6 kernel installed, I was completely missing out on all the security updates that were installing on my machine automatically in the form of new 2.6.32 kernels, which simply piled up as alternate options in my grub menu that I do not use, because my monitor would still flicker if I were to boot any of those.

    There is a major security flaw in every official 2.6.x Linux kernel that was released before August 13, 2010. It's a flaw in the kernel that allows an attacker to obtain root privileges on your machine through the X-window system. So, if you're running a GUI and the kernel you're using, say for example, is either rc6 or rc7 of the kernel suggested for download in this post, you're vulnerable.

    Any version of the 2.6 kernel dating before that date is vulnerable, unless you actually knew about the problem and went and recompiled and patched the kernel. That includes both the 2.6.34rc6 as well as 2.6.34rc7 kernels. For more info, in case you haven't heard about this already, read:
    http://news.softpedia.com/news/Critical-Vulnerability-Silently-Patched-in-Linux-Kernel-152678.shtml

    SOLUTION...

    Long story short: if you are experiencing monitor problems, you will be a lot safer by learning how to compile the kernel on your own, and grab the source of 2.6.34.4 (or any higher in the 2.6.34.x line, personally I found 2.6.34.5 and it works great) - If you use the LATEST (e.g. the last couple days) version of the 2.6.32 kernel (as most of the Ubuntu community does as thats what canonical provides in the updates), you will NOT be vulnerable to the security flaw, but you will still have the flickering monitor!

    There are DEB packages available for "2.6.34.4" officially downloadable from Canonical, but they are listed as "2.6.34.4-maverick", and I am running Lucid. I tried installing those DEB's anyway, and it "installed" but the kernel did not boot. I had to resort to compiling a 2.6.34.5 kernel from scratch, which worked great.

    I had never succeeded in compiling a kernel before, but today I had to learn, and so do all of you unless you want to retain the major security flaw, throw away that second monitor, or do an early upgrade to Maverick. For the other newbies to kernel compiling, just Google "compile kernel in ubuntu 10.04" and follow the directions.

    As I understand it, the vulnerability has been removed and the issue resolved as of the following kernel versions:

    2.6.27.52 (and also any 2.6.27.x greater than 52)
    2.6.32.19 (and also any 2.6.32.x greater than 19)
    2.6.34.4 (and also 2.6.34.x greater than 4)
    2.6.35.2 (and also 2.6.35.x greater than 2)

    As of today, your best bet for this issue is then 2.6.34.4 or 2.6.34.5. Throw the release candidates away!

    Ryan

    ReplyDelete
  17. I'm not sure that the fix I confirmed actually is what made a difference. Using startupmanager, I checked, and it appears that what I did actually did NOT change kernel.

    It however appears that Ctrl-Alt-F6 and Ctrl-Alt-F7 is what's helping most. (It was not at first, which is why I am somewhat mystified.)

    Apologies for the unhelpful posts.

    Nicolas Robidoux

    ReplyDelete
  18. Cheers, this worked perfectly for me (installing rc6). No more flickering on my external monitor, yay!

    Thanks again.

    Mike.

    ReplyDelete
  19. I did, actually, install linux-image-2.6.35-02063503-generic_2.6.35-02063503.201008211321_amd64.deb

    (together with the two related debs)

    and this fixes my problems only linux mint 9, which is based on Ubuntu 10.04. This is a maverick kernel, and yet it runs just fine on my lucid derivative. And, it is one which is listed as safe from the security flaw.

    ReplyDelete
  20. You are a genius. I don't know how many hours I've spent fannying around with xrandr to get my Compaq nc6000 to work properly with an external monitor. The most annoying thing was that sometimes it would just work perfectly when plugged-in, the next time it would freak-out, the next time it would work but only if the Compaq was at a lower res... etc, etc. Please have virtual beer on me.

    ReplyDelete
  21. I'm running Lucid on an (almost) brand new Dell Vostro 3300 with Intel chipset (Core i5, Intel graphics 4500MHD).

    And i have the same Problem. And the second Problem: Go to http://kernel.ubuntu.com/~kernel-ppa/mainline/v2.6.34-rc6-lucid/ does not work!!it is not there!-so wich kernal-packeges shoult i download????

    ReplyDelete
  22. Hi Micha,

    Seems like the links were removed, possibly due to the security concerns noted earlier... May be you could try going to http://kernel.ubuntu.com/~kernel-ppa/mainline/ and getting the latest package for lucid? Not sure if that would work...

    ReplyDelete
  23. Hello I just installed the new kernel 2.6.34 and guess what; the screen is not flickering anymore...but it is BLUE !! Unbelievable ! Always something wrong with Lucid !

    Thanks anyway for this post and the help, will probably go back to 9.04.

    ReplyDelete
  24. Perfect solution!! It worked on my 10.04 after upgrading from 9.10. Didn't know it was a kernel bug.

    ReplyDelete
  25. =((( Doesn't work for my 2900XT. But thanks for the info, I am sure it will help other people.

    ReplyDelete
  26. I've solved this problem. Follow the steps that I mention here:

    https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/665233

    ReplyDelete