Radeon DPM – koniec z przegrzewaniem karty graficznej na otwartych sterownikach dla ATI/AMD Ubutnu 13.04 i wcześnejsze

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

ati-radeon-logo

Niestety moja karta graficzna nie jest już wśród wspieranych przez ATI/AMD urządzeń. Co prawda można zainstalować fglrx-legalcy, ale to dosyć kiepskie rozwiązanie. Otwarte sterowniki w wersji dołączonej do Ubuntu 13.04 mają dobre osiągi, ale bardzo szybko przegrzewają kartę graficzną. Rozwiązaniem tego problemu jest włączenie Radeon DPM przy każdym starcie systemu.

Aktualizacja to sposób działający tylko pod 13.04 i wcześniejszymi.

Tu wersja dla ubuntu 13.10: http://www.ubuntu-pomoc.org/radeon-dpm-w-ubuntu-13-1

Aby to zrobić wykonaj następujące czynności:

Uwaga: najlepiej zachować poprzednią wersję jądra na wszelki wypadek
  1. Pobierz i zainstaluj jądro Linux w wersji 3.11: http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/,
  2. Zainstaluj najnowsze sterowniki:
    sudo add-apt-repository ppa:oibaf/graphics-drivers
    sudo apt-get update
    sudo apt-get dist-upgrade
  3. (niekoniecznie – nie dla wszystkich kart są tam pliki) Zainstaluj najnowszy plik firmware x_smc.bin do pobrania stąd (gdzie x to nazwa kodowa Twojej karty graficznej – poznasz ją jeśli wydasz polecenie glxinfo – powinna być gdzieś na początku). Według twórców oryginalnego artykułu, bez tego pliku spada wydajność karty graficznej, ale ja różnicy nie zauważyłem. Pobrany plik wrzuć do katalogu /lib/firmware/radeon.
  4. Domyślnie jądro ma wyłączoną obsługę Radeon DPM. Aby ją włączyć wraz ze startem systemu wydaj polecenie:
    sudo gedit /etc/default/grub

    Następnie odszukaj linijkę o następującej treści:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

    i dodaj w cudzysłowie parametr radeon.dpm=1 poprzedzając go spacją, np.:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.dpm=1"

    Na koniec zaktualizuj GRUBa:

    sudo update-grub
  5. Uruchom ponownie komputer.
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Grzegorz Piszczan

    Nie można tego jakoś inaczej rozwiązać, bez zmiany jądra i grzebania w ustawieniach?

    • Gość Niedzielny

      Poczekać na Ubuntu 14.04 gdzie powinno to być już domyślnie włączone, bo na 13.10 nie liczę.

    • jeremi360

      nachwilę obecną nie :(

    • pavbaranov

      Masz kartę wspieraną (jeszcze) przez AMD. W Twoim przypadku sensowniej jest albo wybrać Catalyst albo sterowniki otwarte w zależności czego potrzebujesz i czego oczekujesz. Biorąc pod uwagę Twoje pytania, sugerowałbym abyś nie sięgał po testowe rozwiązania (testowy kernel a i sterowniki oibafa są z git). Problem z przegrzewaniem GPU dotyczy tylko sterowników otwartych, zatem jeśli używasz Catalysta to u Ciebie nie występuje.

      • Grzegorz Piszczan

        Czyli nie muszę się martwić? Ok, dzięki. A powiedz jeszcze, jakim poleceniem wydanym w terminalu mogę sprawdzić temperaturę karty? A może jest gdzieś, tak jak w sterach NVidii, wyświetlana w panelu sterowników?

  • Grzegorz Piszczan

    Jeszcze jedno pytanie. Czy punkt „zainstaluj najnowsze sterowniki” tyczy się otwartych, czy zamkniętych? Co, jak ktoś jedzie na zamkniętych?

    • jeremi360

      zamknięte sterowniki same to włączać powinny, ale tylko te dla kart dalej wspieranych przez ATI/AMD

      • Grzegorz Piszczan

        A ATI Mobility Radeon HD 5470 jest wspierany? Jak to zrobić?

        • pavbaranov

          HD 5470 jest (chyba) wspierane przez sterowniki otwarte, a dla nich to bez różnicy, zatem także w przypadku tego chipsetu winno być wspierane.

  • Shottas

    Czemu zainstalowanie „fglrx-legacy” to kiepskie rozwiązanie?

    • jeremi360

      bo cofa wersje xorg do 1.12 z 1.13, a poza tym wprzeciwieństwie do otwartych miało problem z rednerowniem gier u mnie

      • Shottas

        Z tym Direct3D 9 to jak jest, już jest dostępny na ubuntu? Można już grać w gry czy jeszcze trzeba czekać?

        • wowloczek

          Dokładam się do powyższego pytania.

        • Gość Niedzielny

          Nie ma i nie będzie.

        • http://freecad-tutorial.blogspot.com/ kwahoo
          • Shottas

            Heh a już myślałem że sobie pogram w gry na ubuntu a tu kicha, faktycznie chyba „Nie ma i nie będzie.” Jednak trzeba się wrócić do windowsa, nie wiem po co tyle newsów o tym direct9 piszą jeśli zwykły użytkownik nie może z tego skorzystać.

  • Tomek

    Na swoim Ubuntu 12.04.2 poleceniem

    sudo apt-get remove –purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
    odinstalowałem sterownik własnościowy i zrestartowałem system. Po restarcie miałem 3D.
    Następnie zainstalowałem kernel 3.11 – po restarcie wszystko działało OK.
    Następnie zainstalowałem sterownik z tego repo
    sudo add-apt-repository ppa:oibaf/graphics-drivers
    Po restarcie mam komunikat:
    This system does not support OpenGL.

    Co poszło źle?

  • Tomek

    Najnowsze informacje: zainstalowałem świeżutki Ubuntu 12.04.2 i po wykonaniu wszystkiego według instrukcji Jeremiego wszystka działa. Dziękuję. Wreszcie nie muszę instalować sterów własnościowych.

  • ja

    Ubuntu 13.04. Radeon hd 4250. Zainstalowane wg opisu. Czy działa? Nie widzę różnicy.

  • pavbaranov

    Cóż, trzeba – niestety, bowiem jestem zwolennikiem sterowników oibafa – powiedzieć, że tym razem mogą one spowodować problemy z wyświetlaniem. U mnie np. powodują utratę pasków menu (obramowania), brak przejrzystości panelu, utratę możliwości przeglądania aplikacji pod alt+tab, przesłanianie przez niektóre aplikacje panelu itp.; problemy z widzeniem karty wifi przez system.
    Rozwiązanie prawdopodobnie będzie dobre, ale chyba, przynajmniej w niektórych przypadkach, trzeba na nie poczekać jeszcze miesiąc, czy dwa.
    Karta – Mobility Radeon HD3200 (RS780M), system: Kubuntu 13.04+aktualizacje z kubuntu-ppa, czyli KDE 4.11; z mniej typowych rozwiązań kernel 3.10.9 od NetBit73 (ale na testowym 3.11 nic się nie zmienia).

  • ja

    Update: chyba jednak działa. Podczas oglądania youtube tak jakby karta mniej grzeje i wentylator ciszej śmiga. Wcześniej już po godzinie szum jak odkurzacz i piekarnik w jednym. Zatem na plus.

    • http://freecad-tutorial.blogspot.com/ kwahoo

      Sprawdź poziom zasilania, powinien być różny zależnie od zmian obciążenia

      sudo cat /sys/kernel/debug/dri/0/radeon_pm_info

      Przy okazji można też spróbować doinstalować wsparcie vdpau

      sudo apt-get install libg3dvl-mesa

      I wtedy zaptaszyć wsparcie sprzętowe w flashplayerze Youtube.

      • Pietrek SOR

        Proszę o pomoc, przy instalacji sterownika libg3dvl pojawia się komunikat:

        Czytanie list pakietów… Gotowe

        Budowanie drzewa zależności

        Odczyt informacji o stanie… Gotowe

        E: Nie udało się odnaleźć pakietu libg3dv1-mesa

        Sterowników najnowszych nie zainstaluję ponieważ robi mi się błąd pakietów i nie da się później wklepać pozostałych komend, czy ten lib3d jest zależny od nowych sterów? Jak sprawdzić obecną datę zainstalowanych sterowników?

        • http://freecad-tutorial.blogspot.com/ kwahoo
          • Pietrek SOR

            Jestem laikiem, dopiero zaczalem korzystac z linuxa. Czy moglbys mi napisac co mam zainstalowac z tego linka i jak? Co to jest repo nie mam pojecia, dzieki.

            • http://freecad-tutorial.blogspot.com/ kwahoo

              Graficznie: W Centrum Oprogramowania Ubuntu masz w menu Zasoby Oprogramowania Oprogamowanie i aktualizacje) i dalej kartę Inne Oprogramowanie i przycisk Dodaj. I tam wklejasz ppa:oibaf/graphics-drivers jak opisano na stronie, którą podałem.

              To samo można zrobić w terminalu:
              sudo add-apt-repository ppa:oibaf/graphics-drivers

              I potem zaaktualizować sterowniki:
              sudo apt-get update
              sudo apt-get upgrade

              i zainstalować bibliotekę
              sudo apt-get install libg3dvl-mesa

              • Pietrek SOR

                Dzięki wielkie, działa :) I jeszcze pytanie, czy te sterowniki współpracują z przeglądarką, mam na myśli wykorzystanie GPU do renderowania stron WWW?

              • Pietrek SOR

                Jednak sprzętowe dekodowanie nie działa u mnie na youtube. Czy można sprawdzić jakąś komendą czy VDPAU działa?

              • http://freecad-tutorial.blogspot.com/ kwahoo

                Wydaje mi się, że Flash tylko akceleruje wyświetlanie, ale już nie dekodowanie.

              • Pietrek SOR

                Zainstalowałem ten odtwarzacz |Smplayer| i po wybraniu VDPAU jest czarny ekran i film nie rusza.

                mplayer -vc help | grep vdpau

                WARNING: gnome-keyring:: couldn’t connect to: /run/user/piotr/keyring-zZQt5S/pkcs11: No such file or directory

                ffmpeg12vdpau ffmpeg working FFmpeg MPEG-1/2 (VDPAU) [mpegvideo_vdpau]

                ffwmv3vdpau ffmpeg problems FFmpeg WMV3/WMV9 (VDPAU) [wmv3_vdpau]

                ffvc1vdpau ffmpeg problems FFmpeg WVC1 (VDPAU) [vc1_vdpau]

                ffh264vdpau ffmpeg working FFmpeg H.264 (VDPAU) [h264_vdpau]

                ffodivxvdpau ffmpeg working FFmpeg MPEG-4,DIVX-4/5 (VDPAU) [mpeg4_vdpau]

                piotr@piotr-TravelMate-5510 ~ $ mplayer -vo help | grep vdpau

                WARNING: gnome-keyring:: couldn’t connect to: /run/user/piotr/keyring-zZQt5S/pkcs11: No such file or directory

                vdpau VDPAU with X11

              • http://freecad-tutorial.blogspot.com/ kwahoo

                1) Jaka karta? Może niewspierana?

                2) vdpauinfo coś ciekawego wyrzuca?

              • Pietrek SOR

                1) Radeon x1100

                2) vdpauinfo

                display: :0 screen: 0

                API version: 1

                Information string: G3DVL VDPAU Driver Shared Library version 1.0

                Video surface:

                name width height types

                ——————————————-

                420 2048 2048 NV12 YV12

                422 2048 2048

                444 2048 2048 Y8U8V8A8 V8U8Y8A8

                Decoder capabilities:

                name level macbs width height

                ——————————————-

                MPEG1 0 16384 2048 2048

                MPEG2_SIMPLE 3 16384 2048 2048

                MPEG2_MAIN 3 16384 2048 2048

                Output surface:

                name width height nat types

                —————————————————-

                B8G8R8A8 2048 2048 y NV12 YV12 Y8U8V8A8 V8U8Y8A8

                R8G8B8A8 2048 2048 y NV12 YV12 Y8U8V8A8 V8U8Y8A8

                Bitmap surface:

                name width height

                ——————————

                B8G8R8A8 2048 2048

                R8G8B8A8 2048 2048

                A8 2048 2048

                Video mixer:

                feature name sup

                ————————————

                DEINTERLACE_TEMPORAL –

                DEINTERLACE_TEMPORAL_SPATIAL –

                INVERSE_TELECINE –

                NOISE_REDUCTION y

                SHARPNESS y

                LUMA_KEY –

                HIGH QUALITY SCALING – L1 –

                HIGH QUALITY SCALING – L2 –

                HIGH QUALITY SCALING – L3 –

                HIGH QUALITY SCALING – L4 –

                HIGH QUALITY SCALING – L5 –

                HIGH QUALITY SCALING – L6 –

                HIGH QUALITY SCALING – L7 –

                HIGH QUALITY SCALING – L8 –

                HIGH QUALITY SCALING – L9 –

                parameter name sup min max

                —————————————————–

                VIDEO_SURFACE_WIDTH y 48 2048

                VIDEO_SURFACE_HEIGHT y 48 2048

                CHROMA_TYPE y

                LAYERS y 0 4

                attribute name sup min max

                —————————————————–

                BACKGROUND_COLOR y

                CSC_MATRIX y

                NOISE_REDUCTION_LEVEL y 0.00 1.00

                SHARPNESS_LEVEL y -1.00 1.00

                LUMA_KEY_MIN_LUMA y

                LUMA_KEY_MAX_LUMA y

  • pavbaranov

    Zatem tak. Przegrzewanie się Radeona (HD 3200/RS780 mobilny) na sterownikach otwartych w przypadku kernela eXta (zbudowany na 3.10.10, mesa 9.2 i Xort 11) – ok. 70-80*C. W przypadku kernela 3.11rc7 z mainline *buntu – temperatura praktycznie taka sama. Jedyna różnica w przypadku oglądania filmów flv – tu kernel eXta sięga ok. 90*C, zaś 3.11 ok. 80*C. W dalszym ciągu dużo za dużo.

    • http://maniu.com.pl/ maniu

      A u mnie róznica jest bardzo widoczna :D

      Kernel 3.10.10 by ext73:
      http://wstaw.org/w/2dcH/

      Kernel 3.11rc7 + włączone radeon dpm:
      http://wstaw.org/w/2dcK/

      Jak widać na screenach jest ~10’C różnicy :D
      Aha… to wszystko na sterach open source.

      Pozdrawiam.

  • Shottas

    Hmm faktycznie po włączeniu DPM laptop mniej się grzeje ale jest jeden problem, po wybudzeniu laptopa wszystko sie muli, tak jakby akceleracja graficzna przestała działać czy co, np. w CS:Source normalnie mam 60 fps a po wybudzeniu 15-25 fps. Wszystko wraca do normy kiedy uruchomie system ponowie ale jest to trochę uciążliwe bo nie mogę korzystać z usypiania.

  • Linuxfan

    Trochę laickie pytanie, ale jak zainstalować ten kernel 3.11, bo co dalej robić to wiem. :)