[Review] Gs40 6Qe Sous GNU/Linux

Cette review s’attardera sur la compatibilité et les performances du GS40 sous GNU/Linux, je vous propose de faire un petit tour et centraliser toutes les cochonneries auxquelles j’ai été confronté.


Sommaire:

  • Le hardware
  • L’OS, le kernel et le truand DE
  • Les problèmes résolus
    • 1.GPU/Affichage
    • 2.Rétroéclairage
    • 3.SSD nvme
  • Les problèmes persistants
    • 1.Le WiFi
    • 2.Le Son
  • Autonomie
    • 1.Utilisation « normale »
    • 2.L’écran tu suce trop, j’ai plus de jus
    • 3.turn_off_gpu.sh
  • Le profil des ventilos (EC)
  • Du bench
    • Dota
    • EU IV
  • Lexique
    • Drivers
    • Commuter GPU
    • Librairies
    • Display servers

Le hardware

CPU: Intel® Core™ i5-6300HQ CPU @ 2.30GHz
iGPU: Intel Corporation HD Graphics 530 (rev 06)
dGPU: NVIDIA Corporation GM204M [GeForce GTX 970M] (rev ff)
Thunderbolt: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
Ethernet: Qualcomm Atheros Killer E2400 Gigabit Ethernet Controller (rev 10)
Wireless: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
Son: Realtek ALC898
Affichage: LG Display // LP140WF3-SPD1 via eDP (embedded display port) // 1920x1080 // 14"
I/O:

  • Gauche (RJ45, PWR, USB3.1 gen ?, SDcard via USB 2.0, Aux In, AUX Out)
  • Arrière (Fan CPU, DisplayPort, Fan GPU)
  • Droite (Fan GPU, HDMI, USB 3.1 gen ?, USB type C 3.1 gen 2 + thunderbolt)

L’OS, le kernel et le truand DE

OS: Manjaro 17.0.1 Gellivara
Kernel: x86_64 Linux 4.10.10-1-MANJARO
DE: Budgie


Les problèmes résolus

  1. La gestion de la carte graphique/affichage. Pour booter même sur un live USB il faut ajouter des paramètres au kernel, c’est pas spécifique à ce pc, on retrouve le même problème sur d’autres marques avec configs similaires (https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-234494238). Les paramètres sont:

    acpi_osi=!
    acpi_osi="Windows 2009"
    
  2. La gestion de rétroéclairage de l’écran, même solution, le premier résout un problème lors de l’extinction/allumage de l’écran (économie d’énergie) le second est expliqué ici par bibi:
    https://forum.manjaro.org/t/solved-kernel-4-14-screen-backlight-randomly-change/35688/3

    acpi_backlight=vendor
    video.report_key_events=0
    
  3. Le SSD nvme qui chauffe: résolu avec le kernel 4.11


Les problèmes persistants

  1. Le Wifi, plusieurs problèmes (ath10k/QCA6174):

    • Des problèmes de latence (environ 150ms) à intervalle régulier (toute les 120sec) apparemment quand la carte « écoute » les APs aux alentours.
    • Un mode monitor qui ne marche pas, la carte est aveugle: https://forum.aircrack-ng.org/index.php/topic,1521.15.html
    • Je parle même pas de l’injection de packet sans monitor.
    • Le crash récurent du firmware lorsque connecté à un réseau (802.11ac) 5GHz avec une largeur de bande de 80MHz, pas testé 160MHz mais j’en espère rien.
  2. Le son, celui là est vicieux et peut percer vos précieux tympans:
    Je vais utiliser un programme pour illustrer: alsamixer

    Sur la capture les barres Master et PCM servent à gérer le son de 0 à 100, 2 scénarios:

    • via speakers intégrés
      Master & PCM influent sur le son
      Master=MM mute/sourdine le son
      Master=00 mute/sourdine le son
    • via prise casque
      PCM seul influe sur le son
      Master=MM mute/sourdine le son
      Master>00 allume les enceintes intégrées :skull_and_crossbones:

    Or les contrôles du volume (les niveau 1/2/3/4/…) sont les mêmes dans les deux scénarios:

    niveau 0: Master MM // PCM 00
    niveau 1: Master 00 // PCM 69
    niveau 2: Master 04 // PCM 100
    niveau 3: Master 10 // PCM 100
    niveau 4: Master 17 // PCM 100
    niveau 5: Master 24 // PCM 100
    niveau 6: Master 31 // PCM 100
    niveau 7: Master 37 // PCM 100
    niveau 8: Master 44 // PCM 100
    niveau .: Master .. // PCM ...
    

    En considérant que le niveau sur ma capture « 25/100 » (PCM) est à mon appréciation « fort ».
    Le niveau 1 « 69/100 » (PCM) est à peine soutenable, un truc un peu amplifié et pouf plus d’oreilles.
    Le niveau 2 nous met à fond les ballons, en bref que 2 niveaux possibles: trop fort et trop fort ++
    Le Bricolage pour contourner le problème, créer des raccourcis clavier:

    ## Unmute / Enlever la sourdine:
    Alt+^ = amixer set Master unmute
    ## Baisser PCM par palier de 1 ou 2:
    Alt+$ = amixer set PCM 6-
    ## Augmenter PCM par palier de 1 ou 2:
    Alt+* = amixer set PCM 6+
    

Autonomie

La batterie est vendue comme 8.06Ah à 7.6V -> 61.256Wh.
J’utilise TLP pour la gestion de l’énergie: https://wiki.archlinux.org/index.php/TLP
PowerTOP v2.9 donnera la conso en temps réel ainsi qu’une estimation, je donnerais estimation + réel dans le premier test, je me contenterais de l’estimation pour le reste.

  1. Utilisation "normale"
    Le test à lieu au moment où j’écris ces lignes, j’ai powertop, un shell zsh et firefox en permanence.
    Sous firefox un onglet soundcloud plus un nombre variable d’onglet de texte/image.
    Côté périphériques: un Displayport + écran interne donc dual screen, un usb vers un hub situé sur l’écran et un jack vers des enceintes, Wifi On, Bluetooth Off, rétroéclairage clavier On.
    L’écran interne est à 11/21 de luminosité, ce qui équivaut à 100/100 sur mon Dell U2211H, agréable sous une fenêtre avec ciel bleu et pas de soleil direct (17h16 20/04/2017).

    PowerTOP donne une conso entre 16.5Wh et 20.5Wh en moyenne 17.3 Wh et estime 3H38.
    Du coup 61.256/17.3 = 3.54 heures d’autonomie (3.54 = 3h32).

    En pratique: j’ai eu une autonomie de 3h07, 25 mins de moins qu’estimé, comment l’expliquer ?
    J’ai récup l’output de PowerTOP quelques seconde avant l’arrêt:

    The battery reports a discharge rate of 17.5 W
    The power consumed was 367 J
    System baseline power is estimated at 18.9 W
    
    Power est.    Usage         Device name
      10.9 W      54,1%         Display backlight
      3.00 W      100,0%        Audio codec hwC0D0: Realtek (pulseaudio )
      1.53 W      19,7%         CPU core
      1.44 W      23,8 ops/s    GPU misc
      674 mW      19,7%         DRAM
      534 mW      19,7%         CPU misc
      278 mW      23,8 ops/s    GPU core
                  17,2 pkts/s   Network interface: wlp62s0 (ath10k_pci)
                  100,0%        Radio device: ath10k_pci
      106 mW      83,2%         USB device: USB2.0-CRW (Generic)
                  0,0 pkts/s    Network interface: enp61s0 (alx)
        0 mW      0,0%          Audio codec hwC0D2: Intel
    

    Avoir un « baseline power » supérieur à la conso actuelle semble étrange, en utilisant cette donnée:
    61.256/18.9 = 3.24 heures (3.24 = 3h14)
    Plus que 7 minutes d’écart, ça devient négligeable, suffisait de prendre le bon chiffre.

    Puisque le mystère est élucidé, continuons avec l’IPS, je savais que c’était un type de dalle gourmand mais 10.9W ce serait plus de la moitié de la conso :skull_and_crossbones:

  2. L’écran tu suce trop, j’ai plus de jus
    J’ai testé le rétroéclairage de l’écran mini/maxi et éteint pour voir.
    Donc la conso globale du système via une moyenne de 10 relevés:
    Éteint: 13.23Wh
    Mini: 15.70Wh
    Maxi: 18.65Wh

    Donc l’écran consommerais entre 2.5W et 5.5W (arrondi comme un bourrin)

    Du coup en utilisant un écran externe on pourrait théoriquement pousser l’autonomie à:
    61.256/(18.9-4*) = 4.11 = 4h06
    et avec l’écran au mini:
    61.256/(18.9-1.5**) = 3.52 = 3h31

    Note: J’ai obtenu 18.9 avec l’écran à 50% dans mon test réel: 5.5-2.5=3 (la différence min/max).
    *2.5+3/2=4 (la conso à 50%)
    ** 1.5 (la différence min/50%)

  3. turn_off_gpu.sh
    Je fait ce test pour voir si couper le GPU (jusqu’au prochain reboot) est plus efficace que Bumblebee.
    La source du cassage de pattes: https://wiki.archlinux.org/index.php/hybrid_graphics

    # modprobe acpi_call
    # /usr/share/acpi_call/examples/turn_off_gpu.sh
    

    La réponse est non, via une moyenne de 17 relevés j’obtiens:
    Bumblebee: 16.25Wh
    turn_off_gpu.sh: 15.74Wh
    Rien de très significatif…


Le profil des ventilos (EC)

Ancien utilisateur du « fan Control Tools By Pherein » j’ai constaté qu’il n’y avait rien sous linux, j’ai donc été lire l’EC (Embedded Controller) et ai scripté de quoi modifier le profil des fans.

La capture vous montre les valeurs par défaut (à chaque boot):

T1=Temp CPU
T2=Temp GPU
F1=Vitesse Fan CPU
F2=Vitesse Fan GPU

J’ai même trouvé un bug, le graph de gauche montre les % dans l’EC, celui de droite montre que dans les faits le fan cpu tourne 300 rpm trop vite au premier palier…
J’ai pas été embêter le support MSI, je pense qu’ils vont m’envoyer bouler :rofl:.

Je publierais le soft/script plus tard (je demande si il mérite un git en fait, ça me fait chier de le post à l’arrache sur le topic :stuck_out_tongue:).
Ah et le soft/script que s’appelerio Quézac Wyvern.
Ah et qu’il à et n’aura pas de GUI parce que c’est con de faire une GUI pour un truc qui tourne en arrière plan, nah !

Le GitHub du script qui me permet d’edit l’EC: https://github.com/YoyPa/isw
Par contre j’ai tout mis en anglois (sauf dans le script, il y a encore des commentaire en francais :rofl:).


Du bench

Je ferais pas de graph, de capture d’écran ou de vidéo, juste une moyenne via 10 photo du compteur de fps prises en cour de gameplay toutes les 10secs.
Pas de Vulkan, bumblebee ne sais pas gérer pour l’instant et les jeux ont été lancé via:

vblank_mode=0 primusrun

J’ai aussi testé optirun, j’ai jugé ça trop similaire pour m’embêter avec.

Dota Linux/Windows
1920x1080 // réglage en High // Vsync off // créature environnante off

Moy. Linux: 82 fps
Note: Limité à 60 fps sur écran externe

Moy. Windows: 121 fps
Note: RAS

EU IV Linux/Windows
1920x1080 // niveau de détail 2 // tout en « on »

Limité à 60 fps sous les deux OS, pas de bug à déplorer.


Lexique

Drivers

  • Nvidia - Les drivers proprio Nvidia
  • Nouveau - Les drivers libres pour CG Nvidia: https://nouveau.freedesktop.org/wiki/
    Pas essayé, ils sont moins performants d’après la populace du net.
    Et ne savent pas gérer l’énergie automatiquement (Power state).

Commuter GPU
Une histoire: https://github.com/Bumblebee-Project/Bumblebee/wiki/History-of-the-project

  • Optimus - La techno Nvidia pour switcher de GPU
    Non supportée sous Linux.
  • Bumblebee - Une implémentation libre d’Optimus
  • PRIME - Ancêtre de Bumblebee
  • BBSwitch - Permet de switcher de GPU lorsque invoqué
    Fait partie du kernel, maintenu par l’équipe de bumblebee

Librairies

Display servers
Une transition à prévoir:

  • X11 - Du passé/présent
  • Wayland - Du présent/futur

=== EDIT possible, ça évolue ===

Bon courage !

T'as pas précisé quelle distro de Linux, et la version du noyau aussi joue beaucoup avec le matos récent.
 

Suivant les distros et le modèle de portable ça peut rapidement devenir un enfer. Pour le GX60 de MSI, je me rappelle que ça  a été sport aussi bien sous Mint que sur Slackware avant que les drivers open source ne rattrapent les drivers officielles d'AMD.

 

Alors que le 15R3 avait juste besoin de démarrer en mode Muxless et Mint s'est installé d'une traite sans broncher, seul le dithering était à activer dans Nvidia-settings pour éviter le banding. Reboot en mode muxed et Prime s'est configuré tout seul comme un grand. Même pas drôle :P. On peut pas voler à DELL le fait d'être linux friendly.

 

Je te souhaites bien du plaisir (et du courage) pour ta configuration. Oublies pas de backup tout tes fichiers de conf une fois au point ;)

Merci pour ce retour,

 

EN jeux, cela donne quoi linux?

J'ai ajouté la distro et l'OS rien que pour tes beaux yeux leeloyd :D.

J'ai aussi ajouté une TODO list comme ça vous pouvez voir ce qui manque.

Merci pour ce retour,

 

EN jeux, cela donne quoi linux?

 

Ça dépend du jeu, du GPU et de la techno utilisée ... En général un jeu porté sur Linux aura sa version OpenGL qui tourne un peu moins bien que son équivalent DirectX  sur Windows. En revanche les jeux développés avec Vulkan peuvent même être plus rapides sur Linux que Windows. On a aussi le cas ou via Wine certains jeux DirectX9 tourne plus vite sur Linux avec le driver Gallium9.

 

Grace à Steam et des studios comme Feral qui portent pas mal de AAA et les autres comme Croteam ou Valve qui développent en natif pour linux. Sans oublié les moteur UE4, Unigine, Unity et CryEngine qui tournent aussi sur linux. On a maintenant une jolie bibliothèque de jeux qui n'a rien à envier au catalogue des consoles.

 

Il est loin le temps où seul IDSoftware et Egosoft sortaient du AAA sur linux avec à coté quelques maigres jeux Open-Source.
D'ailleurs depuis que Bethesda a racheté ID on a plus de Doom, ni de Quake, ni de Enemy Territory. :(   (Aaaah Quake Wars  :wub: )

Shell zsh ! Respect ... :cool: .

Par contre si t'as pas de switch demux-remux, c'est à dire que t'es condamné à rester en mode Optimus (Pass trough du GPU sur l'IGP) ça m'a l'air compromis pour utiliser Vulkan avec les drivers NVIDIA. Peut-être Vulkan avec l'IGP Intel mais tout de suite c'est moins intéressant :( 

 

Et en effet les pilotes libres Nouveau sont à la traîne niveaux performance. Contrairement à AMD, NVidia est moins Open Source friendly et ne veux pas lâcher les secrets de son Blob.

Vulkan pour l'instant ça me dérange pas trop vu le nombres de AAA sur linux :cut: DOOM où est tu ?!

Envie de faire un "Fu.ck you bethesda" ...

Je confirme la machine est muxless.

Et j’attends le kernel 4.12 qui apporte une MaJ des drivers WiFi + Son : "sound for Linux 4.12 is a new API for hooking up jacks more generically"

Ah ! Bethesda ... Depuis qu'ils ont racheté ID, le traditionnel portage des Doom, Quake, Castle Wolfenstein et Ennemy Territory sur Linux est passé à la trappe alors qu'avant l'aire SteamOS c'étais les seuls AAA natifs auxquels on avait droit.

Restructuration du premier post pour le passage à l’an 2000.
Et ajout de la section “Le profil des ventilos (EC)”.

1 J'aime

Ajout du GitHub (si vous avez la flemme de chercher) —> https://github.com/YoyPa/isw

Merci, c’est un sacré parcourt du combattant pour utiliser linux .
La bibliothèque en jeux vidéos commencent à bien s’étoffer.
Driver sous linux vs Windows, les performances sont les mêmes?

Non, si tu prend le test Dota, Windows j’ai 120 fps vs Linux 82 et rien n’a vraiment changé à ce niveau depuis le test, après faudrait plus de jeux mais j’en ai pas des masses.

Il n’y a pas énormément de gros jeux sous linux, la plus part, c’est des jeux indépendants.

T’as Deux EX : Man Kind Divided si tu veux vraiment le stresser, ou les Metro 2033/Last Light Redux.

Le laptop vient de passer à 0% d’autonomie.


Les vis n’ont pas été arrachées c’est déjà ça \o/.
Qu’une cellule de gonflée, j’vais tenter le SAV vu qu’il est encore sous garantie mais je part défaitiste :money_mouth_face:.

La batterie est considérée comme “consommable” et du coup sa garantie n’est que de 12 mois normalement. Mais bon ça coûte pas bien cher : https://www.ebay.fr/itm/Genuine-7-6V-8060mAh-BTY-M47-battery-for-MSI-GS40-GS43VR-6RE-GS40-6QE-laptop/152570595770

J’pense pas que ce soit aussi évidant, ça me parait paradoxal (en droit) d’avoir un “consommable” non amovible (caché derrière un sticker warranty void).
Et soudain vint un hurlement: obsolescence programmée, au bûché !!!.
Pis une batterie qui se met à déformer un châssis ça gêne un peu l’utilisation attendue du produit.
(Je me plains pas de l’usure mais de la déformation).

Le sticker warranty void est juste là pour effrayer les novices, mais n’a en réalité aucune incidence sur la garantie du PC.

Je pense que si ça endommage le châssis, tu peux faire jouer la garantie légale de conformité de 2 ans.
En revanche si seule la batterie a morflé, à mon avis ils vont se réfugier derrière leurs clauses de garantie concernant la batterie.

En tout cas je suis curieux de connaître le fin mot de l’histoire !