Saturday, January 28, 2012

AMD Catalyst 12.1 Driver on HP Pavilion dv6t Quad Hybrid Radeon with Linux Mint 12 / Ubuntu 11.10 Oneiric

I found a way to fully use the powerful AMD/ATI Radeon 6770M Hybrid Graphics Card inside HP Pavilion dv6t Quad Edition in Linux Mint 12 / Ubuntu 11.10 Oneiric. Thanks to the comment by Linux Hybrid Graphics blog!

Right now, I have configured by AMD hybrid graphics laptop to use the Radeon card when on AC power (and get dramatically improved 3D rendering performance), and use the Intel built-in card when on battery power. I'm not sure if I will actually ever need the 3D since I almost never do 3D gaming on Linux, I mainly work as programmer. But the functionality is there and ready. :-)

Here's my steps to get it to work:
  1. First, if you use vgaswitcheroo to switch off the dedicated Radeon graphics card, disable the command in /etc/rc.local by commenting it :
    #echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
  2. Install additional prerequisite packages:
    sudo apt-get install linux-headers-generic dkms
  3. On 64-bit systems, create a symlink from /usr/lib64 to /usr/lib :
    sudo ln -svT lib /usr/lib64
  4. Follow the steps in Installing Catalyst Manually from AMD/ATI Website.
    In AMD/ATI Catalyst Linux Driver download page, make sure to download new AMD Catalyst Linux Driver version 12.1 (aka 8.930) or newer
  5. Use the Intel i915 VAAPI driver to get hardware accelerated decoding when playing videos using VLC, to install:
    sudo apt-get install i965-va-driver
  6. If you mess up the system, follow instructions in ATI driver re-install fail.
After reboot, your laptop should work just fine.
I have several minor issues (not a blocker by any means):
  • I still experience video tearing, even after I do:
    sudo aticonfig --sync-video=on
    and turned VSync sldier to Always On in AMD Catalyst Center.
    Maybe it's because I need to do this configuration on the Intel card?
  • KDE 4.8.0 multi-monitor setup is acting weird on the Radeon card only. It does detect multiple monitors, and can configure the resolution, position, etc. but doesn't detect that it is using multiple monitors, i.e. maximizing/full-screen-ing windows make it fill the whole desktop, not just one screen.
    This is a bit annoying as I watch movies a lot on a 32" HDMI LCD TV but still want to browse or do other stuff on the laptop while watching.

    KDE 4.8 multi-monitor setup works flawlessly when the Intel card is active.
I'll give an update when I've got more news on them...

Find tips to optimize your Ubuntu 11.10 in Ubuntu Unleashed 2012 Edition: Covering 11.10 and 12.04 (7th Edition) !

14 comments:

  1. Unfortunately, it doesn't work at all. I did the same how you explained it. I have a dv6 but the same graphic chip. Could you post here your xorg.conf file? Did you do something else than descriped? I would be glad for help! Thanks

    ReplyDelete
  2. Rename(backup) your xorg.conf and generate the new one using
    sudo aticonfig --initial -f

    My xorg.conf is:

    Section "ServerLayout"
    Identifier "aticonfig Layout"
    Screen 0 "aticonfig-Screen[0]-0" 0 0
    EndSection

    Section "Module"
    EndSection

    Section "Monitor"
    Identifier "aticonfig-Monitor[0]-0"
    Option "VendorName" "ATI Proprietary Driver"
    Option "ModelName" "Generic Autodetecting Monitor"
    Option "DPMS" "true"
    EndSection

    Section "Device"
    Identifier "aticonfig-Device[0]-0"
    Driver "fglrx"
    Option "TexturedVideoSync" "on"
    BusID "PCI:1:0:0"
    EndSection

    Section "Screen"
    Identifier "aticonfig-Screen[0]-0"
    Device "aticonfig-Device[0]-0"
    Monitor "aticonfig-Monitor[0]-0"
    DefaultDepth 24
    SubSection "Display"
    Viewport 0 0
    Depth 24
    EndSubSection
    EndSection


    BTW I don't get "dynamic hybrid" graphics but I can switch between dedicated and Intel by using the Catalyst. It does require a full reboot but at least it works. :-) I'm happy.

    I tend to use Intel more though than radeon... Besides, the Intel card works fine with KDE multi-monitor setup. If I use radeon, maximizing windows fill the entire desktop.

    ReplyDelete
  3. It works so well in fact, that I'm not even using the stock 11.10 kernel.

    $ uname -a
    Linux annafi 3.2.1-030201-i7 #201201121644 SMP Sun Jan 22 10:18:29 IST 2012 x86_64 x86_64 x86_64 GNU/Linux

    I'm using the brand new shiny 3.2.1 kernel with i7 optimization, yay! :-)
    I got it from http://duopetalflower.blogspot.com/2012/01/ready-3-2-1-go.html

    I thought it will break the Catalyst driver but in fact the card still works well with a different kernel :-)

    ReplyDelete
  4. @anonymous, try this :

    sudo apt-get install linux-headers-generic
    sudo apt-get dpkg-reconfigure fglrx

    then reboot, good luck!

    ReplyDelete
  5. Hi,
    I managed to install these new drivers (I was getting this error after giving aticonfig --initial -f:
    PowerXpress error: Cannot stat '/usr/lib64/fglrx': No such file or directory
    Failed to initialize libglx for discrete GPU
    I solved by creating a usr/lib64/fglrx folder and copying the /usr/lib/fglrx folder in it)
    Now, apart from the tearing problem, I'm not able to use Unity with the intel graphic card, just unity 2d.
    I'm pretty sure the intel card is more than capable to run the full unity, do you have this same problem?
    Lastly, I installed the 3.2.1 kernel you suggested but now wify doesn't work anymore.
    I have a dv6 with i7-2670 and radeon hd 6770m
    Thanks!

    ReplyDelete
  6. @Eug89, try this:

    sudo apt-get install linux-headers-generic dkms
    sudo apt-get dpkg-reconfigure fglrx

    then reboot, good luck!

    ReplyDelete
  7. Thanks a heap! I have been cursing this stupid setup for the nearly 12months I have had my DV6 laptop! In regard to the video tearing, you may have to configure it though the Intel card. I think they share a framebuffer or similar as in Windows I have to use the Intel control panel to control screen fit (lower resolutions stretched to fit the panel) even when the ATI card is the active one. I have linked to this from my blog where I collected some information on getting the basics going on these machines.

    ReplyDelete
  8. I can't solve this problem: without this proprietary drivers I'm able to use gnome shell and unity (3d) with the intel card (disabling the radeon through switcheroo). If I install these drivers and choose the integrated card then I'm only able to use unity 2d with the intel card. By testing if the intel card supports unity 3d through this command:
    /usr/lib/nux/unity_support_test -p

    I get:

    Not software rendered: yes
    Not blacklisted: yes
    GLX fbconfig: yes
    GLX texture from pixmap: yes
    GL npot or rect textures: yes
    GL vertex program: yes
    GL fragment program: yes
    GL vertex buffer object: no
    GL framebuffer object: yes
    GL version is 1.4+: yes

    Unity 3D supported: no

    Whereas if I try the same test without these drivers it gives me all yes...

    Do you have any ideas?

    ReplyDelete
    Replies
    1. I'm having the exact same problem.

      I tried to use Gnome3 and get the same results...only the classic version is working.

      Any idea how to fix this problem?

      BTW: I'm using a HP DV6

      Delete
    2. Snap!

      Same here - have you had any luck with this?

      Delete
  9. i translated this topic for my linux blog thank you for sharing this you can find link here http://linux-egitim.com/linux-cift-ekran-karti-cozumu.htm

    ReplyDelete
  10. "E: Unable to locate package linux-headers-generic-dkms" on Linux Mint 12 64 bit, with up-to-date package index. Any idea if this is really needed, and/or which package corresponds to it on this OS?

    ReplyDelete
  11. Sorry, I made a typo. It should have been:

    sudo apt-get install linux-headers-generic dkms

    ReplyDelete
  12. have you tried 12.04 yet? this install process doesn't work. With my limited knowledge I was able to narrow it down to something wrong having to do with gcc, but that is as far as I could troubleshoot.

    ReplyDelete