Πολλαπλάσια κατανάλωση ενέργειας σε 5.0.0-25-generic

Παρατήρησα σήμερα το πρωί ότι το ποσοστό της μπαταρίας του λάπτοπ έπεφτε πολύ γρήγορα, ενώ είμουν στα γραφικά intel. Ανοίγω powertop και βλέπω κατανάλωση ~10-15 watt σε idle :open_mouth:, ενώ κανονικά θα έπρεπε να είναι 3-4 watt.

Σε αυτό το σημείο να ενημερώσω ότι έχω αναπτύξει μια τρέλα με την κατανάλωση σε idle και έχω χάσει πολλά πρωινά από τη ζωή μου προσπαθώντας να τη βελτιστοποιήσω.

Ξεκινάω τις έρευνες και παρατηρώ ότι η κατανάλωση του επεξεργαστή σε idle φαίνεται και αυτή αυξημένη 2-3 watt από RAPL, παρατηρώ συχνότητες, power states κλπ, δοκιμάζω να αλλάξω σε nvidia επεξεργαστή γραφικών και πίσω σε ιντελ μήπως κόλλησε τίποτα αλλά δεν βοηθά και παρατηρώ ότι ακόμα και με την nvidia η κατανάλωση είναι λίγο λιγότερη.

Μετά από άλλες δοκιμές κάνω reboot σε παλαιότερο πυρήνα 5.0.0-23-generic και εκεί το πρόβλημα δεν υπάρχει. Δείτε διαφορά (Και στις δύο εικόνες τρέχουν τα γραφικά intel):

Επίσης παρατήρησα ότι στο νεότερο πυρήνα 5.0.0-25, το lspci δείχνει μια ακόμα συσκευή: 01:00.1 Audio device: NVIDIA corporation GP107L High Definition Audio Controller

Με το τελευταίο δεδομένο πιστευώ ότι το πρόβλημα είναι ότι ενώ είμαι στα γραφικά ιντελ, δεν απενεργοποιείται η κάρτα nvidia στον τελευταίο πυρήνα.

Επίσης αυτή η κάρτα ήχου δεν φαίνεται ακόμα και όταν είναι ενεργοποιημένη η nvidia, από όσο έχω παρατηρήσει σε αυτό το laptop στη συγκεκριμένη σύνθεση πυρήνα/οδηγού κλπ.

Θα ψάξω αν υπάρχει bug στο launchpad. Μπορεί κάποιος με παρόμοια σύνθεση να το επαληθεύσει? Για την ώρα θα μείνω στον παλαιότερο πυρήνα.

Ωραίος ! Ψάξε το και κάνε ένα bug report.

Σχετικά με την συσκευή Audio μέσω Nvidia είναι ο driver του ήχου για HDMI συνδέσεις. Το ότι δε φαίνεται είναι ίσως επειδή δεν έχει συνδεδεμένο HDMI μιας και στο Linux τα module φορτώνουν κατά την σύνδεση συσκευών (με εξαίρεση αυτά που είναι compiled in kernel)

Ενδιαφέρουσα ανάλυση. Κάνεις χρήση του prime ώστε να συνεργάζονται αρμονικά οι δύο κάρτες γραφικών; ? Κανονικά αν έχει στηθεί σωστά, η Intel φτιάχνει τα γραφικά και τα στέλνει στην NVidia που χρησιμοποιεί μόνο το framebuffer, και έτσι αυτή είναι ουσιαστικά απενεργοποιημένη. Διαφορετικά πρέπει να έχεις το βύσμα του monitor συνδεμένο στο βύσμα της Intel.

Αν το θέμα πάντως είναι η έξοδος ήχου από το hdmi για δες μήπως αν βάλεις το module στην μαύρη λίστα φτιάξει η κατάσταση

Ενδιαφέρον αυτό, θα το διαπιστώσω προσεχώς.

Χρησιμοποιώ τον οδηγό της nvidia 430 από Proprietary GPU Drivers : “Graphics Drivers” team. Είναι λάπτοπ, μέχρι τώρα μπορούσα να αλλάζω κάρτα με prime-select και επανεκκίνηση συνεδρίας χρήστη, και όταν επέλεγα την ενσωματωμένη, η ανεξάρτητη απενεργοποιείται τελείως. Φυσικά είναι muxless και η nvidia δεν επικοινωνεί απευθείας με την οθόνη.

Ποιό module ψάχνω ακριβώς?

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] [10de:1c8d] (rev a1)
Subsystem: Acer Incorporated [ALI] GP107M [GeForce GTX 1050 Mobile] [1025:1197]
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
Subsystem: Acer Incorporated [ALI] GP107GL High Definition Audio Controller [1025:1197]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel

Με την εντολή lsmod μπορείς να δεις ποια modules είναι ενεργά. Και δεν μπορείς να βγάλεις το snd_hda_intel μιας και το χρησιμοποιούν και η ενσωματομένη κάρτα ήχου.

Με ένα γρήγορο ψάξιμο βρήκα δύο τρόπους

blacklist snd_hda_codec_hdmi
options snd_hda_intel enable=1,0

αυτά στο αρχείο /etc/modprobe.d/blacklist.conf και δοκιμή με επανεκκίνηση. Ο δεύτερος τρόπος ίσως να θέλεο 0,1. Βρήκα και κάποιους που το κάνουν μέσω του pulse, αλλά εδώ ο στόχος είναι να μην φορτωθεί καθόλου,

Επίσης με την εντολή modinfo <module_name> μπορείς να δεις τι είναι το κάθε module (δηλαδή οδηγός συσκευής) και τι παραμέτρους παίρνει

1 «Μου αρέσει»

Παρατήρησα ότι το module snd_hda_codec_hdmi φορτωνόταν σε 5.0.0-25 και όχι σε -23.
Επιτυχία με τις προσθήκες στο /etc/modprobe.d/blacklist.conf. Η κατανάλωση είναι σε φυσιολογικά επίπεδα.

Κάτι που παρατήρησα, αλλά μάλλον δεν αποτελεί πρόβλημα, είναι ότι με τις προσθήκες καθυστερεί ελάχιστα η εντολή lspci και στο dmesg δίνει pci 0000:01:00.1: Refused to change power state, currently in D3 κάθε φορά που την τρέχω.

1 «Μου αρέσει»

Να και τι έκανε τη ζημιά: http://changelogs.ubuntu.com/changelogs/pool/main/l/linux-hwe/linux-hwe_5.0.0-25.26~18.04.1/changelog

  • Unhide Nvidia HDA audio controller (LP: #1836308)
    • PCI: Enable NVIDIA HDA controllers
3 «Μου αρέσει»

Σήμερα το bug στο launchpad αναφέρθηκε και στο phoronix, καθώς υποβλήθηκε patch: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git/commit/?h=for-next&id=bacd861452d2be86a4df341b12e32db7dac8021e

2 «Μου αρέσει»