ArchLinux sur un portable Asus M50VN-AS012C

De ArchwikiFR


M50v.jpg

Matériel

  • CPU : Intel Core Duo à 2.4 GHz (P8600), 3Mo de cache L2, FSB 1066MHz
  • RAM : 4Go DDR2 800MHz
  • Disque dur : 320Go (base 10), soit 298Gio, 5400tr/mn
  • Lecteur/Graveur DVD-rw
  • Affichage : 15,4", 1440x900, "color shine"
  • Chipset graphique : nVidia® GeForce™ 9650M GT, 1Gio dédié
  • Chipset audio : HDA Intel ICH9 82801I
  • 1 emplacement PCMCIA
  • réseau : 1 port Ethernet intégré 10/100/1000Mbit/s, modem intégré 56k, carte Intel WiFi Link 5100
  • 4 connecteurs USB 2.0
  • connecteur Firewire 1394 mini-DV
  • connecteur e-SATA
  • lecteur de carte SD/MMC/MemoryStick-pro
  • touchpad, 2 boutons
  • sortie jack audio, e/s S/PDIF, entrée microphone, 1 port parallèle, sortie VGA, sortie HDMI
  • lecteur d'empreintes digitales (beurk)

Compatibilité 100%

Ce qui marche

  • Le son, lecture et enregistrement.
  • Affichage, 3D avec le pilote NVIDIA proprio, 3D aussi avec Nouveau (1/3 des perf du proprio pour l'instant)
  • Réglage de la luminosité de l'écran en hard, l'écran s'éteint quand on ferme le portable
  • Le réseau ethernet
  • La carte wifi avec les pilotes iwlwifi (module iwl3945)
  • Les ports USB
  • ACPI pour connaître la température et la charge batterie
  • Le lecteur de carte
  • Le lecteur/graveur CD/DVD-rw
  • Les hotkeys (touche Fn) qui sont des touches ACPI, avec acpid
  • Suspend to RAM
  • La sortie HDMI

Ce qui ne marche pas

  • Rien ! (sauf peut-être ci-dessous le modem)

Pas testé

  • Le port e-SATA (y'a pas de raison, il doit fonctionner)
  • Le modem 56k

Les touches Fn aka hotkeys

Seule Fn+F1 (Zzz = veille) est reconnue par xev, ainsi que les touches contrôlant la luminosité, qui agissent directement. Ce sont des touches "clavier".

Les autres touches, y compris les touches de fonctions, sont des boutons ACPI. ACPI hotkeys

Le capteur de luminosité

Pour que le capteur de luminosité ambiante adapte la luminosité de l'écran, créez le fichier /etc/rc.d/functions.d/lightsensor contenant :

light_sensor() {
  echo 1 > /sys/devices/platform/asus_laptop/ls_switch
}
add_hook sysinit_udevsettled light_sensor

Conclusion

Ce PC portable de gamer est super sous arch. Niveau performances, on n'est pas déçu. Les jeux en 3D fonctionnent tous à fond, même avec wine (bouu), compiz-fusion impressionne le monde... :)

Pour 998€, c'est le meilleur rapport raisonnable puissance/prix de fin 2008.

Annexe : ma config des boutons ACPI

Installer acpid et l'ajouter aux DAEMONS de /etc/rc.conf, et voici le /etc/acpi/handler.sh pour gérer tout ce dont j'ai parlé plus haut :

Note : ce script tourne en root ! Je détaille plus bas la partie programmes utilisateur…
#!/bin/sh
case "$1" in
    button/power)
        #remplacer ceci par halt par exemple, pour éteindre le pc par pression sur power
        ;;
    button/sleep)
        case "$2" in
            SLPB)   echo -n mem >/sys/power/state ;;
            *)      logger "ACPI action undefined: $2" ;;
        esac
        ;;
    hotkey)
        case "$3" in
                    00000030)
                       amixer set Master 7%+
                    ;;
                    00000031)
                       amixer set Master 7%-
                    ;;
                    00000032)
                       if [ -n "$(amixer get Master | grep off)" ]; then 
                        amixer set Master unmute; 
                       else
                        amixer set Master mute; 
                       fi
                    ;;
                    0000005c)
                       if [ -z "$(lsmod |grep acpi_cpufreq)" ]; then
                        modprobe acpi_cpufreq
                        /etc/rc.d/cpufreq start
                       else
                        /etc/rc.d/cpufreq stop
                        rmmod acpi_cpufreq
                       fi
                    ;;
	esac
	;;
esac


La partie utilisateur donc. Et pour les boutons mail, photo, navigateur, lecteur audio, je lance ceci au démarrage de ma session utilisateur :

acpi_listen | while read; do ~/.acpi-handler $REPLY; done &

(à mettre dans un script lancé par votre environnement graphique, par exemple.)


Le script .acpi-handler, voici le mien, il contrôle mon lecteur audacious ou mpd, navigateur arora, courrier thunderbird, capture d'écran :

#!/bin/sh
case "$1" in
	hotkey)
		case "$3" in
		#audacious
			00000045)
				#audacious2 -t &> /dev/null &
				pidof mpd || mpd
				mpc toggle &> /dev/null &
			;;
			00000043)
				#killall audacious2 &> /dev/null &
				mpc stop &> /dev/null &
			;;
			00000041)
				audacious2 -f &> /dev/null &
			;;
			00000040)
				audacious2 -r &> /dev/null &
			;;
		#network
			00000051)
				arora &> /dev/null &
			;;
			00000050)
				thunderbird &> /dev/null &
			;;
		#screenshot
			00000082)
				scrot '%Y-%m-%d-%s_$wx$h.png' -e 'mv $f ~/Shots/' &> /dev/null &
			;;
	esac
	;;
esac

Vous pouvez récupérer les codes des touches avec l'outil acpi_listen. Mais tout ça est détaillé là, je l'ai déjà dit. ACPI hotkeys