Solutions IHM pour Linux embarquéPierre Ficheux (pierre.ficheux@openwide.fr)CTO Open Wide IngénierieOctobre 2011          ...
Programme●    Présentation dOpen Wide●    IHM et embarqué●    Les approches possibles●    X11 et Framebuffer●    Les bibli...
Présentation Open Wide●    SSII/SSLL créée en septembre 2001 avec Thales    et Schneider●    Indépendant depuis 2009●    E...
IHM et embarqué●    IHM = affichage et saisies●    Ce fut longtemps un problème mineur car peu    utilisé dans l’embarqué ...
Plusieurs approches●    Développement dune application embarquée        –   Le cas « général » proche du desktop Linux●   ...
Quels types de périphériques ?●    Affichage fréquent sur des périphériques variés :    –   LCD monochrome « bas de gamme ...
X11, 1/2●    Linux est un UNIX        –   Mode texte par défaut        –   « X Window System » ou X11 à partir de 84●    C...
X11, 2/2 ●     Initialement peu adapté à l’embarqué ●     Retour grâce à plusieurs éléments :          –   Augmentation de...
Le framebuffer 1/2●    Pilotage de la carte directement par le noyau    (/dev/fb0 → plus de client/serveur)●    Mode VGA, ...
Le framebuffer 2/2●    Exemples dutilitaires/bibliothèques    disponibles/compatibles        –   Bas niveau → fbset, fbi, ...
Bibliothèques graphiques●    Se placent « au dessus » de X11 ou du    framebuffer●    Deux catégories        –   Les bibli...
●    Bibliothèque d’    « abstraction » du    framebuffer●    Fonctionne avec le    framebuffer Linux    mais également av...
Exemple DirectFBSolutions IHM Linux embarqué                 13
●    Fournit des primitives graphiques ET audio●    Portables sur Linux, Windows, Mac OS X, QNX,    WinCE, OS2...●    Pour...
Exemple SDLSolutions IHM Linux embarqué             15
Les « toolkits » graphiques●    Fournissent un ensemble d’objets graphiques        –   Menus        –   Boutons        –  ...
●    Toolkit C++ publiée par Trolltech en 1996 (X11)●    Outil multi-plateforme (Unix, Windows, MacOS,    Symbian, ...)●  ...
Qt sur Mini2440Solutions IHM Linux embarqué                18
EFL●    Toolkit C basé sur Enlightenment ou E    (actuellement E17)●    Avantages :        –   Peu gourmand en ressources,...
EFL au frigo !Solutions IHM Linux embarqué               20
●    Developpé pour GIMP (Gimp ToolKit)●    Toolkit en C multiplateforme●    Fonctionne le plus souvent sur X11 → GNOME●  ...
HTML et/ou Flash●    Assure une certaine « indépendance » par    rapport à la plateforme●    Maquettage aisé sur desktop →...
Android●    Android nest pas une IHM, cest un OS●    API de programmation Java (SDK) mais pas de    bytecode Java●    Syst...
Questions?Solutions IHM Linux embarqué           24
Prochain SlideShare
Chargement dans…5
×

Open Wide : Les interfaces graphiques dans l'embarque

2 238 vues

Publié le

Cette nouvelle conférence a réuni plus de 30 professionnels de l'embarqué à Paris et plus de 60 à Toulouse qui ont pu découvrir différents outils permettant de construire des interfaces graphiques optimisées pour leurs plateformes matérielles.

Pour découvrir les autres présentations, rendez-vous sur notre site : http://ingenierie.openwide.fr/References/Conferences-techniques

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 238
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
23
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Open Wide : Les interfaces graphiques dans l'embarque

  1. 1. Solutions IHM pour Linux embarquéPierre Ficheux (pierre.ficheux@openwide.fr)CTO Open Wide IngénierieOctobre 2011 Solutions IHM Linux embarqué 1
  2. 2. Programme● Présentation dOpen Wide● IHM et embarqué● Les approches possibles● X11 et Framebuffer● Les bibliothèques graphiques – DirectFB, SDL● Les toolkits – Qt – EFL – GTK● HMTL et Flash● Android Solutions IHM Linux embarqué 2
  3. 3. Présentation Open Wide● SSII/SSLL créée en septembre 2001 avec Thales et Schneider● Indépendant depuis 2009● Environ 100 salariés sur Paris et Lyon● Industrialisation de composants open source● Quatre activités : – OW Système dInformation – OW Outsourcing: hébergement – OW Ingénierie: informatique industrielle – OW Technologies: composants Java Solutions IHM Linux embarqué 3
  4. 4. IHM et embarqué● IHM = affichage et saisies● Ce fut longtemps un problème mineur car peu utilisé dans l’embarqué – Système autonome sans affichage (RTOS) – Configuration par réseau (SNMP, HTTP, …)● Evolution des systèmes, passage du RTOS au multimédia – Set-top box: OS21 → Linux – Smartphones – Industriel → début de l’utilisation d’Android● LIHM nest (était) pas le sujet de prédilection des spécialistes du logiciel embarqué :-) Solutions IHM Linux embarqué 4
  5. 5. Plusieurs approches● Développement dune application embarquée – Le cas « général » proche du desktop Linux● Utilisation dun navigateur web (HTMLx, Javascript) – Données en local → similaire au cas précédent – De plus en plus de possibilités avec HTML5 :)● Interface en Adobe Flash – Propriétaire – Bien vu par les équipes marketing ! – Consommateur de ressources – Fréquemment utilisé pour les set-top box Solutions IHM Linux embarqué 5
  6. 6. Quels types de périphériques ?● Affichage fréquent sur des périphériques variés : – LCD monochrome « bas de gamme » – Ecran souvent tactile (attention aux résolutions étranges) – Accélération graphique de plus en plus fréquente sur les cartes embarquées (Freescale i.MX, ...)● Autres périphériques (USB ?) – Clavier spécial – Télécommande infra-rouge – Molette / manette – Périphériques spéciaux Solutions IHM Linux embarqué 6
  7. 7. X11, 1/2● Linux est un UNIX – Mode texte par défaut – « X Window System » ou X11 à partir de 84● Créé au MIT● Système graphique réparti, modèle client/serveur → Xfree86 (x86), X.org● Puissant mais lourd + API complexe● Approche répartie rarement utilisée ! Utilisation de X11 → Solutions IHM Linux embarqué 7
  8. 8. X11, 2/2 ● Initialement peu adapté à l’embarqué ● Retour grâce à plusieurs éléments : – Augmentation de la puissance des CPU embarqués – Utilisation de lAtom/x86 – Le pilote accéléré devient commun au desktop et à lembarqué MotifQt, GTK Solutions IHM Linux embarqué 8
  9. 9. Le framebuffer 1/2● Pilotage de la carte directement par le noyau (/dev/fb0 → plus de client/serveur)● Mode VGA, SVGA, VESA ou (parfois) accéléré● Programmation très bas-niveau (pixel) $ cp /dev/fb0 copie_ecran.raw● Avantages : – Léger (faible consommation RAM) – Démarrage rapide● Inconvénients : – Pilote spécial → drivers/video – Peu « standard » par rapport à X11 Solutions IHM Linux embarqué 9
  10. 10. Le framebuffer 2/2● Exemples dutilitaires/bibliothèques disponibles/compatibles – Bas niveau → fbset, fbi, fbdump, ... – SVGALIB → DOOM :-) – DirectFB (abstraction du FB) – SDL – Qt – X11 sur FB Solutions IHM Linux embarqué 10
  11. 11. Bibliothèques graphiques● Se placent « au dessus » de X11 ou du framebuffer● Deux catégories – Les bibliothèques dabstraction → portabilité mais pas dobjets graphiques évolués (SDL, DirectFB) – Les toolkits graphiques → fournissent des objets graphiques et peuvent se placer au dessus des bibliothèques dabstraction Qt → X11 (Xlib) Qt → FB Qt → DirectFB Solutions IHM Linux embarqué 11
  12. 12. ● Bibliothèque d’ « abstraction » du framebuffer● Fonctionne avec le framebuffer Linux mais également avec X11 (--enable-x11)● Prise en compte des entrées (souris, clavier, …)● Fournit des pilotes FB accélérés Solutions IHM Linux embarqué 12
  13. 13. Exemple DirectFBSolutions IHM Linux embarqué 13
  14. 14. ● Fournit des primitives graphiques ET audio● Portables sur Linux, Windows, Mac OS X, QNX, WinCE, OS2...● Pour Linux, utilisable sur framebuffer, DirectFB, X11● Utilisée pour le portage d’applications graphiques (jeux) et légères● Gestion basique de l’écran: fenêtres, transparence, polices de caractères, ... Solutions IHM Linux embarqué 14
  15. 15. Exemple SDLSolutions IHM Linux embarqué 15
  16. 16. Les « toolkits » graphiques● Fournissent un ensemble d’objets graphiques – Menus – Boutons – Boites de dialogues – WebView ! – Mediaplayer● Exemples: – Athena widgets, OSF-Motif (X11) → obsolète – Qt – EFL (Enlightenment, E17) – GTK+ (Gimp) – WxWidgets Solutions IHM Linux embarqué 16
  17. 17. ● Toolkit C++ publiée par Trolltech en 1996 (X11)● Outil multi-plateforme (Unix, Windows, MacOS, Symbian, ...)● Connu grâce à KDE !● Dernière version: 4.7.4● Avantages : – X11, FB, DirectFB, QVFb, ... – Excellente documentation – Outil de conception dinterface (QtCreator)● Inconvénients : – Lourd – Avenir / Nokia Solutions IHM Linux embarqué 17
  18. 18. Qt sur Mini2440Solutions IHM Linux embarqué 18
  19. 19. EFL● Toolkit C basé sur Enlightenment ou E (actuellement E17)● Avantages : – Peu gourmand en ressources, rapide – Multiplateforme – Esthétique, modulaire, configurable● Inconvénients – Peu connu – Moins de documentation que pour Qt – Pas de constructeur dinterface → Le petit toolkit qui monte :-) Solutions IHM Linux embarqué 19
  20. 20. EFL au frigo !Solutions IHM Linux embarqué 20
  21. 21. ● Developpé pour GIMP (Gimp ToolKit)● Toolkit en C multiplateforme● Fonctionne le plus souvent sur X11 → GNOME● Assez peu utilisé dans lembarqué● Il existe des adaptations sur FB, mais peu maintenues Solutions IHM Linux embarqué 21
  22. 22. HTML et/ou Flash● Assure une certaine « indépendance » par rapport à la plateforme● Maquettage aisé sur desktop → à double tranchant● Attention, linstallation dun navigateur (Webkit, Opera, ...) implique de bonnes capacités matérielles pour supporter les technologies récentes● Le navigateur lui-même utilise un toolkit !● Approche intéressante dans le mobile pour éviter les divers SDK, mais peut elle simposer dans lembarqué ? Solutions IHM Linux embarqué 22
  23. 23. Android● Android nest pas une IHM, cest un OS● API de programmation Java (SDK) mais pas de bytecode Java● Système Linux – très - modifié (noyau, libc)● NDK en C++ mais peu utilisé● Raz de marée en téléphonie● Apparition en informatique « industrielle » mais – Pas de TR – Compatibilité matérielle● Tiré par lexistence de plateformes peu coûteuses (exemple: tablette SAMSUNG) → mais peu dinterfaces matérielles Solutions IHM Linux embarqué 23
  24. 24. Questions?Solutions IHM Linux embarqué 24

×