Howtos GNU/Linux .: kozaki :. Howtos GNU/Linux

Windows sous Linux(logiciels) Windows sous Linux ?

L'une des questions les plus fréquemment posées par les nouveaux utilisateurs de Linux est "(comment) puis-je faire tourner des programmes Windows sous Linux ?". Et bien c'est souvent (de plus en plus) possible, grâce aux 1) interpréteurs des API Windows (comme Wine, Crossover Office, Transgaming Cedega ou Win4Lin), ou 2) aux virtualisateurs (Qemu, VirtualBox ou VMWare).

Interpreteurs des API Windows

Un interpréteur implémente sur un OS "hôte" assez de fonctionnalités d'un autre OS ("client"), pour pouvoir y installer & utiliser des programmes spécifiquement conçus pour l'OS client. Ce type de programmes n'a donc pas besoin du système d'exploitation client pour fonctionner.
Dans le cas de Wine ou Cedega, ils intègrent le maximum de bibliothèques de Windows (API), réécrites pour pouvoir être exécutées sous Linux. Cedega et Wine sont donc des interpréteurs Windows, ils interprètent les instructions requises par des applications Windows pour les exécuter sous Linux. Un exemple concret : utiliser des programmes Windows sous Linux

WINEWine & CodeWeavers

Wine est le seul programme libre dans la catégorie des "émulateurs Windows". Strictement parlant, Wine est une "implémentation des APIs Win16 & Win32 de Windows au dessus [du serveur graphique X et du système] Unix", et non pas un émulateur Windows. Appelez-le comme vous voudrez, Wine existe pour exécuter les programmes Windows comme s'ils étaient des applications natives Linux !
Notez-le, Wine n'a pas besoin de MS Windows, bien qu'il puisse utiliser ses DLLs si elles sont disponibles.

Bon, comme vous pouvez l'imaginer si vous n'êtes pas né-e de la dernière pluie ;) il y a un "piège" : Wine est toujours en cours de développement et il n'est pas encore utilisable pour une utilisation systématique. Néanmoins, ça vaut le coup de l'essayer avant d'opter pour une alternative commerciale : des applications fonctionnent. Ce n'est peut-etre pas encore "le pied" pour une utilisation généralisée, mais il est libre, et peut être suffisant pour vous !

Liens :

Comment installer Wine quand on n'y connait pas grand chose a Linusque ?? ...pas trop de commandes bizares a taper SVP ???

- debian_templar > Regarde le readme en detail et veille à avoir bcp de librairies.
N'oublie pas de prendre glut et mesaGL, il les faut pour avoir l'open GL.

Qemu : installation DirectX9 sous Mandriva 2007- myocastor > y faut wineX (càd Cedega) pour émuler les jeux directX

- KarLKoX > Je l'ai testé y a 8 ans )
A l'époque ca tournait euh ... ca tournait quoi !
Fallait pas le pousser mais bon, quand je vois le chemin parcouru, je me dit qu'il y en a qui sont doués quand meme.
En fait, c'est encore plus vieux, le développement a commencé juste apres celui de DosEmu (1991), donc je dirait en 1992 sans trop me mouiller. Je me suis amusé a les compiler a l'époque, c'était bien la mort mais déja, ca lancait les exe, ce qui était un exploit car on ne croyait pas ca possible sur une plateforme type Unix.
Maintenant, on arrive a lancer des jeux, DirectX de surcroit ! Quand on sait le merdier que c'est d'un point de vue développeur (Directx), je peux dire que les mecs qui bossent chez Transgaming ont un cerveau !
Au fait, DirectX = Crel="external", Wine = C.
On arrivera a un produit quasi fini je pense, mais il ne faut pas oublier que Wine c'est avant tout une librairie permettant de compiler du code Win32 pour Linux
.

KarLKoX > une maniere simple d'installer Wine et de le faire tourner, c'est possible en installant la version wine de CodeWeaver : http://www.codeweavers.com [→ Transgaming Cedega, ci-dessous]

CrossOver Office - CodeWeaversCrossOver de CodeWeavers

Est un framework logiciel qui émule les interfaces d'applications (API) de Microsoft Windows 98 & 2000 sous GNU/Linux. CrossOver (CrossOver Office jusqu'à la version 6.0) est un programme commercial & propriétaire dévelopé par CodeWeavers qui permet à de nombreuses applications Windows de tourner sous Linux & Mac OS X, grâce à une couche de compatibilité.
Le programme est une version reconfigurée & propriétaire du code source publique de Wine, auquel il ajoute divers patchs de compatibilité, une configuration plus agréable, une intégration propre aux environnements Gnome & KDE, et des capacités de virtualisation. CodeWeavers emploie plusieurs développeurs du projet logiciel open source Wine, auquel elle contribue du code en retour selon la licence GNU LGPL.

Install Cross Over Office beta
Installation de Cross Over Office beta

La version Standard 5.1 faisait déja tourner sous Linux des dizaines d'applications bureautiques ou graphiques répandues telles que Microsoft Office, Photoshop, ou Lotus Notes, et sans devoir supporter le coût d'une licence Microsoft Windows®. La version Standard est disponible en téléchargement uniquement, et inclut un support technique de 6 mois. Enfin tout ça est à vous pour la somme de $39.

Après l'installation, une nouvelle catégorie apparait dans le menu "Applications" (sous Ubuntu) et permet de configurer Crossover. Les fichiers .exe peuvent alors être lancés avec Crossover et chaque installation d'un programme crée un raccourci sur votre bureau Linux pour le lancer !

Install de MS Word Viewer sous CrossOver Office beta Install de MS Office XP sous CrossOver Office beta

  • Quelles sont les applications qui tournent avec CrossOver ?
    250 programmes dont Adobe Flash MX, Photoshop 6/7.0, Dreamweaver MX, EndNote 8, Lotus Notes 5 & 6.5.1, Microsoft Office XP/2003/2000/97i, Project, Visio, Quicken 2007, Internet Explorer, MSIE6, Microsoft® Office 2000/2002, Money®, Apple QuickTime® 6, WoW, ...). Liste de compatibilité complète
  • CrossOver 6.0 supporte maintenant plusieurs jeux, comme Counter-Strike®, Half-Life 2®, Prey® ou World of Warcraft®.
  • CrossOver 6.0 épluché @ forum.club.mandriva.com
  • Revue de CrossOver Office 5.0 par The Jem Report en nov. 2005 : très favorable
  • FRLinux & DesktopLinux.com avaient réalisé le test de CrossOver Office 2.0 (2003), la version qui a introduit le support d'Adobe Photoshop, entre autres nouveautés. Celui de DesktopLinux est réalisé par Cal Erickson, ancien ingénieur test chez Adobe...
  • La licence CrossOver est offerte avec les PCs et OS Alloword ; ils proposent aussi CrossOver Games pour 16 €.

transgaming technologiesCedega (ex WineX)

L'ex WineX est devenu Cedega fin juin 2004 lorsque Transgaming a sorti une nouvelle version compatible DirecX 9.0.

Le logiciel Cedega est une version commerciale basée sur WINE, éditée par TransGaming Technologies. Cedega a pour but de rendre utilisables sous GNU/Linux un grand nombre de jeux vidéo disponibles uniquement sous Windows. Les travaux de TransGaming ne sont pas contribués en retour à la communauté de WINE.

Le fait de pouvoir faire fonctionner des jeux Windows sous Linux est une bonne chose pour beaucoup de linuxiens, mais la façon de le faire peut être source de critiques

Homeworld2 - Cedega 5.2.6 - Mandriva 2007.1

Payer ou compiler ?

La version CVS de Cedega est disponible gratuitement mais il faut la compiler (comme toutes les versions CVS) ; et une partie du code de Cedega n'est pas sous licence libre, notamment en ce qui concerne l'API anti-copie de Windows (qui n'est donc pas incluse dans la version CVS). De plus, TransGaming n'offre aucun support pour Cedega CVS.

Cedega apporte à l'utilisateur Linux le support direct de centaines de jeux parmis parmis lesquels : Battlefield 2TM, Dungeon Siege® II, City of VillainsTM, Madden NFLTM 2006, World of WarCraft®, Half-Life® 2, Guild Wars®, ... et de plus anciens comme Battlefield Vietnam, Starwars Galaxies, Painkiller, Far Cry...

qemuVirtualisation : Installer & utiliser un autre OS sous Linux

La virtualisation consiste à faire fonctionner plus d'un système d'exploitation en même temps. Elle crée ce que l'on appelle une machine virtuelle, qui supporte un système d'exploitation (Windows en est un). Le terme "virtualisation" fait opposition aux machines physiques (tout simplement un ordinateur, que l'on peut toucher). Cette machine virtuelle repose donc sur un système d'exploitation préalablement installé ; c'est là tout son intérêt :

Intérêt ?

  • Contrairement au cas où plusieurs systèmes d'exploitation sont installés sur un ordinateur, et où on doit choisir lequel démarrer lros du boot, la virtualisation permet de démarrer Linux (ou autre) à partir de Windows, et inversement !
  • Vous préférez bosser etc sous GNU/Linux, mais avez besoin de Wiwi pour pouvoir utiliser un logiciel spécifique, ou un périphérique usb récalcitrant (comme certains scanners, imprimante, etc.) ? Hop ! vous lancez Windows depuis votre bureau Linux (comme une application ordinaire, dans sa fenêtre quoi).
  • Intérêt de la virtualisation (developpez.com, 02/2008) : Un article très complet sur la virtualisation libre.

KVM (kernel-based virtual machine)

une solution intégrée dans le noyau depuis le 2.6.20

http://www.01net.com/editorial/338904/technologie/kvm-la-machine-virtuelle-surprise-qui-noyaute-linux/ :
" Le noyau Linux est maintenant pourvu par défaut de capacités de virtualisation de systèmes s'appuyant sur les fonctions de virtualisation intégrées aux derniers processeurs, pour exécuter plusieurs OS simultanément dans des machines virtuelles. Contrairement aux attentes, KVM (Kernel-based Virtual Machine) s'avère devancer le plus célèbre Xen.". La plupart des distributions récentes ont intégré KVM, comme Mandriva 2008.1, Sabayon ou Ubuntu...

Pour vérifier si votre processeur dispose de ces fonctions, la commande suivante doit vous retourner des resultats :
egrep '^flags.*(vmx|svm)' /proc/cpuinfo

Qemu & kqemu

3 CDLives + Win2k sous Arch Linux avec Qemu 0.8.2
3 CDLives + Win2k sous Arch Linux avec Qemu 0.8.2

Qemu permet de faire tourner un système d'exploitation (invité) depuis un autre OS (hôte), par ex. Linux sous Mac, Windows sous Linux, ou Linux sous Linux. kqemu est le module accélérateur de qemu. Les progrès réalisés dans la virtualisation sont importants depuis la version 0.8 (sortie fin 2005), et m'ont permis d'installer Win 2000 (~40 minutes) et 98SE (30 minutes) sous Arch linux. C'était l'occasion d'ajouter un guide & quelques bons liens à ce site.

Lancer un CD Linux (live ou non) sans redémarrer

3 CDLives + Win2k sous Arch Linux avec Qemu 0.8.2
4 CDLives lancés sous Arch Linux avec Qemu 0.8.2

Bon c'est vraiment pas complexe, il faut taper (en simple user) :
  $ qemu -cdrom /[image_linux.iso] -m 320.
Ajoutez l'option -kernel-kqemu pour une virtualisation complète (et un gain de performances très net, voir ci-dessous)

Si vous voulez tester une distro 64 bit, remplacez 'qemu' ci-dessus par qemu-system-x86_64

Pour l'installer dans une image disque, c'est la même chose que pour Wiwi ci-dessous.

Elive-0.4pre Elpaner, Evidence, BlenderRemarque : plusieurs copies d'écran ici-même sur les Howtos Linux ont été réalisées grâce à Qemu depuis sa version 0.7.2, tels ceux de SystemRescueCD, Elive-0.4 ci-contre, Edubuntu, GComprix, ...)

Howto rapide pour installer Win 2000 sous Linux avec Qemu

Requis : Linux récent (noyau 2.6.x), qemu >=0.8 et kqemu.

  1. On crée l'image disque sur le DD
    L'image disque qemu sera considérée comme le disque dur par le système installé.
      $ qemu-img create -f qcow win2k.img 3G
      -f qcow : l'image grandira à mesure qu'on y ajoutera du contenu sous l'OS virtuel (au maximum jusqu'à la taille indiquée
      3G (on peut aussi écrire 3000M) : la taille (maxi) de l'image créée.
    Qemu étant un programme de virtualisation, du point de vue de l'hôte (le système sous lequel tourne Qemu) cette image est un fichier, tandis que pour le système invité (qui tourne sous Qemu) elle est un disque réèl.
  2. Installation de Win 2000 sur l'image créée ici à partir du lecteur de CDROM n.2 :
      Les OS Win NT (NT/2K/XP) n'aiment pas l'accélérateur kqemu pendant l'installation, donc on le désactive, juste pour l'install :
      $ qemu -cdrom /dev/hdd -hda win2k.img -m 256 -boot d -win2k-hack

    Installation de Windows 2000 sous Linux / qemu Installation de Windows 2000 sous Linux / qemu : clé d'activation Installation de Windows 2000 sous Linux / qemu : réussite de l'installation

    Ou bien on installe à partir d'une image ISO :
      $ qemu -cdrom /win2K.iso -hda win2k.img -m 256 -boot d -win2k-hack
  3. Lancement de l'OS virtuel
    Lancement de Windows 2000 sous Linux / qemuBasiquement c'est :
      $ qemu -hda win2k.img -m 256

    On peut ajouter le support d'un de ses lecteurs CD, ici mon lecteur slave :
      $ qemu -hda win2k.img -m 256 -cdrom /dev/hdd
    Ajouter le support du son et fixer l'heure sur l'"heure locale" ('localtime' et non 'GMT') :
      $ qemu -hda win2k.img -cdrom /dev/hdd -m 320 -soundhw sb16 -localtime
    Enfin on peut & ajouter l'option QEMU Accelerator (KQEMU) pour accroître la vitesse d'émulation :
      $ qemu -hda win2k.img -cdrom /dev/hdd -m 320 -localtime -kernel-kqemu

Howto rapide pour installer Windows 98 sous Linux

Installation de Windows 98 sous Linux / qemuÇa arrive... tasse de café
je dois encore vérifier une option (plus exactement trouver qui de l'accélérateur ou de Wiwi fait planter le redémarrage de celui-ci ). Reviendez dans quelques... heu non en fait, voyez les liens (je ne compte plus faire "mumuse" avec Win 9x) !

Messages d'erreur

Certains sont 100% indépendants de qemu...

  • ERREUR 004 > le CD n'est pas bootable (en prendre un bootable ou alors lancer au moyen d'une image disquette win9x)
  • Erreur de protection. Veuillez redémarrer votre ordinateur > Hé, c'est Microsoft hein ! vous pensiez qu'en le lançant sous un autre OS tout s'arrangerait ?
  • cdrom boot failure code > idem
  • BSOD avec PAGE_FAULT erreur > On vous avait pourtant précisé de pas utiliser l'accélérateur '-kernel-kqemu' pour _installer_ Win 2k/XP.

D'autres vous indiquent comment y remedier :

  • Could not configure '/dev/rtc' to have a 1024 Hz timer > la solution est indiquée : tapez (en root)
    echo 1024 > /proc/sys/dev/rtc/max-user-freq
  • You do not have enough space in '/dev/shm' for the [NNN] MB of QEMU virtual RAM > Là aussi la solution est donnée : pour avoir assez d'espace pour la mémoire virtuelle (jusqu'à 66% de votre RAM et/ou swap) tapez en root:
    umount /dev/shm
    mount -t tmpfs -o size=[la_taille_que_vous_voulez_avoir]m none /dev/shm
Options supplémentaires
  • Virtualisation complète avec kqemu (uniquement pour les OS 32-bit Linux 2.4, Linux 2.6, Windows 2000 and Windows XP). Pour le charger je lance (en root) :
    modprobe kqemu major=0 (on peut le lancer automatiquement au démarrage). Le device `/dev/kqemu' est créé avec des droits de lecture/écriture pour tout le monde, mais on peut restreindre ces droits si on veut. Détails pour configurer kqemu automatiquement au boot sur la documentation officielle et sur kidsquid - Qemu on Linux.
  • Changer la résolution de l'affichage de l'OS virtuel ?
    Comme d'hab. sous wiwi : clic droit et sélectionner la résolution souhaitée ; la fenêtre suit le mouvement, et s'en souvient aux prochains démarrages.
  • Comment éjecter/changer une disquette / un cdrom sous qemu ?
  • - Redimensionner une image disque
  • - Utiliser un périphérique USB sous l'OS virtuel dans qemu ? (début de support avec qemu-0.8.0)
  • - Transférer des fichiers entre l'OS virtuel et l'OS hôte --> sous wiwi déjà il vaut mieux utiliser FAT(32)
  • - Le son est horrible sous les jeux (Win9x)
  • - Utiliser l'accélération graphique 3D ?

La FAQ répond à toutes ces questions.

Sources / pour aller (beaucoup) plus loin

Utiliser l'OS "invité" installé

Bon vous avez installé un OS sous Qemu, il fonctionne plutot bien... Maintenant comment faire la liaison entre l'OS invité et l'OS hôte (pour transférer des fichiers, etc.) ?

En suivant la manip indiquée dans les guides archilinux.org et essarocco.fr (liens ci-dessus)

VirtualBox

Un outil de virtualisation full-graphique, en partie libre, pouvant remplacer vmware et qemu :-)

Virtualbox offre une solution gratuite compatible Linux/Windows/Mac OS, en partie opensource. L'interface se rapproche de celle de VMWare. Testé sous Mandriva 2007-2009.1, c'est assez facile d'accès ; les nouvelles versions sont régulières.

VirtualBox 3 : 3D OpenGL 2.0, 32 processeurs virtuels

Installation

Facile à prendre en main (Notez bien, je dis pas que lire le manuel ou ce qui suit est inutile ;), VirtualBox ressemble beaucoup à VMWare.
Pour l'installation télécharger le binaire pour sa distribution : (VirtualBox binaire/.msi pour hôte Windows, pour Ubuntu/Debian (.deb), Mandriva (.rpm), ou pour Linux toutes distributions (tar.gz), directement depuis le gestionnaire de package (Linux) ou depuis le site (Wiwir).
L'installation créé même le groupe d'utilisateur vboxusers, copie un script pour démarrer automatiquement le module noyau sous /etc/init.d/vboxdrv et son lien sous /etc/rc5/6.d au boot de la machine.
Il peut être nécessaire d'ajouter son utilisateur au groupe vboxdrv. En cas de problème, exécuter un chmod 666 /dev/vboxdrv ; ça n'est pas nécessaire avec l'ajout du user au groupe vboxdrv).

VirtualBox : Windows Vista installé sous Mandriva 2007 VirtualBox : Windows XP installé sous Mandriva 2007

Utilisation

Maintenant, lancez virtualbox depuis le menu, ou tapez VirtualBox depuis une konsole. Après on retrouve les étapes classiques permettant de créer une machine virtuelle ; rappelez-vous, le manuel peut servir ;-)
Remarque: dans la machine virtuelle, pour retrouver la main sur l'hôte Linux, appuyer sur la touche Ctrl de droite et bougez la souris.

VirtualBox GUI
L'interface GUI de VirtualBox

"Permission problem"

Si vous avez un message disant VirtualBox kernel driver not accessible, permission problem en lançant VirtualBox, ajoutez votre utilisateur au groupe vboxusers (groupe créé automatiquement lors de l'installation). Sous toutes les distros vous pouvez vous loguer en root et taper ceci :
groups[votre-utilisateur] : affiche les groupes dont fait partie cet utilisateur. Oubliez pas que sélectionner un mot (texte etc) sous Linux = le copier (y-compris dans la console :)
useradd [votre-utilisateur] -g [le premier groupe] -G [les autres groupes],vboxusers

L'ajout de l'utilisateur au groupe vboxusers sera effectif après déconnexion de l'utilisateur en question.

Tests personnels

J'ai pour habitude de tester des live CDs & DVDs avec qemu / kqemu, sur Linux (Arch & Mandriva).
En février 2007 j'avais lancé la dernière Mandriva One 2007 Gaming DVD avec VirtualBox-1.3.2 ; et ça s'était révélé vraiment plus confortable qu'avec k+qemu !
  - Sous k+Qemu-0.8.x en réglant à 256 ou 512 Mo, je dois souvent attendre des dizaines de secondes avant que le menu KDE ne réagisse à un clic souris. À cause de ça, plusieurs tests de distros live se sont avérés quasiment impossibles.
  - Sous Virtualbox 1.3.x en réglant la RAM virtuelle à 512 Mo (16 Mo pour la "carte graphique") il y a un léger lag, qui est perceptible mais pas gênant
Le choix est donc clair à mes yeux.

Cependant k+Qemu progresse également. Et il supporte l'émulation d'un OS 64-bit (sans le module accélérateur), ce qui me permet de tester / installer des OS x86_64 ; VBox ne peut pas (encore ?).

Liens

VMWare

VMWare est un fantastique outil permettant d'exécuter des OS guest sur un OS host. Vous pouvez ainsi lancer Windows dans Linux, Linux dans Linux, ReactOS dans linux, etc... VMWare n'émule pas le processeur : Le code est exécuté nativement sur l'unité physique. Cela permet des performances comparables à un environnement natif :) Le pendant de cette approche est que seul les OS d'architecture i86 peuvent devenir des guests.

  • Mise en oeuvre de VMPlayer (artisan.karma-lab.net/) : VMWare Workstation restant payant, voici comment utiliser VMPlayer qui lui est gratuit pour faire rigoureusement la même chose avec juste un peu plus d'huile de coude.
  • Un bon tuto en espagnol mais utile même sans comprendre un mot d'espagnol car très bien fait et facile à suivre... Tout y est : captures d'ecran, lignes de commande, ...
  • Une autre page en français, moins complète.
  • Plus de détails sur le wiki Community Links du MandrivaClub et le forum qui fait le point sur le support de VMware, Win4Linux (rapide et meilleur marché mais pas pour les jeux), qemu et Xen.

Vos liens et retours d'expériences sont les bienvenues sur le forum

Xen

Guides

Linuxtopia propose 3 guides :

  • Fedora Core 5 Xen 3.0 Virtualization Quick Start Guide
  • Xen 3.0 Linux Virtualization User Manual
  • Xen 3.0 Linux Virtualization Interface Guide

Liens

Linux sous Wiwi

Kit de survie de l'Unixien lâché en milieu hostile

Ou comment compenser la pauvreté des plateformes MSWindows, quand on doit faire avec.

C'est aziraphale.org, qui a l'insigne chance lol d'administrer des serveurs MSWin2K (et Unix) et dispose d'un poste de travail MSWin2K, qui s'y colle et partage ses outils dit "de compensation" :
GNU Utilities for Win32, Vim, Perl, minGW, The Gimp, PsTools (sysinternals).

Applications Linux sous Mac

Le projet Fink a pour but d'ouvrir toutes grandes les portes du monde des logiciels Open Source pour Unix Darwin et Mac OS X :
"Nous modifions les logiciels Unix pour qu'ils compilent et tournent sur Mac OS X (nous les "portons") et en faisons une distribution cohérente téléchargeable. Fink utilise des outils de gestion de paquets binaires Debian, tels dpkg et apt-get. Vous avez le choix entre le téléchargement des paquets binaires ou la construction des paquets à partir des sources."

Fink

La dernière fois que j'ai regardé (fin 2004 yeooo), la version 0.7.1 de Fink (pour 10.3) était disponible sous forme de sources ou de binaires. Elle tourne sur les versions Panther (10.3) de Mac OS X (la version 0.6.3 restait disponible pour les utilisateurs des versions Jaguar (10.2) de Mac OS X).

Cette release intègre diverses corrections du gestionnaire de paquets. De plus, de nombreux paquets auparavant indisponibles sous forme binaire, ont été ajoutés, ce qui porte le total des binaires disponibles 1650 !

Trop cool pour Internet Explorer