Offre en logiciels

Article connexe : Liste de logiciels populaires sur Linux.

 

La communauté du logiciel libre a produit un grand nombre de logiciels utilisables dans de nombreux domaines. Voici des exemples de logiciels donnés à titre indicatif :

 

  • la bureautique avec LibreOffice ou Calligra;
  • Internet avec Mozilla Firefox, Konqueror, Epiphany, Mozilla Thunderbird, Pidgin, ou Transmission ;
  • le multimédia avec Xine, MPlayer, VLC media player, XMMS, Totem ou Amarok ;
  • le graphisme, avec GIMP, Inkscape ou Scribus ;
  • la 3D avec Blender.

 

La plupart des distributions Linux proposent un programme (comme Synaptic) permettant de naviguer dans une liste de logiciels testés et préconfigurés spécialement pour une distribution. Ces programmes sont alors téléchargés et installés en quelques clics, avec un système de signature électronique permettant de vérifier l'authenticité et l'intégrité des logiciels proposés. Ces programmes sont ensuite mis à jour automatiquement.

 

Certains logiciels propriétaires importants ont également une version Linux. C’est le cas de Opera, Adobe Flash Player, Adobe Acrobat Reader, NeroLinux ou Skype par exemple.

 

La notion de portabilité désigne la capacité d’un programme à être utilisé sous différents systèmes d’exploitation ou architectures.

 

Enfin, il est possible d’utiliser des logiciels faits pour Microsoft Windows sur un poste Linux grâce à une implémentation de l’API Windows sous Linux comme Wine. Des offres commerciales fondées sur Wine comme CrossOver permettent d’utiliser presque sans problèmes des logiciels tels Microsoft Office et Photoshop issus du monde Windows.

 

Jeux vidéo

 

Article détaillé : Liste de jeux sur Linux.

 

Tux Racer

 

Il existe de nombreux48 jeux disponibles sous Linux, gratuits ou payants, libres ou propriétaires. L’offre comporte aussi bien des petits jeux de bureautique (cartes, démineur, échecs, golf) que des jeux commerciaux récents (Enemy Territory: Quake Wars).

 

Certains jeux sont conçus pour tourner nativement sous Linux (Quake III Arena ou 0AD par exemple), et d’autres peuvent être lancés à l’aide de programmes implémentant l’API Windows sous Linux. Il en existe plusieurs implémentations, dont certaines spécialement pour les jeux, permettant ainsi de faire fonctionner de nombreux jeux conçus pour Windows, dans des environnements comme Cedega et Wine (par exemple World of Warcraft) mais les grands éditeurs de jeux vidéo ne distribuent aucun de leurs jeux vidéo en version 100% compatible et supportant Linux. Le dernier recours des joueurs utilisant Linux consiste tout simplement à utiliser parallèlement Windows sur le même ordinateur grâce au multiboot ou à la virtualisation.

 

Le fabricant de cartes graphiques ATI a pendant un temps développé ses propres pilotes pour Linux. Suite à son rachat par AMD, ATI a ouvert les spécifications de ses cartes début 2008 afin que les développeurs de Mesa 3D puissent mieux intégrer la gestion de ses cartes.

 

Bibliothèques libres

 

Les logiciels qui utilisent une bibliothèque libre peuvent fonctionner sur Linux et sur toutes les plates-formes où la bibliothèque est implantée. Ces bibliothèques peuvent ajouter une surcouche graphique sur des applications textuelles déjà existantes comme c’est le cas de Vim, mais elles servent surtout à développer des logiciels accessibles aux novices et disposant des fonctionnalités autorisées par les interfaces graphiques, comme le glisser-déposer, les manipulations à la souris, etc.

 

D’autres applications comme Blender ou Google Earth sont un cas à part car ils utilisent la bibliothèque OpenGL destinée à la base à l’implémentation ainsi qu’à la gestion de programmes utilisant la 3D comme la 2D.

 

Émulation

 

Plusieurs logiciels d’émulation existent permettant de simuler le fonctionnement de systèmes d’exploitation concurrents ou des environnements de jeu.

 

Émulation d’ordinateurs

 

Les programmes Steem et ARAnyM émulent une bonne partie des applications écrites pour les machines Atari, notamment les Atari ST et Atari TT. UAE (Unix Amiga Emulator) permet d’émuler le Commodore Amiga, Basilik les anciens Mac 68000 d’Apple. Tous ces émulateurs émulent les microprocesseurs de la famille 68000 de Motorola qui équipaient ces ordinateurs, ainsi que les coprocesseurs spécialisés de l’Amiga.

 

MESS (souvent associé a MAME) permet d’émuler de la même façon un grand nombre d’ordinateurs personnels 8 bits. Il existe également des émulateurs spécialisés pour chacun de ces ordinateurs. Euphoric pour les Oric, FMSX pour les MSX, mais aussi des émulateurs Spectrum, Commodore, etc.

 

Utilisation d’application pour Microsoft Windows

 

Des applications développées pour Windows peuvent tourner sur un système Linux via les applications Wine et son dérivé commercial Cedega qui réimplémente49 le fonctionnement des principales API de Microsoft Windows. Le microprocesseur n’est pas émulé, seules les fonctions des APS sont remappées à la volée sur les API utilisées nativement dans Linux. Par exemple : DirectX utilise OpenGL, la gestion de l’impression est relayée à CUPS ou LPR, des périphériques USB à libusb, les tablettes graphiques à XInput, etc. Cela permet dans de nombreux cas des performances proches de l’exécution native, tout en évitant les problèmes de certains pilotes de périphériques inhérents à Windows. Dans certains cas spécifiques, les performances de certaines applications peuvent se trouver dégradées. De nombreux utilitaires, applications de tous domaines et jeux s’exécutent parfaitement, mais pas tous. Le site de Wine référence les applications fonctionnant et celles posant problème.

 

Virtualisation

 

En outre, Linux ouvre également la possibilité d’obtenir une parfaite séparation entre plusieurs environnements virtuels tournant sur un seul ordinateur physique, en prenant en compte les modules de virtualisation présents dans les processeurs récents comme AMD-V sur AMD et Intel-VT (ou IVT) sur Intel. Ces environnements de virtualisation permettent d’exécuter des environnements différents ou plusieurs environnements similaires sur une même machine, tout en assurant une certaine sécurité dans la séparation des accès. Ce système est utilisé depuis longtemps par les mainframes d’IBM. IBM a d’ailleurs porté Linux sur celles-ci afin de permettre à ses clients de continuer à les utiliser avec un système plus moderne.

 

KVM est, depuis la version 2.6.20 du noyau Linux, le système officiel de virtualisation de ce dernier. Couplé aux outils de QEMU, il permet de créer des ordinateurs virtuels tournant directement sur un noyau Linux non modifié et est capable d’accueillir un grand nombre de systèmes d’exploitation tels que Windows, Solaris, BSD, etc. KVM est au cœur de la stratégie de virtualisation de Red Hat.

 

Grace à son ouverture, le noyau Linux permet aussi, moyennant des modifications plus ou moins importantes, l’utilisation d’autres produits de virtualisation tels que :

 

  • Oracle VM VirtualBox, développé par Sun sous le nom de Virtualbox, avant que l’entreprise ne soit rachetée par Oracle Corporation, qui se distingue avant tout par une interface très conviviale permettant de gérer des machines virtuelles en environnement graphique. Virtualbox existe en version gratuite et en version payante, cette dernière offrant des fonctionnalités supplémentaires ;
  • Qemu, machine virtuelle libre
  • Xen, système de paravirtualisation orienté serveur, pouvant offrir des performances très élevées en ne recourant à aucune émulation matérielle, mais nécessitant que les systèmes d’exploitation « invités » soient modifiés afin d’atteindre ce niveau de performances. Xen est libre mais nécessite d’importantes modifications du noyau Linux ;
  • VMware, système de virtualisation professionnel, non libre, décliné en versions serveur et poste de travail ;
  • OpenVZ.
  • Bochs.

 

Prise en charge du matériel

 

La prise en charge de l’équipement matériel est l’une des critiques principales faites à Linux. En effet, les matériels pour ordinateurs personnels ne sont pas forcément pris en charge directement par Linux et il n'existe pas toujours de pilote développé par le constructeur et compatible avec Linux. Certains fabricants fournissent systématiquement des pilotes pour Microsoft Windows et Mac OS X, alors que pour Linux, la communauté est souvent obligée de les développer elle-même, souvent par rétro-ingénierie. Parfois, la communauté préfère développer des pilotes libres stables bien que des pilotes propriétaires développés par les constructeurs existent (c’est le cas pour les cartes graphiques ATI ou Nvidia). Dans cette optique, les pilotes nécessaires pour faire fonctionner pleinement un ordinateur sont intégrés à la plupart des distributions Linux.

 

Certains périphériques risquent de ne pas avoir de pilotes disponibles, notamment certaines imprimantes, modems, webcams, carte réseau/dongle Wi-Fi etc. Cependant, les utilisateurs de Windows ou Mac OS sont parfois également confrontés à des problèmes de pilotes lorsqu’ils installent une nouvelle version de leur système et l’absence de code source empêche une recompilation des pilotes propriétaires. Enfin, il arrive qu’il n’y ait des pilotes que pour Linux, et pas pour Windows ou Mac (supercalculateurs, serveurs Internet haut de gamme, consoles de jeu PlayStation, anciens périphériques dont le support a été arrêté par les constructeurs, etc.). Le matériel ancien peut être généralement recyclé sous Linux, car la pérennité des pilotes libres est également l’un des points forts de Linux.

 

La première raison de cette situation est le faible impact de Linux chez les particuliers, ce qui n’incite pas les fabricants à investir dans le développement de pilotes pour cet environnement. La seconde raison est le refus de certaines distributions (Fedora ou Debian[réf. nécessaire]50, par exemple) d’embarquer des pilotes sous licences propriétaires, même quand ceux-ci existent, ce qui oblige l’utilisateur à les trouver et à les installer manuellement. Enfin, l’absence d’une API fixe dans le noyau Linux oblige les fabricants à délivrer des binaires des pilotes adaptés à chaque version du noyau[réf. nécessaire].

 

Les utilisateurs qui travaillent sur plusieurs plates-formes et qui ont besoin de ces pilotes peuvent trouver des versions développées par de tierces parties, mais de tels pilotes ne supportent généralement qu’un ensemble rudimentaire de fonctions, et n’apparaissent qu’après la sortie du matériel, avec un certain temps de latence. Il existe cependant des mécanismes pour faire fonctionner certains pilotes développés pour d’autres systèmes d’exploitation (comme NdisWrapper).

 

Les webcams sont, par exemple, particulièrement concernées par cette absence de pilotes, mais le protocole USB video device class ou UVC permet de répondre à ce problème avec de nombreuses webcams supportant ce protocole51.

 

Avec la démocratisation de Linux, certains grands constructeurs font des efforts pour développer ou fournir les informations nécessaires au développement de pilotes libres pour Linux, comme Creative Labs pour ses webcams ou cartes sons52, Intel (processeurs, chipsets 3D, cartes réseau, etc.). Mais de nombreux autres composants nécessitent de vérifier la disponibilité de pilotes avant l’achat, s’ils sont destinés à une utilisation sous Linux. D'autre part, des assembleurs, tels que Dell53, Asus — poussé par Intel et son projet Moblin54 —, Linéo ou Everex, vendent des ordinateurs avec Linux préinstallé.

 

Aller au haut