Après avoir essayé l'écran Itead LCD 320x240 sur le RaspBerry, j'ai voulu essayer un autre écran qui s'empile directement sur le RaspBerry Pi, ce qui permet d'avoir un câble en moins. Sur la version Raspbian Whezzy, la procédure était à peu près la même que pour l'Itead à quelques paramètres près. En passant à Raspbian Jessie, le chargement de module a subitement décidé de ne plus fonctionner. Je vais vous présenter ici une procédure que j'ai trouvée dans différents forums et qui permet de faire fonctionner l'écran, y compris la partie tactile :
- https://www.raspberrypi.org/forums/viewtopic.php?f=108&t=123676
- http://futurice.com/blog/id-like-to-have-some-lcd-on-my-pi
- http://raspberrypi.stackexchange.com/questions/27714/how-to-install-waveshare-spotpear-4-inch-lcd-in-raspberrypi-2
Procédure
1. Activer le SPI sur le Raspberry avec raspi-config
2. Créer un fichier /usr/local/bin/loaddisplay (sous root). L'avantage est de pouvoir tester le chargement des modules séparément. Le contenu du fichier est le suivant :
sudo modprobe flexfb nobacklight regwidth=16 init=-1,0xb0,0x0,-1,0x11,-2,250,-1,0x3A,0x55,-1,0xC2,0x44,-1,0xC5,0x00,0x00,0x00,0x00,-1,0xE0,0x0F,0x1F,0x1C,0x0C,0x0F,0x08,0x48,0x98,0x37,0x0A,0x13,0x04,0x11,0x0D,0x00,-1,0xE1,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0xE2,0x0F,0x32,0x2E,0x0B,0x0D,0x05,0x47,0x75,0x37,0x06,0x10,0x03,0x24,0x20,0x00,-1,0x36,0x28,-1,0x11,-1,0x29,-3 width=480 height=320
sudo modprobe fbtft_device name=flexfb speed=16000000 gpios=reset:25,dc:24
3. Dans le fichier /etc/rc.local, ajouter l'appel au fichier loaddisplay
/usr/local/bin/loaddisplay
4. Pour la partie écran tactile, le module doit être chargé depuis le fichier /boot/config.txt
5. Modifier le fichier /boot/cmdline.txt. Rajouter les paramètres suivants :
fbcon=map:1 fbcon=font:ProFont6x11
6. Créer le fichier /usr/share/X11/xorg.conf.d/99-calibration.conf
7. Modifier le fichier /usr/share/X11/xorg.conf.d/99-fbturbo.conf
Changer map1 en map0.
Redémarrez. Si tout se passe bien, votre écran LCD devrait être configuré.
1. dmesg | grep graphics
2. lsmod pour vérifier que les modules flexfb, fbtft_device et ads7846 sont bien chargés
Vous pouvez modifier le mode de démarrage en mode shell avec login, shell sans login, graphique avec login, graphique sans login en utilisant raspi-config.
Dans /usr/share/X11/xorg.conf.d/99-fbturbo.conf, il n'y a plus de map0 ou map1. Vérifiez cependant que la valeur est bien à fb1 ou plus simplement, déplacez ce fichier dans /home/pi pour éviter l'erreur "Module g2d_23 not found".
Pour l'erreur suivante.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
Dans /usr/share/X11/xkb/compat/basic, commenter les lignes
Quelques astuces:
- pour obtenir la console, utilisez la touche CTRL+ALT+F1
- pour revenir en mode graphique, utilisez la touche CTRL+ALT+F2
- pour avoir une connexion internet, vous pouvez utiliser votre téléphone en mode Tethering USB en le branchant sur le Raspberry. Dans ifconfig, vous verrez une nouvelle interface usb0 apparaitre. Cela peut être assez pratique pour installer une nouvelle application avec apt-get.
/usr/local/bin/loaddisplay
4. Pour la partie écran tactile, le module doit être chargé depuis le fichier /boot/config.txt
gpu_mem=128
dtoverlay=ads7846,speed=500000,penirq=17,swapxy=1
5. Modifier le fichier /boot/cmdline.txt. Rajouter les paramètres suivants :
fbcon=map:1 fbcon=font:ProFont6x11
6. Créer le fichier /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "3900 240 240 3900"
EndSection
7. Modifier le fichier /usr/share/X11/xorg.conf.d/99-fbturbo.conf
Changer map1 en map0.
Redémarrez. Si tout se passe bien, votre écran LCD devrait être configuré.
Vérification
Pour vérifier, utiliser les commandes suivantes :1. dmesg | grep graphics
2. lsmod pour vérifier que les modules flexfb, fbtft_device et ads7846 sont bien chargés
Vous pouvez modifier le mode de démarrage en mode shell avec login, shell sans login, graphique avec login, graphique sans login en utilisant raspi-config.
Mise à jour
Suite à la mise à jour du Raspberry, il est possible (probable) que le server X ne marche plus.Dans /usr/share/X11/xorg.conf.d/99-fbturbo.conf, il n'y a plus de map0 ou map1. Vérifiez cependant que la valeur est bien à fb1 ou plus simplement, déplacez ce fichier dans /home/pi pour éviter l'erreur "Module g2d_23 not found".
Pour l'erreur "/dev/tty0 access denied", ajoutez l'utilisateur "pi" au groupe tty.
sudo usermod -a -G tty pi
Vous aurez ensuite une erreur sur virtual console 2. Pour la corriger, utilisez la commande suivante.sudo usermod -a -G tty pi
sudo apt-get install xserver-xorg-legacyPour l'erreur suivante.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
Dans /usr/share/X11/xkb/compat/basic, commenter les lignes
// group 2 = AltGr;
// group 3 = AltGr;
// group 4 = AltGr;
Quelques astuces:
- pour obtenir la console, utilisez la touche CTRL+ALT+F1
- pour revenir en mode graphique, utilisez la touche CTRL+ALT+F2
- pour avoir une connexion internet, vous pouvez utiliser votre téléphone en mode Tethering USB en le branchant sur le Raspberry. Dans ifconfig, vous verrez une nouvelle interface usb0 apparaitre. Cela peut être assez pratique pour installer une nouvelle application avec apt-get.
Commentaires
Enregistrer un commentaire