Δημοσιεύτηκε: 03 Ιουν 2012, 09:45
από sotos21
Για αρχή να ευχαριστήσω τον logari81 γιατί στοhttp://forum.ubuntu-gr.org/viewtopic.php?f=44&t=23530&start=0 με την υπόδειξη του από εδώ και μπρος, μπορώ να λειτουργήσω το σύστημα μου με τους ανοικτούς οδηγούς και αξιοπρεπέστατες θερμοκρασίες.
Στην παρακάτω εικόνα φαίνεται από το τερματικό, ότι χρησιμοποιούνται οι ανοικτοί, από το conky, ότι η θερμοκρασία είναι στους 46 βαθμούς(καλοκαιριάτικα) και τέλος από το launcher, ότι βρίσκομαι σε unity 3d.


Πηγαίνοντας εδώ http://www.x.org/wiki/RadeonFeature#KMS_Power_Management_Options βλέπουμε ότι έχουμε την δυνατότητα να αναγκάσουμε την κάρτα γραφικών να δουλεύει σε χαμηλότερες συχνότητες, η οποία δυνατότητα(όπως και άλλες) είναι κρυμμένη από το λειτουργικό. Είναι κρυμμένη, γιατί δεν λειτουργεί σωστά στην θέση auto (κάτι αντίστοιχο της on demand για τον πυρήνα), έτσι η canonical σκέφτηκε "βάλτην πάντα στο high για να μην έχουμε προβλήματα".
Στο high όμως έπρεπε να είναι όταν π.χ. παίζεις κάποιο απαιτητικό 3d παιχνίδι, αποτέλεσμα υψηλότατες θερμοκρασίες σε idle κατάσταση.
Έδωσα σε τερματικό
Κώδικας: Επιλογή όλων
sudo su

τον κωδικό μου και μετά
Κώδικας: Επιλογή όλων
echo low >  /sys/class/drm/card0/device/power_profile

Έκλεισα το τερματικό γράφοντας exit ή απλά πατώντας το κουμπί και αγνοώντας την προειδοποίηση.
Αποτέλεσμα οι παραπάνω θερμοκρασίες.
Δούλεψα μετά το laptop, με τις εργασίες που έκανα πάντα(π.χ. flash,hd video σε full screen) για 5 ώρες, μήπως δώ τυχόν κολήματα και δεν είδα κανένα, δηλαδή σε εμένα που έχω μέτριο επεξεργαστή και αδύναμη κάρτα γραφικών HD4200(είχα απενεργοποιήσει την HD5400 αλλά και όταν την είχα ενεργοποιημένη, δίνοντας την παραπάνω εντολή και με card1, είχα 7 βαθμούς παραπάνω θερμοκρασία δηλαδή 53 βαθμούς αντί για 65)η low δούλεψε ικανοποιητικότατα (κάποιος λιγότερο τολμηρός ή πιο απαιτητικός από τα γραφικά, ας δοκιμάσει με mid αντί για low)
Για να εκτελείται το σενάριο μόνιμα κάνουμε το εξής¨
Γράφουμε σε ένα τερματικό
Κώδικας: Επιλογή όλων
gksu gedit /etc/rc.local
μόλις ανοίξει το αρχείο συμπληρώνουμε στην προτελευταία γραμμή δηλαδή μια γραμμή πριν το exit το εξής
(sleep 30 ; echo low > /sys/class/drm/card0/device/power_profile) &
Δηλαδή το αρχείο να γίνει έτσι

Την καθυστέρηση την βάζουμε για να προλάβουν να φορτώσουν τυχόν άλλες υπηρεσίες ή προγράμματα πρώτα,(όπως στο conky) μετά σώζουμε το rc.local και κάνουμε επανεκκίνηση.
Όταν μπούμε στο λειτουργικό περιμένουμε λίγο και μετά δίνουμε σε τερματικό
Κώδικας: Επιλογή όλων
cat /sys/class/drm/card0/device/power_profile
αν μας επιστρέψει low τότε όλα πήγαν καλά.

Εdit Το ότι καταφέραμε να ξεκινάει το σενάριο, με το boot του υπολογιστή, οφείλεται στις συμβουλές των Learner και modenas88
Edit 2 Σε όσους δεν υπάρχει η διαδρομή γιατί έχουν 10.04 π.χ. πρέπει να βάλουν άλλο πυρήνα 2.6.35 και μετά.

Από το 13.04 δούλεψε σε εμένα και η δυναμική διαχείριση της ενέργειας.
Για να δοκιμάσετε αν δουλεύει και σε εσάς δώστε πρώτα
Κώδικας: Επιλογή όλων
sudo cat /sys/kernel/debug/dri/0/radeon_pm_info
και σημειώστε τι λέει στο current engine clock:
Μετά δίνετε σε τερματικό μια μια
Κώδικας: Επιλογή όλων
sudo su
echo low >  /sys/class/drm/card0/device/power_profile
echo dynpm > /sys/class/drm/card0/device/power_method
Ξανά την
Κώδικας: Επιλογή όλων
sudo cat /sys/kernel/debug/dri/0/radeon_pm_info

Κάντε σύγκριση αν στην γραμμή current engine clock: πέσαν τα ρολόγια. Αν ναι προχωράμε
Μετά ανεβάστε τα ρολόγια πηγαίνοντας π.χ. εδώ http://sinisterchipmunk.github.io/dungeon.html και δίνετε την εντολή με ανοιχτή την ιστοσελίδα
Κώδικας: Επιλογή όλων
sudo cat /sys/kernel/debug/dri/0/radeon_pm_info
Ανέβηκαν; Αν ναι, κλείστε την ιστοσελίδα, ξανά την εντολή, έπεσαν;
Αν έπεσαν τότε δουλεύει και σε εσάς σωστά, οπότε μένει μόνο να κάνουμε το σενάριο μόνιμο.
Δώστε
Κώδικας: Επιλογή όλων
gksudo gedit /etc/rc.local

μια γραμμή πριν το exit0 γράφουμε τις παρακάτω δύο γραμμές σώνουμε και επανεκκινούμε
(sleep 30 ; echo low > /sys/class/drm/card0/device/power_profile) &
(sleep 35 ; echo dynpm > /sys/class/drm/card0/device/power_method) &

Τέλος.