- Modifié
Bonjour,
Comment installer Fedora 20 sur l'Acer chromebook C720P :
C'est un petit PC portable de 11,6 pouces avec écran tactile sur plateforme Intel Haswell vendu avec ChromeOS pour 300€ et qui donc devrait avoir un bon support pour Linux.
Ses principaux défauts sont ses 2Gb de RAM soudés, son écran qui bien qu'il ait une bonne définition a des angles de vu assez médiocres (dalle TN, mais mate ce qui est bien) et son clavier un peu mou.
J'aurai aussi aimé un port RJ45 intégré...
Ses atouts sont : probablement un bon support Linux dans les mois à venir, son poids assez léger, le format et l'autonomie si on veut pouvoir le transporter un peu partout et la puissance processeur pour son prix parmi les moins chers du marché.
http://www.acer.fr/ac/fr/FR/content/series/c720 (Page du constructeur sur la machine)
Une bonne référence pour installer une distribution GNU/Linux est cette page :
https://wiki.archlinux.org/index.php/Acer_C720_Chromebook
Procédure d'installation (Gnome) :
Télécharger l'iso Live CD Gnome x86_64 sur cette page.
Copier l'iso sur une clé USB d'au moins 1Gb avec cette commande :
(Remplacez le X de "sdX" par la lettre (sans chiffre !) du point de montage de la clé !
C'est TRES IMPORTANT DE NE PAS SE TROMPER, vous risquez d'effacer un disque de votre système !
Gparted ou l'utilitaire "Disques" permettent de vérifier le nom)
La machine est éteinte et branchée sur le secteur.
Passer en mode recovery :
"échap" + "F3(recharger)" (sans relacher), et on presse "power" en même temps.
Désactiver secure boot :
"ctrl" + "d"
Passer en mode développeur :
"ctrl" + "d" (on attend 30 secondes)
On patiente le temps du passage en mode développeur...
Le chromebook redémarre, on entre dans Chrome Os (sans se logger).
On passe directement sur la console :
"ctrl" + "alt" + "F2(->)"
On se logue avec:
On presse ctrl + L à l'écran blanc pour passer à seabios.
Une fois dans seabios (écran à dominante noire) on peut demander à booter sur la clé USB préparée pour installer Fedora 20 :
"échap"
On choisi le numéro correspondant à sa clé (le "2" qui est en accès direct)
Là on ne peut installer directement car on obtient alors un message d'erreur sur une mémoire insuffisante (j'ai le modèle avec 2Gb de mémoire vive).
L'astuce pour lancer le mode live est :
Sur le premier écran de l'installeur, on appuit sur [TAB] afin d'accéder aux options de boot et on ajoute "mem=1536m"
(attention le clavier est alors en US : le "m" est sur la touche "," et les chiffres sont en accès direct)
A partir de là on à accès à la procédure standard. Fedora s'installe normalement.
Toutefois il faut prévoir une souris USB car le touchpad ne marche pas, ni l'écran tactile.
Je rédige ceci depuis l'acer c720p avec fedora installé sur le disque dur 🙂 J'ai complètement viré chromeOS. Ma partition racine, qui inclus /home, fait 29Gb.
Ce qui ne fonctionne pas avec l'installation standard :
- [RESOLU] touchpad (mais il y a un patch : https://plus.google.com/+BensonLeung/posts/EJUSUudzHb3 et une second sur xorg pour avoir un meilleur comportement https://plus.google.com/+HughGreenberg/posts/LDVHbPceKUc ) Bug report : https://bugzilla.redhat.com/show_bug.cgi?id=1045821
- [RESOLU] l'écran tactile (il semble qu'on puisse le faire marcher cf. https://plus.google.com/114358706658341629084/posts/Q9B4DiqWZ5E )
- [RESOLU] veille/hibernation surtout quand on ferme l'écran ; on peut la désactiver avec le fichier de conf de systemd, cf. le wiki d'arch linux en lien au-dessus. J'ai bon espoir de pouvoir résoudre aussi ce soucis, cf. https://plus.google.com/+PedroLarroy/posts/6CgQypQukMa
- [BIDOUILLAGE] le micro intégré
- [RESOLU] la lecture vidéo avec accélération GPU : accélération matérielle (GPU) dans totem grâce à gstreamer1-vaapi.
- [MATÉRIEL SUPPORTÉ par le noyau] le détecteur automatique de luminosité (ALS en anglais) couplé avec la luminosité de l'écran. Il y a des référence à ce sujet dans le code source du noyau dans le module drivers/platform/x86/chromeos_laptop.c EDIT : le pilote est "linux-3.12.7-300.fc20.x86_64/drivers/staging/iio/light/isl29018.o", les sondes sont accessibles par "$ cat /sys/bus/iio/devices/iio:device0/in_*" Il y a 3 sondes : luminosité, proximité et infrarouge.
Ce qui fonctionne (testé) :
- l'écran en résolution native 1368x768 (16:9)
- le clavier (AZERTY) avec la touche super sur la touche [Recherche] (à gauche, à la place de [CAPS LOCK], bien pratique finalement pour Gnome). Note : pas de touche [CAPS LOCK], ni [SUPPR]. [RESOLU] On peut avoir accès aux touches "spéciales" du clavier (la première rangée) et avoir ce qui manque le plus : Caps Lock, Suppr, Début, Fin, Page up, Page Down
- le wifi
- le son
- les ports USB (testé avec du matériel 2.0)
- la webcam
- l'autonomie à l'air très bonne (c'est une des raisons de mon achat). Recharge complète de la batterie : 1h45. Estimation de la durée de vie de la batterie par le système après un cycle complet de charge à 100%/décharge complète 2%/recharge à 100% : oscille entre 5h30 et 6h30
- l'accélération matérielle de la carte graphique intel
- le lecteur de carte SD
A tester :
- le bluetooth (il semble que ça marche...)
Ce qui casse un peu les pieds :
- une fois passé en mode développeur pour pouvoir booter sans sécure boot on a droit à chaque démarrage à un écran blanc d'avertissement et il faut faire CTRL+L pour en sortir, mais vu que c'est déjà coreboot j'ai bon espoir de pouvoir réinstaller coreboot pour ne plus avoir cela. cf. http://johnlewis.ie/ qui demande des donations pour acheter l'acer C720 et y faire marcher coreboot...
- [RESOLU] dans l'interface Gnome, quand je passe la souris sur les icones logiciels, il y a des petits glitchs d'une fraction de seconde (mineur mais pas esthétique). UPDATE: les glitchs ont disparus (probablement grâce à une mise à jour logicielle).
Ce qu'on peut optimiser :
- [RESOLU] augmenter l'autonomie jusqu'à une estimation de 10h avec juste l'interface Gnome et la batterie pleine.
- [RESOLU] la fonction TRIM pour le SSD, un meilleur ordonnanceur d'I/O et réduire les écritures.
- [RESOLU] Augmenter la RAM disponible avec la compression d'une partie de celle-ci (ZRAM)
Ce qui fait plaisir :
- la pile logicielle libre \o/
- Gnome est rapide et fluide
Activer le pavé tactile, l'écran tactile et ZRAM :
ATTENTION : si le kernel est mis à jour, il faudra relancer ce script et rebooter.
Pensez à faire une mise à jour avant :
Nouvelle version du script (version 14, 20 août 2014) : règle un soucis d'URL qui rend la version 13 inopérante
Script version 14 pour Linux 3.15.x
Nouvelle version du script (version 13, 17 juillet 2014) : règle le soucis de veille pour la version KDE de fedora 20 (voire d'autres versions...)
https://bugzilla.redhat.com/attachment.cgi?id=918624
Version du script pour les noyaux >= 3.15.4 (12 juillet 2014)
https://bugzilla.redhat.com/attachment.cgi?id=917452
Version du script pour les noyaux >= 3.14.6 (12 juin 2014)
Vous pouvez supprimer le dossier "rpmbuild" dans votre home qui a servi à compiler les modules du noyau.
Ensuite il faut configurer le pavé/l'écran tactile :
Créez le fichier "touchpad-acer-c720.modules" dans /etc/sysconfig/modules/
Dans Gnome, appuyer sur la touche "Recherche" et rechercher "Souris & pavé tactile" :
Cocher la case en bas à droite "Taper pour cliquer". Ainsi pour cliquer il suffit de taper sur le pavé, plus besoin d'utiliser les boutons mécaniques qui ont le défaut de faire bouger le pointeur.
Usage du pavé tactile : Documentation de Gnome pour le pavé tactile
bouton gauche : taper avec un doigt (double-clic possible)
bouton droit : taper avec 2 doigts
bouton du milieu : taper avec 3 droigts
Défilement : faire glisser avec 2 doigts.
Sélection : double tape avec 1 doigt, mais on laisse le doigt appuyé la second fois, puis on le déplace pour sélectionner.
Maintenant on ajoute cette extension à Firefox pour faire défiler l'écran avec les doigts :
Grab and Drag
Enfin on suit la configuration manuelle (l'automatique ne marche pas pour f20) de cette doc pour ZRAM :
Configuration manuelle de zram
Son
UPDATE :
Comme le son semble être bien géré par Fedora, voici une configuration pour que les logiciels qui utilisent Alsa coopèrent avec PulseAudio (en particulier flash ne bloque plus le son)
Installer le plugin d'Alsa pour puleaudio :
Ressource : Documentation officielle sur l'autonomie
On va activer le profile "powersave" de tuned :
Dans cette configuration, Gnome oscille entre une estimation de 8h et 9h, ce qui est bien mieux que le 5h30/6h30 de base d'une installation toute fraiche. Ce n'est bien sûr qu'une estimation, mais cela montre un gain réel important.
On va mainenant utiliser l'utilitaire "powertop" et suivre ses conseils (onglet "tunables") :
Régler l'hibernation/mise en veille
Créer le fichier /etc/tmpfiles.d/cros-acpi-wakeup.conf
On ajoute cette ligne à la fin :
Ca devrait fonctionner : Fermer l'écran, ou appuyer sur le bouton power en haut à droite du clavier met le PC en hibernation.
Utiliser les touches multimédias
Référence : Clavier des Chromebooks
La touche [Recherche] est déjà assignée par Gnome à la recherche.
Pour les autres touches spéciales :
Installer le logiciel xbindkeys, xbacklight, xdotool et xvkbd :
Nom : Script de démarrage
Commande : sh -c /home/NOM_D_UTILISATEUR/.startup/start.sh
Pour avoir les 4 premières touches de navigation (Retour, Avancer, Recharger, Plein écran) dans Firefox, essayer cette extension :
Customizable Shortcuts for Firefox
Puis on va dans Edition -> Préférences -> Shorcuts, et on assigne :
Back : F1 (en appuyant sur la touche)
Forward : F2
key_reload : F3
Plein écran : F4 (plus bas dans la page)
Pour la 5e touche, Gnome peut la remplacer par Alt+Tab.
Caps Lock = alt + Recherche
Cette extensions de Gnome Shell permet d'avoir une icone affichant l'état de Cap Lock.
On a aussi, avec certains logiciels (Firefox, LibreOffice...) :
Suppr = alt + Backspace
Début = alt + ←
Fin = alt + →
Page up = alt + ↑
Page down = alt + ↓
F6...F9 = alt gr + F6...F9
F10 = alt gr + échap
F11 = alt gr + F1
F12 = alt gr + F2
Améliorer la réception du WIFI
Déterminer le périphérique :
Références :
http://wikidevi.com/wiki/Atheros_AR5B22 (détails sur la puce)
http://wireless.kernel.org/en/users/Drivers/ath9k (détails sur le pilote)
Lors de streaming vidéo, j'ai pu observer de nombreuses petites micro-coupures.
Cette configuration améliore les choses :
Créer le fichier /etc/modprobe.d/ath9k.conf :
Rebooter
Visualisation en temps réel de la force du signal wifi :
On se logue et on tape "wavemon"
Désactiver le pavé tactile lorsqu'on écrit
Lorsqu'on utilise le clavier, il peut arriver qu'on appuie sur le pavé tactile ce qui a pour effet de déplacer le curseur et l'écriture se poursuit à un endroit inattendu.
On peut désactiver le pavé tactile lors de la frappe au clavier
Paramètres (Gnome) -> Souris et pavé tactile -> Désactiver lors de la frappe
Luminosité automatique de l'écran (expérimental)
Lancer ce script au démarrage de la session :
Comment installer Fedora 20 sur l'Acer chromebook C720P :
C'est un petit PC portable de 11,6 pouces avec écran tactile sur plateforme Intel Haswell vendu avec ChromeOS pour 300€ et qui donc devrait avoir un bon support pour Linux.
Ses principaux défauts sont ses 2Gb de RAM soudés, son écran qui bien qu'il ait une bonne définition a des angles de vu assez médiocres (dalle TN, mais mate ce qui est bien) et son clavier un peu mou.
J'aurai aussi aimé un port RJ45 intégré...
Ses atouts sont : probablement un bon support Linux dans les mois à venir, son poids assez léger, le format et l'autonomie si on veut pouvoir le transporter un peu partout et la puissance processeur pour son prix parmi les moins chers du marché.
http://www.acer.fr/ac/fr/FR/content/series/c720 (Page du constructeur sur la machine)
Une bonne référence pour installer une distribution GNU/Linux est cette page :
https://wiki.archlinux.org/index.php/Acer_C720_Chromebook
Procédure d'installation (Gnome) :
Télécharger l'iso Live CD Gnome x86_64 sur cette page.
Copier l'iso sur une clé USB d'au moins 1Gb avec cette commande :
(Remplacez le X de "sdX" par la lettre (sans chiffre !) du point de montage de la clé !
C'est TRES IMPORTANT DE NE PAS SE TROMPER, vous risquez d'effacer un disque de votre système !
Gparted ou l'utilitaire "Disques" permettent de vérifier le nom)
# dd bs=8M if=Fedora-Live-Desktop-x86_64-20-1.iso of=/dev/sdX && sync
On passe en Dévelopeur mode et on active Seabios :La machine est éteinte et branchée sur le secteur.
Passer en mode recovery :
"échap" + "F3(recharger)" (sans relacher), et on presse "power" en même temps.
Désactiver secure boot :
"ctrl" + "d"
Passer en mode développeur :
"ctrl" + "d" (on attend 30 secondes)
On patiente le temps du passage en mode développeur...
Le chromebook redémarre, on entre dans Chrome Os (sans se logger).
On passe directement sur la console :
"ctrl" + "alt" + "F2(->)"
On se logue avec:
localhost login: chronos
On passe superutilisateur (attention le clavier est en qwerty) :
sudo bash
On active seabios :
# crossystem dev_boot_usb=1 dev_boot_legacy=1
On reboot la machine en mettant sa clé USB sur le port de droite (USB 2.0)On presse ctrl + L à l'écran blanc pour passer à seabios.
Une fois dans seabios (écran à dominante noire) on peut demander à booter sur la clé USB préparée pour installer Fedora 20 :
"échap"
On choisi le numéro correspondant à sa clé (le "2" qui est en accès direct)
Là on ne peut installer directement car on obtient alors un message d'erreur sur une mémoire insuffisante (j'ai le modèle avec 2Gb de mémoire vive).
L'astuce pour lancer le mode live est :
Sur le premier écran de l'installeur, on appuit sur [TAB] afin d'accéder aux options de boot et on ajoute "mem=1536m"
(attention le clavier est alors en US : le "m" est sur la touche "," et les chiffres sont en accès direct)
A partir de là on à accès à la procédure standard. Fedora s'installe normalement.
Toutefois il faut prévoir une souris USB car le touchpad ne marche pas, ni l'écran tactile.
Je rédige ceci depuis l'acer c720p avec fedora installé sur le disque dur 🙂 J'ai complètement viré chromeOS. Ma partition racine, qui inclus /home, fait 29Gb.
Ce qui ne fonctionne pas avec l'installation standard :
- [RESOLU] touchpad (mais il y a un patch : https://plus.google.com/+BensonLeung/posts/EJUSUudzHb3 et une second sur xorg pour avoir un meilleur comportement https://plus.google.com/+HughGreenberg/posts/LDVHbPceKUc ) Bug report : https://bugzilla.redhat.com/show_bug.cgi?id=1045821
- [RESOLU] l'écran tactile (il semble qu'on puisse le faire marcher cf. https://plus.google.com/114358706658341629084/posts/Q9B4DiqWZ5E )
- [RESOLU] veille/hibernation surtout quand on ferme l'écran ; on peut la désactiver avec le fichier de conf de systemd, cf. le wiki d'arch linux en lien au-dessus. J'ai bon espoir de pouvoir résoudre aussi ce soucis, cf. https://plus.google.com/+PedroLarroy/posts/6CgQypQukMa
- [BIDOUILLAGE] le micro intégré
- [RESOLU] la lecture vidéo avec accélération GPU : accélération matérielle (GPU) dans totem grâce à gstreamer1-vaapi.
- [MATÉRIEL SUPPORTÉ par le noyau] le détecteur automatique de luminosité (ALS en anglais) couplé avec la luminosité de l'écran. Il y a des référence à ce sujet dans le code source du noyau dans le module drivers/platform/x86/chromeos_laptop.c EDIT : le pilote est "linux-3.12.7-300.fc20.x86_64/drivers/staging/iio/light/isl29018.o", les sondes sont accessibles par "$ cat /sys/bus/iio/devices/iio:device0/in_*" Il y a 3 sondes : luminosité, proximité et infrarouge.
Ce qui fonctionne (testé) :
- l'écran en résolution native 1368x768 (16:9)
- le clavier (AZERTY) avec la touche super sur la touche [Recherche] (à gauche, à la place de [CAPS LOCK], bien pratique finalement pour Gnome). Note : pas de touche [CAPS LOCK], ni [SUPPR]. [RESOLU] On peut avoir accès aux touches "spéciales" du clavier (la première rangée) et avoir ce qui manque le plus : Caps Lock, Suppr, Début, Fin, Page up, Page Down
- le wifi
- le son
- les ports USB (testé avec du matériel 2.0)
- la webcam
- l'autonomie à l'air très bonne (c'est une des raisons de mon achat). Recharge complète de la batterie : 1h45. Estimation de la durée de vie de la batterie par le système après un cycle complet de charge à 100%/décharge complète 2%/recharge à 100% : oscille entre 5h30 et 6h30
- l'accélération matérielle de la carte graphique intel
- le lecteur de carte SD
A tester :
- le bluetooth (il semble que ça marche...)
Ce qui casse un peu les pieds :
- une fois passé en mode développeur pour pouvoir booter sans sécure boot on a droit à chaque démarrage à un écran blanc d'avertissement et il faut faire CTRL+L pour en sortir, mais vu que c'est déjà coreboot j'ai bon espoir de pouvoir réinstaller coreboot pour ne plus avoir cela. cf. http://johnlewis.ie/ qui demande des donations pour acheter l'acer C720 et y faire marcher coreboot...
- [RESOLU] dans l'interface Gnome, quand je passe la souris sur les icones logiciels, il y a des petits glitchs d'une fraction de seconde (mineur mais pas esthétique). UPDATE: les glitchs ont disparus (probablement grâce à une mise à jour logicielle).
Ce qu'on peut optimiser :
- [RESOLU] augmenter l'autonomie jusqu'à une estimation de 10h avec juste l'interface Gnome et la batterie pleine.
- [RESOLU] la fonction TRIM pour le SSD, un meilleur ordonnanceur d'I/O et réduire les écritures.
- [RESOLU] Augmenter la RAM disponible avec la compression d'une partie de celle-ci (ZRAM)
Ce qui fait plaisir :
- la pile logicielle libre \o/
- Gnome est rapide et fluide
Activer le pavé tactile, l'écran tactile et ZRAM :
ATTENTION : si le kernel est mis à jour, il faudra relancer ce script et rebooter.
Pensez à faire une mise à jour avant :
$ su -c 'yum update'
Lancez ce script (avec votre utilisateur courant ; pas en root ! Le script vous demandera votre mot de passe root plusieurs fois quand il en aura besoin.):Nouvelle version du script (version 14, 20 août 2014) : règle un soucis d'URL qui rend la version 13 inopérante
Script version 14 pour Linux 3.15.x
Nouvelle version du script (version 13, 17 juillet 2014) : règle le soucis de veille pour la version KDE de fedora 20 (voire d'autres versions...)
https://bugzilla.redhat.com/attachment.cgi?id=918624
Version du script pour les noyaux >= 3.15.4 (12 juillet 2014)
https://bugzilla.redhat.com/attachment.cgi?id=917452
Version du script pour les noyaux >= 3.14.6 (12 juin 2014)
#!/bin/bash
# Modified for Arch Linux from ChrUbuntu's cros-haswell-modules.sh
# https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/cros-haswell-modules.sh
# + touchpad:
# original cros-haswell-modules.sh by Jay Lee http://goo.gl/kz917j
# updated to support c720p touchscreen by motley.slate@gmail.com
# updated to support als system - Yannick@ekiga
# This script is designed for Fedora 20
# Changelog:
# Version 10
# - Remove the fix for suspend; kernel 3.14.6 has the fix.
# Version 9
# - fix suspend for 3.14.2 by reverting patch https://github.com/torvalds/linux/commit/1569a4c4ceba
# Version 8
# - updated for linux 3.14.x
# - Updated zram folder as it is now outside staging
# Version 7.1
# Apply since kernel 3.13.3-201.fc20.x86_64
# - Fix the atmel touchscreen module for kernel 3.13.x
set -e
# Determine kernel version
# e.g. 3.12.5-302.fc20.x86_64
archkernver=$(uname -r)
# e.g. 3.12.5
kernver=$(uname -r | cut -d'-' -f 1)
# e.g. 302.fc20
fnumversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 1,2)
# e.g. x86_64
arch=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 3)
# e.g. 3.12
kernvermaj=$(uname -r | cut -d'-' -f 1 | cut -d'.' -f 1,2)
# e.g. fc20
fversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 2)
# e.g. 302.fc20.x86_64
extraversion=$(uname -r | cut -d'-' -f 2)
# Install necessary deps to build a kernel
echo "Installing linux-headers..."
su -c 'yum install rpmdevtools yum-utils kernel-devel kernel-headers ncurses-devel pesign'
# Grab kernel source
rpmdev-setuptree
yumdownloader --source kernel
su -c "yum-builddep kernel-$kernver-$fnumversion.src.rpm"
rpm -Uvh kernel-$kernver-$fnumversion.src.rpm
cd $HOME/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
cd $HOME/rpmbuild/BUILD/kernel-$kernvermaj.$fversion/linux-$archkernver
# Use Benson Leung's post-Pixel Chromebook patches:
# https://patchwork.kernel.org/bundle/bleung/chromeos-laptop-deferring-and-haswell/
echo "Applying Chromebook Haswell Patches..."
for patch in 3078491 3078481; do
wget -O - https://patchwork.kernel.org/patch/$patch/raw/ | patch -p1
done
# fetch the chromeos_laptop and atmel maxtouch source code
# Copy made from chromium.googlesource.com chromeos-3.8 branch
# https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/refs/heads/chromeos-3.8
wget https://googledrive.com/host/0BxMvXgjEztvAbEdYM1o0ck5rOVE --output-document=patch_atmel_mxt_ts.c
# Fix for kernel >=3.13
sed -i -e "s/INIT_COMPLETION(/reinit_completion(\&/g" patch_atmel_mxt_ts.c
wget https://googledrive.com/host/0BxMvXgjEztvAdVBjQUljYWtiR2c --output-document=patch_chromeos_laptop.c
# copy source files into kernel tree replacing existing Ubuntu source
cp ./patch_atmel_mxt_ts.c drivers/input/touchscreen/atmel_mxt_ts.c
cp ./patch_chromeos_laptop.c drivers/platform/chrome/chromeos_laptop.c
echo "Building relevant modules..."
# Touchpad
cd drivers/platform/chrome/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := chromeos_laptop.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
cd drivers/i2c/busses/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-core.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-pci.o
i2c-designware-pci-objs := i2c-designware-pcidrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-platform.o
i2c-designware-platform-objs := i2c-designware-platdrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# Touchscreen
cd drivers/input/touchscreen/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := atmel_mxt_ts.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# ALS: /drivers/staging/iio/light/isl29018.o
cd drivers/staging/iio/light/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := isl29018.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../../..
# ZRAM
cd mm/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zsmalloc.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ..
cd drivers/block/zram
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zram.o
zram-y := zram_drv.o
obj-$(CONFIG_ZRAM) += zram.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
echo "Installing relevant modules and driver..."
# Touchpad, TouchScreen and Zram
su -c "cp drivers/platform/chrome/chromeos_laptop.ko /lib/modules/$archkernver/kernel/drivers/platform/chrome/ && cp drivers/i2c/busses/i2c-designware-*.ko /lib/modules/$archkernver/kernel/drivers/i2c/busses/ && cp drivers/input/touchscreen/atmel_mxt_ts.ko /lib/modules/$archkernver/kernel/drivers/input/touchscreen/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/iio/light && cp drivers/staging/iio/light/isl29018.ko /lib/modules/$archkernver/kernel/drivers/staging/iio/light/ && mkdir -p /lib/modules/$archkernver/kernel/mm && cp mm/zsmalloc.ko /lib/modules/$archkernver/kernel/mm/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/block/zram && cp drivers/block/zram/zram.ko /lib/modules/$archkernver/kernel/drivers/block/zram/ && depmod -a $archkernver && yum install xorg-x11-drv-synaptics"
echo "Les modules pour le pavé, l'écran tactiles, l'ALS et ZRAM sont prêts."
Version du script pour les noyaux >= 3.14 (2 mai 2014)
#!/bin/bash
# Modified for Arch Linux from ChrUbuntu's cros-haswell-modules.sh
# https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/cros-haswell-modules.sh
# + touchpad:
# original cros-haswell-modules.sh by Jay Lee http://goo.gl/kz917j
# updated to support c720p touchscreen by motley.slate@gmail.com
# updated to support als system - Yannick@ekiga
# This script is designed for Fedora 20
# Changelog:
# Version 9
# - fix suspend for 3.14.2 by reverting patch https://github.com/torvalds/linux/commit/1569a4c4ceba
# Version 8
# - updated for linux 3.14.x
# - Updated zram folder as it is now outside staging
# Version 7.1
# Apply since kernel 3.13.3-201.fc20.x86_64
# - Fix the atmel touchscreen module for kernel 3.13.x
set -e
# Determine kernel version
# e.g. 3.12.5-302.fc20.x86_64
archkernver=$(uname -r)
# e.g. 3.12.5
kernver=$(uname -r | cut -d'-' -f 1)
# e.g. 302.fc20
fnumversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 1,2)
# e.g. x86_64
arch=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 3)
# e.g. 3.12
kernvermaj=$(uname -r | cut -d'-' -f 1 | cut -d'.' -f 1,2)
# e.g. fc20
fversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 2)
# e.g. 302.fc20.x86_64
extraversion=$(uname -r | cut -d'-' -f 2)
# Install necessary deps to build a kernel
echo "Installing linux-headers..."
su -c 'yum install rpmdevtools yum-utils kernel-devel kernel-headers ncurses-devel pesign'
# Grab kernel source
rpmdev-setuptree
yumdownloader --source kernel
su -c "yum-builddep kernel-$kernver-$fnumversion.src.rpm"
rpm -Uvh kernel-$kernver-$fnumversion.src.rpm
cd $HOME/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
cd $HOME/rpmbuild/BUILD/kernel-$kernvermaj.$fversion/linux-$archkernver
# Use Benson Leung's post-Pixel Chromebook patches:
# https://patchwork.kernel.org/bundle/bleung/chromeos-laptop-deferring-and-haswell/
echo "Applying Chromebook Haswell Patches..."
for patch in 3078491 3078481; do
wget -O - https://patchwork.kernel.org/patch/$patch/raw/ | patch -p1
done
# fetch the chromeos_laptop and atmel maxtouch source code
# Copy made from chromium.googlesource.com chromeos-3.8 branch
# https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/refs/heads/chromeos-3.8
wget https://googledrive.com/host/0BxMvXgjEztvAbEdYM1o0ck5rOVE --output-document=patch_atmel_mxt_ts.c
# Fix for kernel >=3.13
sed -i -e "s/INIT_COMPLETION(/reinit_completion(\&/g" patch_atmel_mxt_ts.c
wget https://googledrive.com/host/0BxMvXgjEztvAdVBjQUljYWtiR2c --output-document=patch_chromeos_laptop.c
# copy source files into kernel tree replacing existing Ubuntu source
cp ./patch_atmel_mxt_ts.c drivers/input/touchscreen/atmel_mxt_ts.c
cp ./patch_chromeos_laptop.c drivers/platform/chrome/chromeos_laptop.c
# Fix suspend by reverting drivers/char/tpm/tpm_ppi.c to kernel 3.13 behavior
wget -O - https://github.com/torvalds/linux/commit/1569a4c4ceba.patch | patch -p1 -R
echo "Building relevant modules..."
# Touchpad
cd drivers/platform/chrome/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := chromeos_laptop.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
cd drivers/i2c/busses/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-core.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-pci.o
i2c-designware-pci-objs := i2c-designware-pcidrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-platform.o
i2c-designware-platform-objs := i2c-designware-platdrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# Touchscreen
cd drivers/input/touchscreen/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := atmel_mxt_ts.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# ALS: /drivers/staging/iio/light/isl29018.o
cd drivers/staging/iio/light/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := isl29018.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../../..
# ZRAM
cd mm/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zsmalloc.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ..
cd drivers/block/zram
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zram.o
zram-y := zram_drv.o
obj-$(CONFIG_ZRAM) += zram.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# Suspend
cd drivers/char/tpm/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m += tpm.o
tpm-y := tpm-interface.o tpm-dev.o tpm-sysfs.o
tpm-y += tpm_ppi.o
tpm-y += tpm_eventlog.o tpm_acpi.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
echo "Installing relevant modules and driver..."
# Touchpad, TouchScreen and Zram
su -c "cp drivers/platform/chrome/chromeos_laptop.ko /lib/modules/$archkernver/kernel/drivers/platform/chrome/ && cp drivers/i2c/busses/i2c-designware-*.ko /lib/modules/$archkernver/kernel/drivers/i2c/busses/ && cp drivers/input/touchscreen/atmel_mxt_ts.ko /lib/modules/$archkernver/kernel/drivers/input/touchscreen/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/iio/light && cp drivers/staging/iio/light/isl29018.ko /lib/modules/$archkernver/kernel/drivers/staging/iio/light/ && mkdir -p /lib/modules/$archkernver/kernel/mm && cp mm/zsmalloc.ko /lib/modules/$archkernver/kernel/mm/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/block/zram && cp drivers/block/zram/zram.ko /lib/modules/$archkernver/kernel/drivers/block/zram/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/char/tpm/ && cp drivers/char/tpm/tpm.ko /lib/modules/$archkernver/kernel/drivers/char/tpm/ && depmod -a $archkernver && yum install xorg-x11-drv-synaptics"
echo "Les modules pour le pavé, l'écran tactiles, l'ALS et ZRAM sont prêts."
Version du script pour le kernel 3.13.x (depuis le 18/02/2014)
#!/bin/bash
# Modified for Arch Linux from ChrUbuntu's cros-haswell-modules.sh
# https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/cros-haswell-modules.sh
# + touchpad:
# original cros-haswell-modules.sh by Jay Lee http://goo.gl/kz917j
# updated to support c720p touchscreen by motley.slate@gmail.com
# updated to support als system - Yannick@ekiga
# This script is designed for Fedora 20
# Version 7.1
# Apply since kernel 3.13.3-201.fc20.x86_64
# Changelog :
# - Fix the atmel touchscreen module for kernel 3.13.x
set -e
# Determine kernel version
# e.g. 3.12.5-302.fc20.x86_64
archkernver=$(uname -r)
# e.g. 3.12.5
kernver=$(uname -r | cut -d'-' -f 1)
# e.g. 302.fc20
fnumversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 1,2)
# e.g. x86_64
arch=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 3)
# e.g. 3.12
kernvermaj=$(uname -r | cut -d'-' -f 1 | cut -d'.' -f 1,2)
# e.g. fc20
fversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 2)
# e.g. 302.fc20.x86_64
extraversion=$(uname -r | cut -d'-' -f 2)
# Install necessary deps to build a kernel
echo "Installing linux-headers..."
su -c 'yum install rpmdevtools yum-utils kernel-devel kernel-headers ncurses-devel pesign'
# Grab kernel source
rpmdev-setuptree
yumdownloader --source kernel
su -c "yum-builddep kernel-$kernver-$fnumversion.src.rpm"
rpm -Uvh kernel-$kernver-$fnumversion.src.rpm
cd $HOME/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
cd $HOME/rpmbuild/BUILD/kernel-$kernvermaj.$fversion/linux-$archkernver
# Use Benson Leung's post-Pixel Chromebook patches:
# https://patchwork.kernel.org/bundle/bleung/chromeos-laptop-deferring-and-haswell/
echo "Applying Chromebook Haswell Patches..."
for patch in 3078491 3078481; do
wget -O - https://patchwork.kernel.org/patch/$patch/raw/ | patch -p1
done
# fetch the chromeos_laptop and atmel maxtouch source code
# Copy made from chromium.googlesource.com chromeos-3.8 branch
# https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/refs/heads/chromeos-3.8
wget https://googledrive.com/host/0BxMvXgjEztvAbEdYM1o0ck5rOVE --output-document=patch_atmel_mxt_ts.c
# Fix for kernel >=3.13
sed -i -e "s/INIT_COMPLETION(/reinit_completion(\&/g" patch_atmel_mxt_ts.c
wget https://googledrive.com/host/0BxMvXgjEztvAdVBjQUljYWtiR2c --output-document=patch_chromeos_laptop.c
# copy source files into kernel tree replacing existing Ubuntu source
cp ./patch_atmel_mxt_ts.c drivers/input/touchscreen/atmel_mxt_ts.c
cp ./patch_chromeos_laptop.c drivers/platform/chrome/chromeos_laptop.c
echo "Building relevant modules..."
# Touchpad
cd drivers/platform/chrome/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := chromeos_laptop.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
cd drivers/i2c/busses/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-core.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-pci.o
i2c-designware-pci-objs := i2c-designware-pcidrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-platform.o
i2c-designware-platform-objs := i2c-designware-platdrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# Touchscreen
cd drivers/input/touchscreen/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := atmel_mxt_ts.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# ALS: /drivers/staging/iio/light/isl29018.o
cd drivers/staging/iio/light/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := isl29018.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../../..
# ZRAM
cd drivers/staging/zsmalloc/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zsmalloc.o
zsmalloc-y := zsmalloc-main.o
obj-$(CONFIG_ZSMALLOC) += zsmalloc.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
cd drivers/staging/zram/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zram.o
zram-y := zram_drv.o
obj-$(CONFIG_ZRAM) += zram.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
echo "Installing relevant modules and driver..."
# Touchpad, TouchScreen and Zram
su -c "cp drivers/platform/chrome/chromeos_laptop.ko /lib/modules/$archkernver/kernel/drivers/platform/chrome/ && cp drivers/i2c/busses/i2c-designware-*.ko /lib/modules/$archkernver/kernel/drivers/i2c/busses/ && cp drivers/input/touchscreen/atmel_mxt_ts.ko /lib/modules/$archkernver/kernel/drivers/input/touchscreen/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/iio/light && cp drivers/staging/iio/light/isl29018.ko /lib/modules/$archkernver/kernel/drivers/staging/iio/light/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/zsmalloc && cp drivers/staging/zsmalloc/zsmalloc.ko /lib/modules/$archkernver/kernel/drivers/staging/zsmalloc/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/zram && cp drivers/staging/zram/zram.ko /lib/modules/$archkernver/kernel/drivers/staging/zram/ && depmod -a $archkernver && yum install xorg-x11-drv-synaptics"
echo "Les modules pour le pavé, l'écran tactiles, l'ALS et ZRAM sont prêts."
Version du script pour les kernel 3.11.x et 3.12.x
#!/bin/bash
# Modified for Arch Linux from ChrUbuntu's cros-haswell-modules.sh
# https://googledrive.com/host/0B0YvUuHHn3MndlNDbXhPRlB2eFE/cros-haswell-modules.sh
# + touchpad:
# original cros-haswell-modules.sh by Jay Lee http://goo.gl/kz917j
# updated to support c720p touchscreen by motley.slate@gmail.com
# updated to support als system - Yannick@ekiga
# This script is designed for Fedora 20
set -e
# Determine kernel version
# e.g. 3.12.5-302.fc20.x86_64
archkernver=$(uname -r)
# e.g. 3.12.5
kernver=$(uname -r | cut -d'-' -f 1)
# e.g. 302.fc20
fnumversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 1,2)
# e.g. x86_64
arch=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 3)
# e.g. 3.12
kernvermaj=$(uname -r | cut -d'-' -f 1 | cut -d'.' -f 1,2)
# e.g. fc20
fversion=$(uname -r | cut -d'-' -f 2 | cut -d'.' -f 2)
# e.g. 302.fc20.x86_64
extraversion=$(uname -r | cut -d'-' -f 2)
# Install necessary deps to build a kernel
echo "Installing linux-headers..."
su -c 'yum install rpmdevtools yum-utils kernel-devel kernel-headers ncurses-devel pesign'
# Grab kernel source
rpmdev-setuptree
yumdownloader --source kernel
su -c "yum-builddep kernel-$kernver-$fnumversion.src.rpm"
rpm -Uvh kernel-$kernver-$fnumversion.src.rpm
cd $HOME/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
cd $HOME/rpmbuild/BUILD/kernel-$kernvermaj.$fversion/linux-$archkernver
# Use Benson Leung's post-Pixel Chromebook patches:
# https://patchwork.kernel.org/bundle/bleung/chromeos-laptop-deferring-and-haswell/
echo "Applying Chromebook Haswell Patches..."
for patch in 3078491 3078481 3074391 3074441 3074421 3074401 3074431 3074411; do
wget -O - https://patchwork.kernel.org/patch/$patch/raw/ | patch -p1
done
# fetch the chromeos_laptop and atmel maxtouch source code
# Copy made from chromium.googlesource.com chromeos-3.8 branch
# https://chromium.googlesource.com/chromiumos/third_party/kernel-next/+/refs/heads/chromeos-3.8
wget https://googledrive.com/host/0BxMvXgjEztvAbEdYM1o0ck5rOVE --output-document=patch_atmel_mxt_ts.c
wget https://googledrive.com/host/0BxMvXgjEztvAdVBjQUljYWtiR2c --output-document=patch_chromeos_laptop.c
# copy source files into kernel tree replacing existing Ubuntu source
cp ./patch_atmel_mxt_ts.c drivers/input/touchscreen/atmel_mxt_ts.c
cp ./patch_chromeos_laptop.c drivers/platform/x86/chromeos_laptop.c
echo "Building relevant modules..."
# Touchpad
cd drivers/platform/x86/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := chromeos_laptop.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
cd drivers/i2c/busses/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-core.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-pci.o
i2c-designware-pci-objs := i2c-designware-pcidrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
echo 'KERNELVERSION = '$archkernver'
obj-m := i2c-designware-platform.o
i2c-designware-platform-objs := i2c-designware-platdrv.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# Touchscreen
cd drivers/input/touchscreen/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := atmel_mxt_ts.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
# ALS: /drivers/staging/iio/light/isl29018.o
cd drivers/staging/iio/light/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := isl29018.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../../..
# ZRAM
cd drivers/staging/zsmalloc/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zsmalloc.o
zsmalloc-y := zsmalloc-main.o
obj-$(CONFIG_ZSMALLOC) += zsmalloc.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
cd drivers/staging/zram/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m := zram.o
zram-y := zram_drv.o
obj-$(CONFIG_ZRAM) += zram.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..
echo "Installing relevant modules and driver..."
# Touchpad, TouchScreen and Zram
# preserve old as .orig
su -c "cp drivers/platform/x86/chromeos_laptop.ko /lib/modules/$archkernver/kernel/drivers/platform/x86/ && cp drivers/i2c/busses/i2c-designware-*.ko /lib/modules/$archkernver/kernel/drivers/i2c/busses/ && cp drivers/input/touchscreen/atmel_mxt_ts.ko /lib/modules/$archkernver/kernel/drivers/input/touchscreen/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/iio/light && cp drivers/staging/iio/light/isl29018.ko /lib/modules/$archkernver/kernel/drivers/staging/iio/light/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/zsmalloc && cp drivers/staging/zsmalloc/zsmalloc.ko /lib/modules/$archkernver/kernel/drivers/staging/zsmalloc/ && mkdir -p /lib/modules/$archkernver/kernel/drivers/staging/zram && cp drivers/staging/zram/zram.ko /lib/modules/$archkernver/kernel/drivers/staging/zram/ && depmod -a $archkernver && yum install xorg-x11-drv-synaptics"
echo "Les modules pour le pavé, l'écran tactiles, l'ALS et ZRAM sont prêts."
Si tout se passe bien, les modules pour le pavé tactile, l'écran tactile et ZRAM sont installés.Vous pouvez supprimer le dossier "rpmbuild" dans votre home qui a servi à compiler les modules du noyau.
Ensuite il faut configurer le pavé/l'écran tactile :
Créez le fichier "touchpad-acer-c720.modules" dans /etc/sysconfig/modules/
#!/bin/sh
exec /sbin/modprobe chromeos_laptop >/dev/null 2>&1
exec /sbin/modprobe i2c-designware-core >/dev/null 2>&1
exec /sbin/modprobe i2c-designware-pci >/dev/null 2>&1
exec /sbin/modprobe i2c-designware-platform >/dev/null 2>&1
exec /sbin/modprobe atmel_mxt_ts >/dev/null 2>&1
On le rend exécutable :
$ su -c 'chmod +x /etc/sysconfig/modules/touchpad-acer-c720.modules'
Et créez le fichier /etc/X11/xorg.conf.d/50-cros-touchpad.confSection "InputClass"
Identifier "touchpad peppy cyapa"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
MatchProduct "cyapa"
Option "FingerLow" "10"
Option "FingerHigh" "10"
EndSection
Rebooter pour avoir le pavé tactile et l'écran tactile.Dans Gnome, appuyer sur la touche "Recherche" et rechercher "Souris & pavé tactile" :
Cocher la case en bas à droite "Taper pour cliquer". Ainsi pour cliquer il suffit de taper sur le pavé, plus besoin d'utiliser les boutons mécaniques qui ont le défaut de faire bouger le pointeur.
Usage du pavé tactile : Documentation de Gnome pour le pavé tactile
bouton gauche : taper avec un doigt (double-clic possible)
bouton droit : taper avec 2 doigts
bouton du milieu : taper avec 3 droigts
Défilement : faire glisser avec 2 doigts.
Sélection : double tape avec 1 doigt, mais on laisse le doigt appuyé la second fois, puis on le déplace pour sélectionner.
Maintenant on ajoute cette extension à Firefox pour faire défiler l'écran avec les doigts :
Grab and Drag
Enfin on suit la configuration manuelle (l'automatique ne marche pas pour f20) de cette doc pour ZRAM :
Configuration manuelle de zram
Son
UPDATE :
Comme le son semble être bien géré par Fedora, voici une configuration pour que les logiciels qui utilisent Alsa coopèrent avec PulseAudio (en particulier flash ne bloque plus le son)
Installer le plugin d'Alsa pour puleaudio :
$ su -c 'yum install alsa-plugins-pulseaudio'
Créer le fichier ~/.asoundrc :
pcm.pulse {
type pulse
}
ctl.pulse {
type pulse
}
pcm.!default {
type pulse
}
ctl.!default {
type pulse
}
AutonomieRessource : Documentation officielle sur l'autonomie
On va activer le profile "powersave" de tuned :
$ su -c 'yum install tuned'
$ su -c 'systemctl enable tuned'
$ su -c 'systemctl start tuned'
$ tuned-adm profile powersave
Mettre la luminosité de l'écran à 50% aide aussi, mais si on le fait à partir du bouton "énergie" de la configuration du système, la configuration saute au reboot...Dans cette configuration, Gnome oscille entre une estimation de 8h et 9h, ce qui est bien mieux que le 5h30/6h30 de base d'une installation toute fraiche. Ce n'est bien sûr qu'une estimation, mais cela montre un gain réel important.
On va mainenant utiliser l'utilitaire "powertop" et suivre ses conseils (onglet "tunables") :
touch /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
Et on met ce script dans le fichier /etc/rc.d/rc.local:#!/bin/bash
# Saving power according to powertop:
echo '1' > '/sys/module/snd_hda_intel/parameters/power_save'
echo 'auto' > '/sys/bus/usb/devices/2-4/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:15.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:14.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:03.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:02.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1b.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1d.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.2/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.3/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.6/power/control'
# WIFI: we don't want power saving there to get the most of it!
echo 'on' > '/sys/bus/pci/devices/0000:01:00.0/power/control'
echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.0/power/control'
# Luminosité ~50% (max=937)
echo 450 > /sys/class/backlight/intel_backlight/brightness
Puis on lance ce service au démarrage :
# systemctl start rc-local
On peut vérifier que le service est lancé avec :# systemctl status rc-local
Gnome estime maintenant l'autonomie entre 9h30 et 10h (idle).Régler l'hibernation/mise en veille
Créer le fichier /etc/tmpfiles.d/cros-acpi-wakeup.conf
# /etc/tmpfiles.d/cros-acpi-wakeup.conf
w /proc/acpi/wakeup - - - - EHCI
w /proc/acpi/wakeup - - - - HDEF
w /proc/acpi/wakeup - - - - XHCI
w /proc/acpi/wakeup - - - - LID0
w /proc/acpi/wakeup - - - - TPAD
w /proc/acpi/wakeup - - - - TSCR
On crée le fichier /usr/lib/systemd/system-sleep/cros-sound-suspend.sh
#!/bin/bash
case $1/$2 in
pre/*)
# Kill flash plugin as it prevent suspend
pgrep -f flashplayer | xargs kill >/dev/null 2>&1
# Unbind ehci for preventing error
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci-pci/unbind
# Unbind snd_hda_intel for sound
echo -n "0000:00:1b.0" | tee /sys/bus/pci/drivers/snd_hda_intel/unbind
echo -n "0000:00:03.0" | tee /sys/bus/pci/drivers/snd_hda_intel/unbind
;;
post/*)
# Bind ehci for preventing error
echo -n "0000:00:1d.0" | tee /sys/bus/pci/drivers/ehci-pci/bind
# bind snd_hda_intel for sound
echo -n "0000:00:1b.0" | tee /sys/bus/pci/drivers/snd_hda_intel/bind
echo -n "0000:00:03.0" | tee /sys/bus/pci/drivers/snd_hda_intel/bind
;;
esac
On le rend exécutable :
# chmod +x /usr/lib/systemd/system-sleep/cros-sound-suspend.sh
On edit GRUB /etc/default/grub :On ajoute cette ligne à la fin :
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash tpm_tis.force=1 tpm_tis.interrupts=0"
On update grub :
# grub2-mkconfig -o /boot/grub2/grub.cfg
Rebooter.Ca devrait fonctionner : Fermer l'écran, ou appuyer sur le bouton power en haut à droite du clavier met le PC en hibernation.
Utiliser les touches multimédias
Référence : Clavier des Chromebooks
La touche [Recherche] est déjà assignée par Gnome à la recherche.
Pour les autres touches spéciales :
Installer le logiciel xbindkeys, xbacklight, xdotool et xvkbd :
$ su -c 'yum install xbindkeys'
$ su -c 'yum install xbacklight'
$ su -c 'yum install xvkbd'
$ su -c 'yum install xdotool'
Créer le fichier de configuration :
# ~/.xbindkeysrc
# ACER C720 hotkeys
"xbacklight -dec 10"
F6
"xbacklight -inc 10"
F7
#"amixer -D pulse set Master toggle"
"pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo toggle"
F8
#"amixer set Master 10- unmute"
"pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -- -5%"
F9
#"amixer set Master 10+ unmute"
"pactl set-sink-volume alsa_output.pci-0000_00_1b.0.analog-stereo -- +5%"
F10
"xdotool key Caps_Lock"
Alt + Super_L
# Ce qui suit marche parfois... selon les logiciels.
# Mod5=alt gr
#"xvkbd -xsendevent -text '\[Delete]'"
# Alt + BackSpace
"xdotool keyup Alt+BackSpace; xdotool key Delete; xdotool keydown Alt"
Alt+BackSpace
#"xvkbd -xsendevent -text '\[Home]'"
# Alt + Left
"xdotool keyup Alt+Left; xdotool key Home; xdotool keydown Alt"
Alt+Left
#"xvkbd -xsendevent -text '\[End]'"
# Alt + Right
"xdotool keyup Alt+Right; xdotool key End; xdotool keydown Alt"
Alt+Right
#"xvkbd -xsendevent -text '\[Page_Down]'"
# Alt + Down
"xdotool keyup Alt+Down; xdotool key Page_Down; xdotool keydown Alt"
Alt+Down
#"xvkbd -xsendevent -text '\[Page_Up]'"
# Alt + Up
"xdotool keyup Alt+Up; xdotool key Page_Up; xdotool keydown Alt"
Alt+Up
"xvkbd -xsendevent -text '\[F6]'"
Mod5 + F6
#"xdotool keyup Mod5+F6; xdotool key F6; xdotool keydown Mod5"
# Mod5+F6
"xvkbd -xsendevent -text '\[F7]'"
Mod5 + F7
#"xdotool keyup Mod5+F7; xdotool key F7; xdotool keydown Mod5"
# Mod5+F7
"xvkbd -xsendevent -text '\[F8]'"
Mod5 + F8
#"xdotool keyup Mod5+F8; xdotool key F8; xdotool keydown Mod5"
# Mod5+F8
"xvkbd -xsendevent -text '\[F9]'"
Mod5 + F9
#"xdotool keyup Mod5+F9; xdotool key F9; xdotool keydown Mod5"
# Mod5+F9
"xvkbd -xsendevent -text '\[F10]'"
Mod5 + Escape
#"xdotool keyup Mod5+F1; xdotool key F10; xdotool keydown Mod5"
# Mod5+Escape
"xvkbd -xsendevent -text '\[F11]'"
Mod5 + F1
#"xdotool keyup Mod5+F1; xdotool key F11; xdotool keydown Mod5"
# Mod5+F1
"xvkbd -xsendevent -text '\[F12]'"
Mod5 + F2
#"xdotool keyup Mod5+F2; xdotool key F12; xdotool keydown Mod5"
# Mod5+F2
Créer le fichier ~/.startup/start.sh :
#!/bin/bash
# ~/.startup/start.sh
# Start xbindkeys
xbindkeys
On le rend exécutable :
chmod +x ~/.startup/start.sh
On le place dans les choses à lancer au début de la session :
$ gnome-session-properties
Ajouter une entrée "Script de démarrage" (modifiez le "NOM_D_UTILISATEUR") :Nom : Script de démarrage
Commande : sh -c /home/NOM_D_UTILISATEUR/.startup/start.sh
Pour avoir les 4 premières touches de navigation (Retour, Avancer, Recharger, Plein écran) dans Firefox, essayer cette extension :
Customizable Shortcuts for Firefox
Puis on va dans Edition -> Préférences -> Shorcuts, et on assigne :
Back : F1 (en appuyant sur la touche)
Forward : F2
key_reload : F3
Plein écran : F4 (plus bas dans la page)
Pour la 5e touche, Gnome peut la remplacer par Alt+Tab.
Caps Lock = alt + Recherche
Cette extensions de Gnome Shell permet d'avoir une icone affichant l'état de Cap Lock.
On a aussi, avec certains logiciels (Firefox, LibreOffice...) :
Suppr = alt + Backspace
Début = alt + ←
Fin = alt + →
Page up = alt + ↑
Page down = alt + ↓
F6...F9 = alt gr + F6...F9
F10 = alt gr + échap
F11 = alt gr + F1
F12 = alt gr + F2
Améliorer la réception du WIFI
Déterminer le périphérique :
$ lspci -nn
../..
01:00.0 Network controller [0280]: Qualcomm Atheros AR9462 Wireless Network Adapter [168c:0034] (rev 01)
L'ID est donc 168c:0034Références :
http://wikidevi.com/wiki/Atheros_AR5B22 (détails sur la puce)
http://wireless.kernel.org/en/users/Drivers/ath9k (détails sur le pilote)
Lors de streaming vidéo, j'ai pu observer de nombreuses petites micro-coupures.
Cette configuration améliore les choses :
Créer le fichier /etc/modprobe.d/ath9k.conf :
options ath9k nohwcrypt=1 btcoex_enable=1
(ces options, respectivement : désactive le chiffrement matériel, active la coexistence avec bluetooth)Rebooter
Visualisation en temps réel de la force du signal wifi :
su -c 'yum install wavemon'
On passe en console : ctrl + alr +F2(->)On se logue et on tape "wavemon"
Désactiver le pavé tactile lorsqu'on écrit
Lorsqu'on utilise le clavier, il peut arriver qu'on appuie sur le pavé tactile ce qui a pour effet de déplacer le curseur et l'écriture se poursuit à un endroit inattendu.
On peut désactiver le pavé tactile lors de la frappe au clavier
Paramètres (Gnome) -> Souris et pavé tactile -> Désactiver lors de la frappe
Luminosité automatique de l'écran (expérimental)
Lancer ce script au démarrage de la session :
#!/bin/bash
# Screen auto-brightness for Acer C720P
# (C) 2006 by Ortwin Glück
# Adapted 2014 Yannick
#
# Screen no lower than this, in %
MIN_BRIGHT=30
# minimum value to get auto-dimming, if lower it default to 10% (we don't want black screen!)
LIGHT_LEVEL=$(($MIN_BRIGHT * 10))
# devices
# reads the max ambient light from the sensor
ambient_light() {
# Raw values from 0 (dark) to 999 (bright)
light=$(cat /sys/bus/iio/devices/iio\:device0/in_illuminance0_input)
}
# calculates the target brightness level (with cutoff)
calc_bright() {
if [ $light -gt $LIGHT_LEVEL ]; then
bright=$(($light / 10))
else
bright=$MIN_BRIGHT
fi
}
# adjusts brightness
adj_bright() {
# echo $bright
xbacklight =$bright
}
renice 19 -p $$ >/dev/null 2>&1
# adjustment loop
while [ 1 ]; do
ambient_light
calc_bright
adj_bright
sleep 1
done