Asus séries A17 TUF766IU, TUF7606IU (testé sur Asus A17-TUF766IU-H7074T)

Tout ce qui est dit ci-dessous à été testé sur le portable Asus A17-TUF766IU-H7074T dont la configuration est notamment :

  • 17,3" Full HD (43,9 cm) - 2,6 kg
  • AMD Ryzen 7 - 4800H
  • Disques : disque SSD 256 Go + disque 2.5" 1 To + un emplacement SSD disponible
  • Mémoire vive 16 Go
  • Nvidia GeForce GTX 1660 Ti 6 Go avec ROG Boost

Variantes pour les autres portables d'équipement similaire :

  • A17 TUF766IU-H7124T : un seul SSD de 512 Go
  • A17 TUF706IU-H7154T : un seul SSD de 512 Go + batterie de 90Wh
  • A17 TUF766IU-AU204T : RAM 32 Go DDR4 - 1 To HDD + 256 Go SSD
  • A17 TUF706IU-AS76 (qwerty) : un seul SSD de 1 TO + batterie de 90Wh. Page sous MX Linux



Au démarrage quand apparaît le menu appuyer sur la touche "e".

Ajouter nomodeset auprès du motquiet ou splash déjà présent.

Appuyer sur F10.

Pour bien fonctionner sous linux cette machine nécessite un kernel 5.6 minimum (chaleur du GPU mal gérée) voire 5.8 (chaleur bien gérée).

Donc commencer par installer Ubuntu "classiquement" puis suivre les étapes ci-dessous.

Ajout du noyau 5.6 (plus facile mais non recommandé)

Le système fonctionne assez correctement avec le noyau 5.6 OEM.

Il est donc possible d'installer ce noyau avec la commande ci-dessous et de démarrer ensuite dessus

sudo apt install linux-image-oem-20.04

Cependant de nombreuses fonctionnalités ont été ajoutées à la version 5.8 du noyau (notamment de gestion d'énergie et de l'architecture Renoir d'AMD) qu'il est donc conseillé d'utiliser.

Ajout du noyau >= 5.8 (Recommandé)

Utilisant depuis quelques temps avec succès le kernel 5.8.8, je recommande cette version.

Si après installation d'Ubuntu l'interface graphique se charge, vous pouvez utiliser la méthode 1 qui est graphique.
Sinon les méthodes 2 ou 3.

Pour les experts, vous pouvez vérifier les sommes de contrôle en suivant ceci : https://askubuntu.com/questions/1142488/how-to-securely-download-a-new-kernel

Méthode 1 : graphique

Le logiciel Ubuntu Mainline Kernel Installer installable par un ppa permettra de faire l'installation et par la suite les mises à jour avec une interface graphique.

sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline

Lancer Ubuntu Mainline Kernel Installer depuis le menu et installer une version 5.8 (testées : 5.8 et 5.8.8 qui fonctionnent bien).

Source : https://github.com/bkw777/mainline

Méthode 2 : avec un script

  1. Au redémarrage, redémarrer en "safe mode" et obtenir l'invite de commande
  2. Télécharger le script ubuntu-mainline-kernel.sh :
     $ wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh 
  3. Installer le script :
    $ sudo install ubuntu-mainline-kernel.sh /usr/local/bin/ 
  4. Exécuter le script :
     $ ubuntu-mainline-kernel.sh -i
    Finding latest version available on kernel.ubuntu.com
    Latest version is: v5.8, continue? (y/N) 

Source et désinstallation :
https://linuxconfig.org/how-to-upgrade-kernel-to-latest-version-on-ubuntu-20-04-focal-fossa-linux
https://wiki.ubuntu.com/Kernel/MainlineBuilds

Méthode 3 : manuelle

  1. Depuis un autre OS, télécharger depuis cette adresse https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D les quatre fichiers linux-headers…, linux-headers-…-generic, linux-image-unsigned…, linux-modules… dans la version souhaitée et les déposer quelque part ou vous saurez les retrouver.
  2. Au redémarrage, redémarrer en "safe mode" et obtenir l'invite de commande
  3. Installer les quatre paquets avec dpkg

Contrairement à ce qui est dit sur de nombreux sites qui ont essayé cette machine avec noyaux inférieurs à 5.8, tout fonctionne très bien avec le noyau 5.8 sans installation supplémentaire et notamment testés :

  • Tous les ports (USB, HDMI)
  • Gestion de l'énergie et des ventilateurs (aucune soufflerie en utilisation bureautique, accélération des ventilateurs au besoin) avec un kernel >=5.8.
  • Réglage de la luminosité de l'écran
  • Double écran (testé avec la carte graphique intégrée au processeur AMD ; pas encore testé avec la carte graphique nvidia et son pilote propriétaire)
  • Extinction et niveau de luminosité du clavier
Plusieurs petites erreurs apparaissent dans les premiers instants après le démarrage mais elles semblent sans incidence.

Ne fonctionne pas :

  • réglage du mode de clignotement du clavier et changement de couleurs (voir essais plus bas)
La machine comporte deux processeurs graphiques :
  • celui d'AMD intégré à l'architecture Renoir du processeur Ryzen (nommé iGPU = internal GPU)
  • celui de la carte graphique Nvidia Geforce 1660 (iGPU) (nommé eGPU = external GPU)

Par défaut c'est le GPU AMD qui est utilisé comme GPU.

Si vous voulez utiliser le GPU Nvidia (eGPU) il faut installer les pilotes correspondants.

Le eGPU consommera beaucoup plus de batteries et fera vite souffler les ventilateurs, donc aucun intérêt en utilisation bureautique.

Installation des pilotes Nvidia

Le driver nvidia en version 440 installé par défaut n'est pas suffisamment à jour pour cette machine et ne donnera pas toutes les fonctionnalités attendues. Il faut impérativement installer la version 450 par ppa.

$ sudo add-apt-repository ppa:graphics-drivers
$ sudo apt-get update
$ sudo ubuntu-drivers autoinstall

Vérifier que la version "recommandée" est bien supérieure à 450. Sinon vous pouvez forcer l'installation d'une version précise par la commande

$ sudo apt install nvidia-driver-450 

Cette installation ne suffit pas utiliser la carte graphique Nvidia. Voir paragraphe suivant.

Source : https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-20-04-focal-fossa-linux

Le driver `nouveau` ne fonctionne pas correctement avec cette carte graphique Nvidia. Il faut vérifier qu'il a bien été blacklisté après l'installation du pilote propriétaire avec la commande

$ lsmod | grep nouveau

Si vous n'obtenez rien en sortie c'est bon. Sinon exécuter :

$ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist.conf"
$ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist.conf"

Source : https://linuxconfig.org/how-to-disable-blacklist-nouveau-nvidia-driver-on-ubuntu-20-04-focal-fossa-linux

Switch pour utilisation de la carte graphique Nvidia ou du GPU intégré au processeur AMD selon les performances désirées

La version 450 du pilote fournit directement un outil appelé PRIME Render Offload qui rend obsolète toutes autres et nombreuses solutions développées précédemment (bumblebee,etc…).
Cela permet, en faisant précéder les applications souhaitées d'un prefixe, de les faire fonctionner en utilisant le eGPU Nvidia. Il n'y a pas de mode automatique comme sous Windows avec cuda.

PRIME Render Offload (remplace TOUTES les autres propositions obsolètes)

A partir d'une configuration neuve et propre de ubuntu 20.04 (aucun fichier xorg modifié, etc…) installer les derniers pilotes nvidia (>=450) depuis le dépôt suivant

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt install nvidia-driver-450
$ shutdown -r now

Vous pourrez ensuite forcer l'utilisation du GPU Nvidia en précédant la commande à exécuter de

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia COMMANDE_A_EXECUTER

La variable d'environnement _ _NV_PRIME_RENDER_OFFLOAD=1 est destinée à à Vulkan ou EGL.
La variable d'environnement _ _GLX_VENDOR_LIBRARY_NAME=nvidia est destinée à GLX.
(pas d'espace entre les deux tirets bas)

Pour tester si cela fonctionne, essayer la commande ci-dessous qui devrait vous renvoyer la marque et le modèle de votre carte graphique :

$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)"
$ OpenGL vendor string: NVIDIA Corporation
$ OpenGL renderer string: GeForce GTX 1660 Ti/PCIe/SSE2
$ OpenGL version string: 4.6.0 NVIDIA 450.66

Sans les commandes Prime Render, on obtiendrait le processeur graphique intégré comme réponse

$ glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)"
$ OpenGL vendor string: X.Org
$ OpenGL renderer string: AMD RENOIR (DRM 3.38.0, 5.8.8-050808-generic, LLVM 10.0.0)
$ OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.8
En l'état actuel du développeement des pilotes sous linux l'utilisation du GPU Nvidia ne peut pas être automatisée (contrairement ce qui existe sous windows nommé Cuda).
La discussion est en cours ici :
https://forums.developer.nvidia.com/t/prime-no-offloading-required-prime-is-it-supported/154181
Vous pouvez faciliter l'utilisation du GPU Nvidia en mettant des alias à la fin votre fichier ~/.bashrc. Il faut redémarrer pour les modifications soient prises en compte ou éxecuter en console source ~/.bashrc.
Dans les exemples ci-dessous, la première ligne définit le préfixe qui commande l'utilisation du eGPU Nvivia et la seconde définit la commande "prime-run_vlc" qui permet de lancer vlc en utilisant le eGPU au lieu du iGPU.
alias prime-run="__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia"
alias prime-run_vlc="prime-run vlc"

Si cela ne fonctionne pas, vous pourrez trouver plus d'informations ici (ce sont les sources utilisées pour ce paragraphe) :

Complément : applet pour Plasma 5 "Prime Render Offload Status"

L'applet "Prime Render Offload Status" peut être ajoutée au tableau de bord. Elle devient verte que quand la carte nvidia est utilisée (quelques seconde au moins comme en regardant une vidéo, pas juste sur une commande instantannée) et reste noir sinon.

Source : https://store.kde.org/p/1411472/

(Obsolète mais testé et fonctionne)

Ce script proposé ici permet d'utiliser soit l'une soit l'autre des cartes : https://github.com/dglt1/optimus-switch-amd-sddm

Attention à la consommation !

De plus les polices utilisées deviennent toutes petites.

(Expérimental) Extinction de la carte Nividia lorsqu'elle n'est pas utilisée

La mise en oeuvre de ce paragraphe entraîne un plantage lors de la mise en veille.

Source : https://us.download.nvidia.com/XFree86/Linux-x86_64/450.57/README/dynamicpowermanagement.html

Copier le code ci-dessous dans /lib/udev/rules.d/80-nvidia-pm.rules

# Remove NVIDIA USB xHCI Host Controller devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"

# Remove NVIDIA USB Type-C UCSI devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"

# Remove NVIDIA Audio devices, if present
ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"

# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"

# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"

Copier le code ci-dessous dans /etc/modprobe.d/nvidia.conf

options nvidia "NVreg_DynamicPowerManagement=0x02"

Et redémarrer

Problèmes avec certains disques SSD

FIXME Selon le SSD… avec sources :

Éditer le fichier /etc/default/grub.

sudo nano /etc/default/grub

Modifier la ligne GRUB_CMDLINE_LINUX_DEFAULT pour y ajouter nvme_core.default_ps_max_latency_us=5500.

Si la ligne était vide, cela donnera :

GRUB_CMDLINE_LINUX="nvme_core.default_ps_max_latency_us=5500"

Terminer ensuite en console par

sudo update-grub

Mise en veille

Si lors de la mise en veille de votre machine celle-ci se réveille sans raison, suivez cette procédure qui a pour but d'éteindre l'usb

Créer le fichier /etc/pm/sleep.d/90_unbind_usb5

$ sudo nano /etc/pm/sleep.d/90_unbind_usb5

Et y coller le code suivant (avec édition coller) :

#!/bin/sh
#copy to /etc/pm/sleep.d
LOGFILE="/var/log/sleep.log"

case "$1" in
        sleep|suspend)
                echo "Unbinding USB 5" >> "$LOGFILE"
                echo -n "0000:05:00.4" >/sys/bus/pci/drivers/xhci_hcd/unbind
                ;;
        resume|thaw)
                echo "Rebinding USB 5" >> "$LOGFILE"
                echo -n "0000:05:00.4" >/sys/bus/pci/drivers/xhci_hcd/bind
                ;;
esac

Puis rendre le fichier exécutable :

sudo chmod +x /etc/pm/sleep.d/90_unbind_usb5

Si au réveil vous rencontrer des problèmes avec l'ethernet qui ne fonctionne plus au réveil, coller le code ci-dessous dans le fichier /etc/pm/sleep.d/80_restart_r8169

$ sudo nano /etc/pm/sleep.d/80_restart_r8169
#!/bin/sh
#copy to /etc/pm/sleep.d
LOGFILE="/var/log/sleep.log"

case "$1" in
	resume|thaw)
	modprobe -r r8169 \
		&& echo "Removed r8169" >> "$LOGFILE" \
		&& modprobe -i r8169 \
    		&& echo "Inserted r8169" >> "$LOGFILE"
        ;;
esac

Et rendez le exécutable.

sudo chmod +x /etc/pm/sleep.d/80_restart_r8169

Source : https://forum.mxlinux.org/viewtopic.php?f=107&t=59457

Disque dur qui claque (= mise en veille intempestive)

Si vous possédez la version du A17 avec un disque NVME et un disque dur "classique", ce dernier étant peut sollicité se mettra peut-être trop vite en veille. Vous entendrez alors un petit "clac" à chaque réveil qui peut se produire toutes les quelques secondes lorsque vous travaillez sur des documents de ce disque.

C'est mauvais pour la durée de vie du disque.

Commencez par en avoir confirmation en tapant en console la commande suivante plusieurs fois de suite toutes les 10 à 15 secondes.

sudo smartctl -a /dev/sda | grep Load_Cycle_Count

Si vous entendez un petit clac à chaque fois et voyez le compteur augmenter 1 alors vous êtes dans le cas d'un disque qui se met trop rapidement en veille. Mettez en oeuvre ce qui suite

Méthode 1 (conseillée) : avec le paramètre ''spindown_time'' de hdparm

Pour gérer exactement le temps au bout duquel le disque se met en veille, éditez le fichier /etc/hdparm.conf avec sudo nano /etc/hdparm.conf

sudo nano /etc/hdparm.conf

Et collez y en bas le code :

/dev/sda {
#   apm = 254  #ligne inutile puisque c'est le paramètres par défaut
   spindown_time = 242
}

Paramètres de spindow (extrait de HDPARM) définit le temps d'inactivité après lequel le disque se met en veille (exemple spindown_time = 242 pour 1 heure)

  • 0 : désactive ; le périphérique ne rentrera pas en mode stand-by.
  • De 1 à 240 : spécifie des multiples de 5 secondes (donc des temps d'inactivité de 5 secondes à 20 minutes).
  • De 241 à 251 : spécifie de 1 à 11 unités de temps de 30 minutes chacune (donc des temps d'inactivité de 30 minutes à 5 h 30).
  • 252 : spécifie un temps mort de 21 minutes.
  • 253 : est une période de temps mort définie par le fabriquant, entre 8 à 12 heures.
  • 254 : réservée !
  • 255 : est interprétée comme 21 minutes plus 15 secondes.

Méthode 2 (non conseillée) : avec le paramètre ''apm'' de hdparm

Difficile d'obtenir un résultat satisfaisant et compréhensible avec cette méthode…

Éditez le fichier /etc/hdparm.conf avec sudo nano /etc/hdparm.conf

sudo nano /etc/hdparm.conf

Et collez y en bas le code :

/dev/sda {
   apm = 128
}

Vous pouvez adapter la paramètres à vos usages en consultant les détails ci-dessous.

Paramètres pour l'APM (Advanced Power Management) :

  • 255 désactive totalement la mise en veille (= standby ou spindow) ; consommation et performances maximales
  • 0 jusqu'à 127 : mise en veille (= standby ou spindow) possible ; consommation et performances croissantes
  • 128 jusqu'à 254 : mise en veille (= standby ou spindow) impossible ; consommation et performances croissantes

Sources :

Réglage de la luminosité et du clignotement du clavier

FIXME Deux projets semblent prometteur mais je n'ai pas réussi à les faire fonctionner totalement :

Autres qui ne semblent pas fonctionner

Cette page dit au paragraphe ""Aura" RGB keyboard LEDs " que cela fonctionnerait : https://forum.mxlinux.org/viewtopic.php?f=107&t=59457

Crash au démarrage/arrêt

FIXME INUTILE Il est apparemment nécessaire de définir dans un fichier l'UUID du disque qui contient la swap sans quoi la machine ne démarre pas ou ne s'éteint pas correctement et bloque sur la pariition contenant la swap.

Le problème peut aussi apparaître par une erreur à l'installation comme celle-ci :

I: The initramfs will attempt to resume from /dev/nvme0n1p4
I: (UUID=3a09b433-78cf-4d2c-8012-093436cd03d0)
I: Set the RESUME variable to override this.

Solution : exécuter les commandes suivantes.

 $ printf "RESUME=UUID=$(blkid | awk -F\" '/swap/ {print $2}')\n" | sudo tee /etc/initramfs-tools/conf.d/resume 
 $ sudo update-initramfs -u -k all 

Puis redémarrer.

Source : https://askubuntu.com/questions/1124253/missing-firmware-for-amdgpu

Modules provoquant des erreurs au démarrage

Erreur diverses non démarrage (messages d'avertissement non bloquants)

On peut blacklister le module ucsi_ccg qui provoque une erreur 'ucsi_ccg … failed'' au boot

 $ echo " blacklist ucsi_ccg"  >>  /etc/modprobe.d/blacklist.conf 

Source : https://askubuntu.com/questions/1155263/new-install-desktop-ubuntu-19-04-shows-error-message-ucsi-ccg-0-0008-failed-to

Également blacklisté en raison d'une autre erreur au démarrage

 $ echo "blacklist thinkpad_acpi"  >>  /etc/modprobe.d/blacklist.conf 

Source : https://ubuntuforums.org/showthread.php?t=2207830&page=2

Erreur PPM init failed (-110)

Si vous obtenez au démarrage ce message, il faut apparemment passer l'option "nomodeset" à grub ce qu'une installation correcte des pilotes nvidia fait automatiquement.

usci_acpi USBC000:00: PPM init failed (-110)

Source et détails : https://askubuntu.com/questions/1254362/issues-while-booting-ubuntu-20-04-lts-after-installation-on-asus-tuf-a15-fa506i


Contributeurs : Olivier V

  • asus-a17-tuf766iu.txt
  • Dernière modification: Le 23/09/2020, 15:12
  • par Olivier V