Εξαφανίστηκε κάρτα γραφικών?

Σήμερα ξαφνικά συνειδητοποίησα ότι το prime-select nvidia δεν λειτουργούσε και με ένα lspci τρόμαξα στην απουσία της GTX1050:

george@george-A715-71G:~$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05)
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:15.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 (rev 31)
00:15.1 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 (rev f1)
00:1c.3 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
02:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader (rev 01)
03:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)
04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983

Το πρωί είχα αναβαθμίσει σε Ubuntu 19.10, αλλά δοκίμασα τουλάχιστον σε μια συνεδρία και είχε λειτουργήσει η κάρτα γραφικών. Δεν είναι πρόβλημα υλικού, σε windows και σε άλλη εγκατεστημένη διανομή λειτουργεί κανονικά. Δοκίμασα σε προηγούμενους πυρήνες και να ξαναεγκαταστήσω τους οδηγούς χωρίς διαφορά.

prime-select query
nvidia
george@george-A715-71G:~$ nvidia-smi
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

Linux george-A715-71G 5.3.7-050307-generic #201910180652 SMP Fri Oct 18 10:56:47 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

george@george-A715-71G:~$ dmesg | grep 0000:01
[ 0.291999] pci 0000:01:00.0: [10de:1c8d] type 00 class 0x030000
[ 0.292012] pci 0000:01:00.0: reg 0x10: [mem 0xa3000000-0xa3ffffff]
[ 0.292018] pci 0000:01:00.0: reg 0x14: [mem 0x90000000-0x9fffffff 64bit pref]
[ 0.292025] pci 0000:01:00.0: reg 0x1c: [mem 0xa0000000-0xa1ffffff 64bit pref]
[ 0.292029] pci 0000:01:00.0: reg 0x24: [io 0x4000-0x407f]
[ 0.292034] pci 0000:01:00.0: reg 0x30: [mem 0xfff80000-0xffffffff pref]
[ 0.292045] pci 0000:01:00.0: Enabling HDA controller
[ 0.292149] pci 0000:01:00.1: [10de:0fb9] type 00 class 0x040300
[ 0.292159] pci 0000:01:00.1: reg 0x10: [mem 0xa4000000-0xa4003fff]
[ 0.298817] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[ 0.298817] pci 0000:01:00.0: vgaarb: bridge control possible
[ 0.345042] pci 0000:01:00.0: can’t claim BAR 6 [mem 0xfff80000-0xffffffff pref]: no compatible bridge window
[ 0.345050] pci 0000:01:00.0: BAR 6: assigned [mem 0xa4080000-0xa40fffff pref]
[ 0.345123] pci_bus 0000:01: resource 0 [io 0x4000-0x4fff]
[ 0.345124] pci_bus 0000:01: resource 1 [mem 0xa3000000-0xa40fffff]
[ 0.345125] pci_bus 0000:01: resource 2 [mem 0x90000000-0xa1ffffff 64bit pref]
[ 0.347575] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
[ 112.966162] pci 0000:01:00.0: [10de:1c8d] type 00 class 0x030000
[ 112.966194] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00ffffff]
[ 112.966210] pci 0000:01:00.0: reg 0x14: [mem 0x00000000-0x0fffffff 64bit pref]
[ 112.966225] pci 0000:01:00.0: reg 0x1c: [mem 0x00000000-0x01ffffff 64bit pref]
[ 112.966235] pci 0000:01:00.0: reg 0x24: [io 0x0000-0x007f]
[ 112.966245] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0007ffff pref]
[ 112.966256] pci 0000:01:00.0: Max Payload Size set to 256 (was 128, max 256)
[ 112.966311] pci 0000:01:00.0: Enabling HDA controller
[ 112.966678] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[ 112.966785] pci 0000:01:00.1: [10de:0fb9] type 00 class 0x040300
[ 112.966810] pci 0000:01:00.1: reg 0x10: [mem 0x00000000-0x00003fff]
[ 112.966860] pci 0000:01:00.1: Max Payload Size set to 256 (was 128, max 256)
[ 112.978328] pci 0000:01:00.0: BAR 1: assigned [mem 0x90000000-0x9fffffff 64bit pref]
[ 112.978334] pci 0000:01:00.0: BAR 3: assigned [mem 0xa0000000-0xa1ffffff 64bit pref]
[ 112.978339] pci 0000:01:00.0: BAR 0: assigned [mem 0xa3000000-0xa3ffffff]
[ 112.978341] pci 0000:01:00.0: BAR 6: assigned [mem 0xa4000000-0xa407ffff pref]
[ 112.978342] pci 0000:01:00.1: BAR 0: assigned [mem 0xa4080000-0xa4083fff]
[ 112.978344] pci 0000:01:00.0: BAR 5: assigned [io 0x4000-0x407f]
[ 112.978447] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
[ 112.978473] snd_hda_intel 0000:01:00.1: enabling device (0000 → 0002)
[ 112.978583] snd_hda_intel 0000:01:00.1: Disabling MSI
[ 112.978587] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[ 113.680773] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input14

Παραπάνω είναι dmesg μετά από “echo 1 | sudo tee /sys/bus/pci/rescan”

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

Το express root port της συσκευής φαίνεται κανονικά στο lspci και η κάρτα αντιστοιχεί στη διεύθυνση 0000:01

Τίποτα προφανές να δοκιμάσω?

Δοκιμασε να εγκαταστησεις το Inxi.

Και μετα τρεξε: inxi -A -G
και δες αν σου ανυχνευσει την GTX

Αν αυτο δεν αλλαξει κατι τοτε δοκιμασε να bootαρεις με Live USB ή Live DVD με το 19.2 ή με καποια αλλη διανομη.

Graphics: Device-1: Intel HD Graphics 630 driver: i915 v: kernel
Display: x11 server: X.Org 1.20.5 driver: modesetting,nvidia unloaded: fbdev,nouveau,vesa tty: N/A
OpenGL: renderer: Mesa DRI Intel HD Graphics 630 (Kaby Lake GT2) v: 4.5 Mesa 19.2.1
Audio: Device-1: Intel CM238 HD Audio driver: snd_hda_intel
Sound Server: ALSA v: k5.3.0-19-generic

Τα περισσότερα προγράμματα ανίχνευσης υλικού βασίζονται σε άλλα, πιθανώς και το lspci, φυσικά η συσκευή δεν φαίνεται ούτε στο /sys/bus/pci/devices

Σε άλλα λειτουργικά φαίνεται κανονικά, κάτι από άποψης λογισμικού στη συγκεκριμένη εγκατάσταση ξεσκίστηκε.

Για δες και τι λεει το dmesg, αν αναφερει καποιο kernel panic οταν παει να φορτωσει τον driver για την GTX1050 ή οταν παει να την ανιχνευσει.

μιας και είναι επίκαιρο, είχες κανένα ppa πριν την αναβάθμιση;

Επίσης σε καινούργια εγκατάσταση 19.10 ισχύει το πρόβλημα ή είναι καθαρά θέμα τής αναβάθμισης;

Γενικά πάντως η ιδέα είναι κανείς να ψάξει την διαδικασία boot λεπτομερώς.

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

Όντως είχα το http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu από όπου είχα εγκαταστήσει και τους οδηγούς της nvidia, λες αυτό να ευθύνεται? Πάντως μετά την αναβάθμιση λειτουργούσε η κάρτα για τουλάχιστον μία συνεδρία και όταν παρατήρησα το πρόβλημα, δοκίμασα να βάλω και τους οδηγούς από τα αποθετήρια ubuntu. Θα δοκιμάσω ppa-purge.

https://paste.ubuntu.com/p/8tFC332Btt/

99% ναι. Καλό θα ήταν να το είχες αφαιρέσει πριν την αναβάθμιση. Ενδεχομένως είναι πια αργά για απλό ppa-purge και η ζημιά να μην είναι εύκολα αντιστρέψιμη (αλλά δεν χάνεις να δοκιμάσεις)

Το είχα σκεφτεί, αλλά δυστυχώς βαρέθηκα να ασχοληθώ με αυτό πριν την εγκατάσταση αναβάθμιση, το ppa-purge δεν απέδωσε. Κάνω backup το /home και θα κάνω σήμερα καινούργια εγκατάσταση.

Δεν έχω δει ποτέ κάποια τέτοια περίπτωση. Δοκίμασε να αφαιρέσεις την κάρτα και να ξεκινήσεις χωρίς αυτήν. Μέτα κλείσιμο του υπολογιστή, αφαίρεση της τροφοδοσίας για ένα λεπτό και επανατοποθέτηση της κάρτας, μαζί με μια ματιά στο BIOS.

Τώρα βλέπω πως ο οδηγός που φορτώνει είναι ο κλειστός, αλλά η εγκατάσταση του PPA θα πειράξει άσχημα το prime. Και χθες τα έλεγα (και με είπατε άγαρμπο :innocent: )

Είσαι μαυρόγατα :cat: πάντως :stuck_out_tongue:

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

Ευχαριστώ, αλλά είναι λάπτοπ και δεν επιτρέπονται αυτά.

Τελικά δεν ήταν το ppa.
Πάω να κάνω νέα εγκατάσταση, στο live usb φαίνεται κανονικά, μετά την εγκατάσταση κανονικά, μετά την εγκατάσταση nvidia-driver-435 πάλι κανονικά. Πάω από τις ρυθμίσεις nvidia να αλλάξω σε intel και μου λέει να κάνω reboot (κανονικά αρκεί μόνο αποσύνδεση χρήστη). Κάνω reboot, είμαι σε intel και όπως πριν, η nvidia δεν φαίνεται στο lspci.

Αυτό που έγινε είναι ότι στο ubuntu 19.10 πάλι άλλαξαν τον τρόπο που γίνεται εναλλαγή intel-nvidia. Πλέον απαιτείται επανεκκίνηση για αλλαγή και όταν είμαι σε intel δεν φαίνεται καν η nvidia. (και αν θέλει κάποιος cuda τι γίνεται? πρέπει πάλι να αρχίσω bugs αναφορές κλπ? τόσος κόσμος σε ubuntu 19.10 δεν το παρατήρησε κανένας αυτό και δεν το διάβασα πουθενά? συμβαίνει μόνο σε εμένα?)

Και στο ubuntu 18.04 θυμάμαι απαιτούσε επανεκκίνηση και το διόρθωσαν μετά από μισό χρόνο.

Αποτελέσματα:

  1. Linus-Torvalds-Fuck-You-Nvidia
  2. Πιθανότατα έκανα επανεγκατάσταση για το τίποτα, (ίσως το prime-select δεν λειτουργεί πάντως είχα κάνει πολλές επανεκκινήσεις και δεν διορθονώταν)
  3. Δεν αγοράζω ξανά λάπτοπ με nvidia
  4. Θα αρχίσω να εξετάζω άλλες διανομές που αντιπροσωπεύουν καλύτερα τις απαιτήσεις μου

2η ενημέρωση: Τελικά αποσύρω μερικές από τις παραπάνω δηλώσεις, τουλάχιστον για την ώρα λειτουργεί η εναλλαγή με logout, αλλά είναι νωρίς ακόμα για να ξαναρίξω ευθύνες σε ppa/εμένα/ubuntu/nvidia

Πάντως το υποσύστημα εναλλαγής γραφικών έχει αλλαγές στην ubuntu 19.10

laptop-nvidia-linux για μένα είναι συνώνυμο τής καταστροφής, Προσωπικά επίτηδες είχα πάρει intel για λάπτοπ και στον καινούργιο σταθερό μου πήρα amd gpu, και θα έλεγα αυτοί είναι καλοί συνδυασμοί.

Η διανομή που διαφημίζεται ότι έχει την καλύτερη υποστήριξη για nvidia σε λάπτοπ είναι το pop!os (δεν το έχω δοκιμάσει, μένω μακρυά από οτιδήποτε διατηρεί σχέση με ubuntu και μακρυά από nvidia, αλλά ίσως αν έπρεπε σε λάπτοπ με nvidia, να το δοκίμαζα αν ήμουν αρκετά απελπισμένος)

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

Και ισχύουν αυτά, αλλά περιορισμοί σε budget, φορητότητα κλπ με οδήγησαν σε τέτοια κατάσταση. Σε όσες διαμορφώσεις έκδοσης διανομής/ έκδοσης nvidia-driver έχω δοκιμάσει από τότε που πήρα το λάπτοπ, κάθε συνδιασμός είχε προβλήματα (διαχείριση ενέργειας, απαίτηση επανεκκίνησης, συχνά κολλήματα για 2-3 sec, screen tearing,…). Και τόσοι προβληματισμοί για τις 5-6 ώρες το μήνα που θα παίξω παιχνίδια, λόγω υποχρεώσεων.

Έχω κάνει πολλές δοκιμές μέχρι στιγμής και η κατάσταση είναι σταθερή. Συγκεκριμένα, αν στην εκκίνηση του λειτουργικού έχει επιλεχτεί intel τότε η nvidia δεν φαίνεται στο lspci και για εναλλαγή απαιτείται επανεκκίνηση. Αν στην εκκίνηση επιλέχτηκε nvidia, είναι δυνατή η εναλλαγή με logout-login, αλλά ισχύει αυτό, δηλαδή δεν απενεργοποιείται ενεργειακά η nvidia.

Τώρα γιατί δεν κατάφερα να αλλάξω σε nvidia στην προηγούμενη εγκατάσταση, δεν είμαι σίγουρος. Ίσως να έφταιγε το ppa.

Αν χρησιμοποειεις τους Open Source drivers δηλαδη το nouveau απλα χρειαζεται ενα DRI_PRIME=1 και το ονομα του προγραμματος που θες να τρεξεις… για να χρησιμοποιησει την nvidia… αλλα για proprietary drivers ισως χρειαστεις το bumblebee αν το Linux Mint και το Ubuntu το υποστηριζουν.

Σε άλλη εγκατάσταση έχω ανοιχτούς οδηγούς με nouveau/bbswitch/bumblebee, αλλά εκεί είναι ιστορία για άλλη φορά. Βασικά ο nouveau ειναι σε τόσο κακή κατάσταση (τουλάχιστον για pascal και νεότερες κάρτες) που καλύτερα να χρησιμοποιήσω την ενσωματωμένη της intel.

Να αναφέρω επίσης ότι πλέον στο Ubuntu 19.10 υπάρχει η επιλογή Nvidia On-Demand, η οποία αντιστοιχεί στην κατάσταση των windows, δηλαδή η intel κάνει render απο προεπιλογή, ενώ η nvidia μπορεί να χρησιμοποιηθεί για μεμονομένες εφαρμογές και όταν δεν χρησιμοποιείται απενεργοποιείται. Θεωρητικά τουλάχιστον, γιατί η απενεργοποίηση είναι μέχρι στιγμής δυνατή μόνο στις κάρτες turing (RTX 20XX, GTX 16XX), σε pascal που έχω εγώ, ακόμα και να μην τρέχει προγράμματα, θα παραμένει ενεργοποιημένη καταναλώνοντας 5-10 watt, το οποίο καταστρέφει όλη την κεντρική ιδέα…, δηλαδή δεν βελτιώνει αισθητά την κατάσταση από το performance mode.

Screenshot%20from%202019-10-28%2010-47-46

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

Ακριβώς. Η άποψή μου παραμένει ότι αν κάποιος δεν έχει κάποια εξειδικευμένη ανάγκη (κυρίως cuda) απλά δεν πρέπει να πάρει nvidia και σε λάπτοπ η intel είναι απολύτως ικανοποιητική. Έχω παίξει (στο Arch) The Talos Principle με την ταπεινή intel HD 4400, ο,τιδήποτε παραπάνω είναι εντελώς εξειδικευμένη ανάγκη.