====== Asus séries A17 TUF766IU, TUF7606IU (testé sur Asus A17-TUF766IU-H7074T) ======
{{:materiel:liste_portables:asus-a17-tuf766iu-h7074t-fg.jpg?nolink&250 |}}
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.
* A17-TUF766IU-H7219T : Rysen 9 serie 4000 + SSD de 1 TO + batterie de 90Wh
* [[https://forum.mxlinux.org/viewtopic.php?f=107&t=59457|Page sous MX Linux]]
A noter que la machine est de **très bonne facture** : bel écran, bonne qualité sonore, plastiques de qualité...
===== En un coup d’œil =====
Le tableau suivant récapitule la prise en charge du matériel de ce portable par des versions d'Ubuntu.
Il utilise les notations suivantes :
* {{:icons:ok_32_64.png|OK 32 et 64 bits}} : Testé en 32 bits **et** 64 bits (fonctionne immédiatement).
* {{:icons:ok_64.png|OK 64 bits}} : Testé en 64 bits (fonctionne immédiatement).
* {{wiki:modeles:laptop_work.png|Fonctionne après config}} : **Fonctionne après quelques manipulations**
* {{icons:process-stop.png|Ne fonctionne pas}} : **Ne fonctionne pas**
* {{icons:icon-support.png?32|Pas testé}} : **Pas d'informations disponibles**
* {{:icons:edit-clear.png?32|Information obsolète}} : **Information de support trop ancienne**, si possible mettez là à jour.
^ Version ^ Installation ^ Carte \\ graphique ^ Son ^ Réseau ^ Wifi ^ Bluetooth ^ Webcam ^ Touchpad ^ Raccourcis \\ multimédia ^ USB3 USB2 ^ Lecteur de carte SD ^
| [[:trusty|14.04 (The Trusty Tahr )]] | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{:icons:ok_32_64.png|OK 32 et 64 bits}} | {{wiki:modeles:laptop_work.png|Fonctionne après config}} | {{wiki:modeles:laptop_work.png|Fonctionne après config}} {{:icons:ok_64.png|OK 64 bits}}| {{:icons:ok_32_64.png|OK 32 et 64 bits}} |
**Cet ordinateur portable n'est pas [[:pc_tatoué|tatoué]].**
===== Test de la distribution en Live usb =====
Au démarrage quand apparaît le menu appuyer sur la touche "e".
Ajouter ''nomodeset'' auprès du mot''quiet'' ou ''splash'' déjà présent. Appuyer sur F10.
A priori cela peut aussi être fait graphiquement en appuyant sur F6 (lors de l'apparition du menu Ubuntu) puis en validant nomodeset.
===== Installation de Ubuntu/Kubuntu 20.04 =====
Pour bien fonctionner sous linux cette machine nécessite un kernel 5.6 minimum (lancement correct mais la chaleur du GPU et 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 (Non recommandé) depuis les dépôts officiels ====
Utiliser un noyau >= 5.10.6 est largement conseillé.
Le système fonctionne assez correctement avec le noyau 5.6 OEM sauf en ce qui concerne la gestion de la chaleur (ventilateurs qui tourneront à fond pour rien). De nombreuses fonctionnalités ont été ajoutées à partir de 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.
Il reste cependant possible d'installer ce noyau avec la commande ci-dessous et de démarrer ensuite dessus.
sudo apt install linux-image-oem-20.04
==== Ajout du noyau >= 5.10.6 (Recommandé) ====
Il est conseillé d'utiliser un **noyau 5.10.6 (ou supérieur)** car entre les noyaux 5.8.18 et 5.10.5 le bluetooth ne fonctionne pas.\\
Vous obtiendrez lors de l'installation de nombreux message du type ''W: Possible missing firmware /lib/firmware/amdgpu/''. Ils sont à ignorer et sans incidence.
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 la version 5.10.6 ou supérieure.
Source : [[https://github.com/bkw777/mainline|]]
=== Méthode 2 : avec un script ===
- Au redémarrage, redémarrer en "safe mode" et obtenir l'invite de commande
- Télécharger le script ''ubuntu-mainline-kernel.sh'' :\\ $ wget https://raw.githubusercontent.com/pimlie/ubuntu-mainline-kernel.sh/master/ubuntu-mainline-kernel.sh
- Installer le script :\\ $ sudo install ubuntu-mainline-kernel.sh /usr/local/bin/
- Exécuter le script : $ ubuntu-mainline-kernel.sh -i
Finding latest version available on kernel.ubuntu.com
Latest version is: v5.10.6, 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 ===
Au démarrage, passer "safe mode" et obtenir l'invite de commande. Télécharger depuis cette adresse [[https://kernel.ubuntu.com/~kernel-ppa/mainline/?C=N;O=D|]] les **quatre paquets** ''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 et les installer.
Exemple de code avec la version 5.10.6 :
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10.6/amd64/linux-headers-5.10.6-051006-generic_5.10.6-051006.202101091334_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10.6/amd64/linux-headers-5.10.6-051006_5.10.6-051006.202101091334_all.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10.6/amd64/linux-image-unsigned-5.10.6-051006-generic_5.10.6-051006.202101091334_amd64.deb
wget -c https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.10.6/amd64/linux-modules-5.10.6-051006-generic_5.10.6-051006.202101091334_amd64.deb
sudo dpkg -i *.deb
Les adresses étant pénibles à taper sans copier coller, vous pouvez télécharger depuis un autre OS et exécuter uniquement ''sudo dpkg -i *.deb'' dans le répertoire contenant les 4 fichiers.
===== Ce qui fonctionne correctement ... ou pas =====
Contrairement à ce qui est dit sur de nombreux sites qui ont essayé cette machine avec noyaux inférieurs à 5.8, presque **tout fonctionne avec le noyau 5.10.6** et notamment testés :
* Tous les ports (USB, HDMI), => sauf le DP sur le USB-C. Testé avec noyau 5.10.7 (ecran détécté mais pas d'affichage)
* 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 (Avec la carte graphique nvidia et son pilote propriétaire, voir [[asus-a17-tuf766iu#Complément pour un 2e écran HDMI|complément ici]])
* Extinction et niveau de luminosité du clavier
* Le bluetooth fonctionne à partir du noyau 5.10.6 (et avec les noyaux <= 5.8.18 qu'il n'est plus conseillé d'installer).
* la webcam intégrée
* Veille (voir paramétrage plus bas)
Toutefois des problèmes de freeze ou de blocage à l'arrêt peuvent survenir mais des solutions sont proposées plus bas dans le dernier paragraphe.
Des petites erreurs apparaissent auss 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)
===== Cartes graphiques/GPU =====
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 (nommé eGPU = external GPU)
Il y a donc trois utilisations possible des deux processeurs GPU :
- **utilisation "à la demande" du eGPU** pour lancer une application spécifique (avec **utilisation du iGPU AMD par défaut**) ; c'est le mode conseillé sur tout portable car le moins énergivore
- **switch** (nécessitant un reboot à chaque changement) : en fonction des besoins on redémarre l'ordinateur avec l'un ou l'autre des deux GPU
- **utilisation permanente du eGPU Nvidia** ; le eGPU consommera beaucoup plus de batterie et n'aura donc aucun intérêt en utilisation bureautique. ; conseillé uniquement pour une machine reliée en permanence au secteur
**Par défaut c'est le GPU AMD seul qui est utilisé comme GPU**.
**Si vous voulez utiliser le eGPU Nvidia quelque soit la méthode il faut commencer par installer les pilotes correspondants (premier paragraphe ci dessous) puis choisir et appliquer une des méthodes décrites ci-dessus** (à la demande, switch, utilisation permanente du eGPU Nvidia).
FIXME EDIT d'un autre utilisateur : Après quelques essais récents il semblerait que le ventilateur se déclenche moins fréquemment avec le eGPU Nvidia enclenché en permanence. EDIT Réponse du créateur de la page : Mais alors ne fonctionne-t-il tout simplement pas tout le temps à moyenne puissance au lieu d'utiliser des puissances variables ? Et qu'en est-il de la consommation ?
==== Installation des pilotes Nvidia ====
L'installation doit être faite à partir d'une configuration neuve et propre de ubuntu 20.04 (aucun fichier xorg modifié, etc...)
Cette installation est un préambule à l'utilisation de la carte graphique Nvidia. Voir paragraphe suivant pour l'utilisation en elle même.
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 une **version >= 450 par ppa**.
$ sudo add-apt-repository ppa:graphics-drivers
$ sudo apt-get update
Vérifier que la version "recommandée" est bien supérieure à 450 avec :
$ sudo ubuntu-drivers devices
Lancer alors l'installation avec :
$ sudo ubuntu-drivers autoinstall
Source : [[https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-20-04-focal-fossa-linux|]]
Vous pouvez aussi forcer l'installation forcer l'installation d'une version précise par la commande
$ sudo apt install nvidia-driver-450
Il peut aussi être utile de purger une installation défectueuse avant de procéder à l'installation de la nouvelle version avec la commande :
$ sudo apt purge nvidia-*
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|]]
==== Utilisation simultanée du iGPU intégré au processeur AMD et du eGPU Nvidia "à la demande" ====
La version 450 (2020) du pilote Nvidia 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 préfixe, de les faire fonctionner en utilisant le eGPU Nvidia. Il n'y a pas de mode automatique comme sous Windows avec [[CUDA]].\\
Il est possible :
* d'utiliser cette configuration (comportement par défaut et conseillé afin de préserver la batterie),
* de forcer l'utilisation permanente constante du eGPU Nvidia (voir plus bas).
=== PRIME Render Offload ===
Après avoir installé les pilotes propriétaires, vous pourrez forcer l'utilisation du eGPU Nvidia en précédant la commande à exécuter de :
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia COMMANDE_A_EXECUTER
La variable d'environnement ''_ _VK_LAYER_NV_optimus=NVIDIA_only'' 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, elle 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 (2020) du développement des pilotes sous Linux l'utilisation du GPU Nvidia ne peut pas être automatisée (contrairement à ce qui existe sous Windows: [[CUDA]], [[https://forums.developer.nvidia.com/t/prime-no-offloading-required-prime-is-it-supported/154181|précisions]]).
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 exécuter 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"
Il semblerait que certaines applications ne puissent pas être lancées par cette méthode sur le processeur Nvidia et qu'il faille alors passer en configuration Nvidia permanente comme décrit ci-dessous.
Si cela ne fonctionne pas, vous pourrez trouver plus d'informations ici (ce sont les sources utilisées pour ce paragraphe) :
* https://us.download.nvidia.com/XFree86/Linux-x86_64/450.57/README/primerenderoffload.html
* https://wiki.debian.org/NVIDIA%20Optimus#PRIMEOffload
==== Comment savoir si le processeur eGPU est bien utilisé ? ====
=== En console avec ''nvidia-smi'' ===
En console :
watch -n 1 nvidia-smi
Observez les lignes qui seront mises à jour chaque seconde :
| 0 GeForce GTX 166... Off | 00000000:01:00.0 Off | N/A |
| N/A 36C P8 1W / N/A | 6MiB / 5944MiB | 0% Default |
Lorsque le eGPU est au repos sa température est basse (36 °C ici) et la consommation de 1W.\\
Quand le eGPU est utilisé il consommera au moins 2 W (et chauffera...).
=== Graphiquement avec l'applet pour Plasma 5 "Prime Render Offload Status" ===
L'applet "Prime Render Offload Status" peut être ajoutée au tableau de bord avec "ajouter un composant graphique" sous KDE.
Elle devient verte seulement quand la carte Nvidia est utilisée (quelques secondes au moins comme en regardant une vidéo, pas juste sur une commande instantanée trop brève) et reste noire sinon.
{{:applications: prime-render-offload_status.png?300 |}}
Source : https://store.kde.org/p/1411472/
==== Utilisation permanente du eGPU Nvidia au lieu du iGPU AMD pour plus de performances ====
Ce qui suit n'est pas conseillé par rapport à la méthode "On Demand" décrite précédemment.
Si vous souhaitez toutefois utiliser en permanence le GPU Nvidia, il faut partir d'une configuration "propre" post-installation et notamment sans fichier `/etc/X11/xorg.conf` existant.
Vous trouverez à l'adresse [[https://github.com/OlivierV78/switch_amd_nvidia]] tout le nécessaire pour basculer vers une utilisation du processeur Nvidia uniquement.
Il suffit de lancer double cliquer sur les fichiers `Switch AMD.desktop` ou `Switch Nvidia.desktop` pour basculer entre :
* Le mode d'utilisation du eGPU Nvidia uniquement
* Le mode d'utilisation du iGPU AMD avec possibilité d'utiliser le Nvidia à la demande comme décrit précédemment.
Les scripts fournis (qui s'annulent mutuellement) ne modifient que deux fichiers :
* d'une part ''/usr/share/X11/xorg.conf.d/10-amdgpu.conf'' qui devient après modification :
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "amdgpu"
Option "PrimaryGPU" "no"
EndSection
* d'autre part ''/usr/share/X11/xorg.conf.d/10-nvidia.conf'' qui devient après modification :
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "PrimaryGPU" "yes"
ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
Option "UseEdidDpi" "False"
Option "DPI" "96 x 96"
EndSection
Le script de bascule vers Nvidia contient une correction du paramètres DPI car sans cela le pilote Nvidia fournirait par défaut des caractères plus petits (une résolution de 72 DPI au lieu de 96 est utilisée par défaut).\\
Le code fourni intègre la modification grâce aux paramètres suivants à la section "Screen".
Option "UseEdidDpi" "False"
Option "DPI" "96 x 96"
Sans cette correction on obtiendrait :
$ xdpyinfo | grep -B2 resolution
$ screen #0:
$ dimensions: 1920x1080 pixels (508x285 millimeters)
$ resolution: 72x72 dots per inch
D'autre scripts proposent un switch similaire mais ne modifient pas les DPI et touchent inutilement d'autres fichiers comme celui ci dont je me suis inspiré : https://github.com/dglt1/optimus-switch-amd-sddm
À voir aussi le projet [[https://gitlab.freedesktop.org/hadess/switcheroo-control/|switcheroo-control]] disponible dans les dépôts mais non testé et a priori non disponible pour KDE à cette heure. Ce projet permettrait par un clic droit, comme sous windows, de lancer une application sur le eGPU.
==== (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"
Puis redémarrer.
==== Complément pour un 2e écran HDMI ====
A partir du noyau 5.10 les options de boot suivantes ne sont plus nécessaires. Par contre il semblerait que le son sur HDMI soit perdu (avec ou sans ces options de boot).
pour l'utilisation d'un second écran sur le HDMI, avec le pilote nvidia propriétaire, il peut être nécessaire d'ajouter cette option dans dans **/etc/default/grub** :
à la variable **GRUB_CMDLINE_LINUX_DEFAULT**, ajouter : **amdgpu.exp_hw_support=1**
ce qui donne par exemple
...
GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
GRUB_CMDLINE_LINUX="amdgpu.exp_hw_support=1"
...
puis :
sudo update-grub
au reboot le 2e écran est détecté.
===== Autonomie / Gestion de l'énergie =====
==== Laptop-mode-tools ====
L'installation de [[laptop-mode-tools|Laptop-mode-tools]] permet de doubler à tripler l'autonomie du portable qui se rapproche alors de celle de windows (mais sans atteindre les performances de ce dernier).
sudo apt install laptop-mode-tools
Il est intéressant de modifier les paramètres par défaut pour les points suivants
=== Empêcher la mise en veille des disques ===
Le seul défaut est la mise en veille intempestive du disque dur qui se réveille alors plusieurs fois par minute diminuant à terme drastiquement sa durée de vie. Pour corriger cela on peut choisir de ne pas le mettre en veille en éditant le fichier ''/etc/laptop-mode/laptop-mode.conf''
sudo nano /etc/laptop-mode/laptop-mode.conf
Dans ce fichier il suffit de commenter la ligne permet à laptop-mode-tools de gérer la mise en veille des disques :
#
# The drives that laptop mode controls.
# Separate them by a space, e.g. HD="/dev/hda /dev/hdb". The default is a
# wildcard, which will get you all your IDE and SCSI/SATA drives.
#
#HD="/dev/[hs]d[abcdefgh]"
Il y a peut-être plus subtil et toute contribution est la bienvenue FIXME.
Source : https://lehollandaisvolant.net/linux/powersave/
=== Utiliser le profil "Économies d'énergie" du processeur quand la machine est sur batteries ===
Pour gagner en autonomie, il est intéressant de forcer le processeur à fonctionner à vitesse minimale sur batterie.
Éditer le fichier ''/etc/laptop-mode/conf.d/cpufreq.conf''
sudo nano /etc/laptop-mode/conf.d/cpufreq.conf
Vérifier les lignes :
# Should laptop mode tools control the CPU frequency settings?
#
# Set to 0 to disable
CONTROL_CPU_FREQUENCY="auto"
Puis
BATT_CPU_MAXFREQ=slowest
BATT_CPU_MINFREQ=slowest
BATT_CPU_GOVERNOR=powersave
Source : https://wiki.ubuntuusers.de/laptop-mode-tools/
==== Cpufreq ====
On peut aller plus loin en gérant soi même la fréquence du processeur avec ''cpufreq'' et sont interface graphique
[[indicator-cpufreq|Indicator-cpufreq]] pour Unity (un redémarrage est nécessaire après installation).
sudo apt-install cpufrequtils indicator-cpufreq
Une applet apparaît alors dans la barre des tâche et permet par un simple clic de choisir des profils (à la demande, performance, économies d'énergies, ...) ou les fréquences (2.9 Ghz, 1,7 Ghz ou 1.4 Ghz).
Vous pouvez voir les informations sur les fréquences (possibles, utilisées, etc...) avec :
cpufreq-info
Et extraire juste les fréquences en cours d'utilisation avec (plusieurs lignes pour les processeurs multicoeurs) :
cpufreq-info |grep "fréquence actuelle"
Les régulateurs (ou gouverneurs) disponibles sont donnés par :
cpufreq-info |grep "régulateurs disponibles"
ou
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Voir aussi : https://access.redhat.com/documentation/fr-fr/red_hat_enterprise_linux/7/html/power_management_guide/cpufreq_governors
==== Tlp / Slimbook-battery ====
Aucun résultat probant n'a pu être obtenu avec [[tlp|TLP]]. Probablement une mauvaise configuration mais [[laptop-mode-tools|Laptop-mode-tools]] a permis un gain significatif sans effort de configuration particulier.
[[https://slimbook.es/en/tutoriales/aplicaciones-slimbook/398-slimbook-battery-3-application-for-optimize-battery-of-your-laptop|Slimbook-battery]] couplé à [[tlp|TLP]] n'a également montré aucune amélioration notoire.
===== Clavier : luminosité et du clignotement du clavier =====
==== Installation du pilote : module Faustus ====
Selon certaines sources, sur les noyaux récents, il ne serait plus nécessaire d'installer le pilote sensé être chargé par défaut. Mais je n'ai pas du tout constaté ce comportement.
Le projet https://github.com/rublag/faustus permet de faire fonctionner le clignotement.
Voici les étapes à suivre :
Créer le fichier ''etc/modprobe.d/faustus.conf'' :
sudo nano /etc/modprobe.d/faustus.conf
Y mettre les lignes suivantes :
blacklist asus_wmi
blacklist asus_nb_wmi
Enlever les modules ( s'ils sont chargés ) :
sudo rmmod asus_nb_wmi
sudo rmmod asus_wmi
Ne pas oublier dkms :
sudo apt-get install dkms
Récupérer, compiler et charger le pilote :
git clone https://github.com/rublag/faustus
cd faustus
make
sudo modprobe sparse-keymap wmi video
sudo insmod src/faustus.ko let_it_burn=1
Vérifier que le pilote est bien chargé :
sudo dmesg | tail
La sortie devrait être
[ 1689.508414] faustus: Fan boost mode check successful
[ 1689.508416] faustus: Fan boost mode check end
[ 1689.510069] faustus: TTP check successful
[ 1689.510072] faustus: TTP check end
[ 1689.510073] faustus: Set throttle thermal policy mode: 0
[ 1689.511325] faustus: Failed to set throttle thermal policy (retval): 0x1
[ 1689.517522] input: Asus WMI hotkeys as /devices/platform/faustus/input/input32
[ 1689.517726] faustus: asus_wmi_fan_init start
[ 1689.518226] faustus: Spec 8.3 fan found
[ 1689.525428] battery: new extension: ASUS Battery Extension
Essayer de décharger et recharger le pilote :
sudo rmmod faustus
sudo insmod src/faustus.ko let_it_burn=1
Installer le module pour dkms :
sudo make dkms
sudo modprobe faustus
Automatiser le chargement au démarrage :
sudo make onboot
Pour enlever le module de dkms
cd faustus
sudo make dkmsclean
sudo dkms remove faustus/ --all
Pour annuler le chargement automatique si vous rencontrez de problèmes :
cd faustus
sudo make noboot
Sources des modules :
* Fork à utiliser : https://github.com/rublag/faustus
* Module original, FAQ, ... : https://github.com/hackbnw/faustus
==== utilisation de asus_wmi ====
A fonctionné sur un TUF Gaming FA706II_TUF766II. Ne fonctionne pas sur tous les TUF A17 ( voir méthode ci-dessus )
Charger les modules asus_wmi et asus-nb-wmi :
modprobe -a asus-nb-wmi asus-wmi
Cela a créé sur un ASUS A17-TUF766II-H7246 les dossiers /sys/module/asus_nb_wmi et /sys/module/asus_wmi et /sys/devices/platform/asus-nb-wmi/ et /sys/kernel/debug/asus-nb-wmi
et surtout :
/sys/class/leds/asus::kbd_backlight
qui pointe vers
/sys/devices/platform/asus-nb-wmi/leds/asus::kbd_backlight
Au final, puisque
/sys/devices/platform/asus-nb-wmi/leds/asus::kbd_backlight/max_brightness contient la valeur 3
je peux changer la lumière du clavier avec 0,1,2,3 :
echo 0 > /sys/devices/platform/asus-nb-wmi/leds/asus::kbd_backlight/brightness # éteint
echo 3 > /sys/devices/platform/asus-nb-wmi/leds/asus::kbd_backlight/brightness # allumé puissance maximale
==== Interfaces graphiques ====
Ces deux interfaces graphiques ont fonctionné correctement avec le pilote **Faustus** dont l'installation est décrite précédemment.
=== OpenRGB ===
Le projet [[https://gitlab.com/CalcProgrammer1/OpenRGB|OpenRGB]] permet de disposer d'une interface graphique pour le contrôle de l'éclairage du clavier.
Télécharger et installer de le fichier .deb de la dernière version ici : https://gitlab.com/CalcProgrammer1/OpenRGB/-/jobs/artifacts/master/download?job=build_linux_deb64
Utilisation :
* Lancer OpenRGB qui se placera dans la boîte à miniatures.
* Cliquer sur la couleur à appliquer (inutile pour le mode "Color Cycle" qui s'applique directement)
* Choisir le mode (Static, ...) et les différents réglages
* Cliquer sur "Apply Colors"
Pour démarrer OpenRGB automatiquement avec une icône dans la barre des tâches :
* Créer le répertoire ''~/.config/autostart'' s'il n'existe pas encore
mkdir ~/.config/autostart
* Créer le fichier ''~/.config/autostart/OpenRGB.desktop''
nano ~/.config/autostart/OpenRGB.desktop
* Coller dans ce fichier le code suivant
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=OpenRGB
Comment=Control RGB lighting
Exec=openrgb --startminimized
Icon=OpenRGB
Terminal=false
Categories=Utility;
Au prochain démarrage OpenRGB sera lancé automatiquement.
=== TUF-control (alternative) ===
Une autre interface graphique nommée TUF-control est disponible sur github https://github.com/icodelifee/TUF-Control
Les instructions d'installation sur le site ne sont pas correctes. Voici les étapes à suivre.
Installation des paquets nécessaires :
sudo apt-get install nodejs npm
Compiler le programme avec :
git clone https://github.com/icodelifee/TUF-Control.git
cd TUF-Control/
npm install
sudo npm install electron-packager -g
npm run-script build
npm install -g electron-installer-debian
sudo npm install -g electron-installer-debian
electron-installer-debian --src dist/tufcontrol-electron-linux-x64/ --dest dist/installers/ --arch amd64
Et installer le paquet avec :
cd dist/installers/
sudo dpkg -i tufcontrol-electron_1.0.0_amd64.deb
Lancer ''tufcontrol-electron''
tufcontrol-electron
==== Autres projets concernant le clavier Aura====
Non testé :
* [[https://gitlab.com/asus-linux/asus-nb-ctrl| Asus-nb-ctl (Asus notebook control)]].
Autres qui ne semblent pas fonctionner
* (testé ne fonctionne pas) https://github.com/wroberts/rogauracore
* (testé ne fonctionne pas) https://github.com/MidhunSureshR/openauranb
Interface graphique :
* (compilation non détaillée) : https://git.cromer.cl/cromer/tuf-manager
===== Autres fonctionnalités point par point (en cours de test/rédaction) =====
==== Problème bluetooth ====
Le bug a été **corrigé à partir de la version 5.10.6** du noyau mainline le 10/01/2021 (car le bluetooth ne fonctionnait plus du noyau 5.9.1 au noyau 5.10.5).
ARCHIVE : en attendant il avait été possible de :
* appliquer le patch donné dans les liens ci-dessus ou là https://marc.info/?l=linux-bluetooth&m=160378222632366&w=2 puis de compiler le noyau. C'est assez simple en suivant la procédure simplifiée donnée ici : [[tutoriel/comment_compiler_un_kernel_de_kernel.org#methode_simple_de_compilation_par_exemple_pour_appliquer_uniquement_un_patch|methode_simple_de_compilation_par_exemple_pour_appliquer_uniquement_un_patch]]
* Utiliser le dernier noyau mainline fonctionnel 5.8.18
==== Problèmes de freeze provoqué par certains disques SSD ====
Si vous constatez que le système se **bloque complètement (freeze)** appliquez la modification ci-dessous pour que le système prennent correctement en compte votre SSD.
É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
Selon le SSD avec sources :
* https://forum.mxlinux.org/viewtopic.php?f=107&t=59457
* DD SSD KINGSTON A2000 250Go M.2 2280 PCIe NVMe : commentaire sur le site https://www.amazon.in/Kingston-Internal-2000MB-SA2000M8-250G/dp/B07VYG5HQD/ref=cm_cr_arp_d_product_top?ie=UTF8
* WD SN520 :
==== 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) ====
Ce paragraphe est à revoir car le paramètre apm, même en 255, n'a aucune incidence sur le temps avant la mise en veille quad la machine est sur batterie. Quelques chose d'autre dans le système doit gérer ça.
Ne concerne que la version du A17 avec un disque NVME **et un disque dur "classique"**.
* Quand **vous démarrez l'ordinateur sur batterie** (et même si vous branchez le chargeur ensuite) le disque dur étant peu 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.
* Le problème ne se pose pas quand vous démarrez sur secteur.
FIXME : Toutes ces modifications sont ignorées par le système. Paragraphe en cours d'étude... Toute idée bienvenue.
Commencez par vérifier le niveau APM du disque :
sudo hdparm -B /dev/sda
Puis 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 suit pour éviter ces redémarrages intempestifs.
=== 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 # paramètre par défaut en mode demarrage secteur
spindown_time = 242
}
**Paramètres de spindow (extrait de [[hdparm|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
FIXME Incorrect car le paramètre 128 permet le parcage des têtes
Sources :
* http://www.ericbuist.com/info/nightmare/hdd.xhtml
* https://forum.ubuntu-fr.org/viewtopic.php?id=163428
* https://superuser.com/questions/840851/how-much-load-cycle-count-can-my-hard-drive-hypotethically-sustain
==== Message lié à l'hibernation ====
L'hibernation ne semble pas fonctionner correctement mais vu le délai de démarrage de quelques secondes seulement l'intérêt parait limité.
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.
Ce message signifie qu'en cas d'hibernation la sauvegarde et le réveil se feront par défaut depuis la partition swap (ici /dev/nvme0n1p4).
Pour mettre éviter ce message et confirmer cette partition, exécuter :
$ 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
==== Arrêt de la machine incorrect ====
=== Méthode 1 ===
Si la machine ne s'arrête pas et que vous obtenez un message comme "**a stop job is running**" il faudrait idéalement trouver le processus qui bloque l'arrêt. Ceci étant fastidieux il semblerait que l'installation de **watchdog** résolve le problème :
sudo apt install watchdog
sudo systemctl start watchdog.service
sudo systemctl enable watchdog.service
=== Méthode 2 ===
Une autre solution encore moins propre est de limiter l'attente à par exemple 5 secondes, mais cela peut provoquer des problèmes par la fermeture non régulière des processus en cause.
1. Commencer par taper cette ligne de commande dans une console (terminal):
sudo nano /etc/systemd/system.conf
2. Puis modifier le paramètre ''DefaultTimeoutStopSec=10s''
3. Relancer le démon:
sudo systemctl daemon-reload
Sources :
* https://unix.stackexchange.com/questions/273876/a-stop-job-is-running-for-session-c2-of-user
* https://www.reddit.com/r/archlinux/comments/4bawf7/a_stop_job_is_running_for_session_c2_of_user/d17th3u/
==== Prolonger la durée de vie de la batterie ====
Ce serait une nouvelle fonctionnalité intégrée au noyau mais cela ne semble pas fonctionner
N.B. : il faut remplacer BAT0 par BAT1 dans les lignes ci-dessous
Sources :
* https://pan.sman.cloud/controlling-the-battery-charging-threshold-on-asus-laptop-with-ubuntu-20-04/
* https://www.youtube.com/watch?v=VxIKFf8I1kg
* https://www.linuxuprising.com/2021/02/how-to-limit-battery-charging-set.html This is working my AsusTufa17 laptop
===== Autres sites donnant des éléments de configuration pour cette machine ou des machines similaires =====
* Page également mise à jour et en cours de rédaction (sous Mint) : [[https://forum.mxlinux.org/viewtopic.php?f=107&t=59457|]]
* Ce site référençant divers ajouts pour les gamer expérimentés en linux : [[https://linuxevolution.wordpress.com/2019/11/28/me-gamer-and-linux-user-impossible-mission-not-exactly-part-8/|]]
* Plusieurs informations concernant la mise en veille : [[https://forum.manjaro.org/t/howto-install-manjaro-on-the-asus-tuf-fx505dy-fx705dy-with-ryzen-radeon-combo/3083|]]
* [[https://gitlab.com/asus-linux/asusctl| Asusctl (Asus notebook control)]]
----
Contributeur principal : [[:utilisateurs:Olivier V]]
{{tag>Focal matériel portable tutoriel asus tuf A17 liste_portables_asus}}