home   artikelen   forum   colofon  
Gepubliceerd op 12.10.2001
Auteur: Ronny Ziegler
Vertaald door: Guus Snijders
Languages: en de
Help Ons!
 

Wine: installatie en setup

Wine

WineDe installatie van Wine is makkelijker geworden nu er overal op het web voorgecompileerde versies en rpms kunnen worden gedownload. Deze versies zijn echter altijd iets ouder dan de nieuwste broncode. Daar iedere toename in versie nummers altijd een stap voorwaarts in de ontwikkeling is, kan dit nogal een nadeel zijn.

Daarom beschrijven we niet hoe je een van deze voorgecompileerde versies installeert (er zou niet veel te beschrijven zijn), maar in plaats daarvan proberen we om een wine versie te generen vanuit de broncode.

Eerst downloadt je de nieuwste versie van http://www.winehq.com/. Dit kan even duren, zelfs met ISDN kostte ons dit 20 minuten. Voor dit artikel is wine-990815 gebruikt.

Na het uitpakken van het archief naar /tmp met

>> tar zxvf wine-990815.tgz -C /tmp
Ga naar de zojuist gemaakte directory en type
>> make depend && make
Op ons systeem compileerde het niet zonder fouten. Het stopte bij het bestand windows/dinput.c, welke de joystick ondersteuning voor wine verzorgt. Of deze fout trad op omdat we geen joystick ondersteuning in de kernel hebben, of dit deel is niet correct geprogrammeerd. Je zou moeten weten dat wine nog steeds in het alpha stadium is. Als je dezelfde fout krijgt maar de joystick niet nodig hebt onder WINDOWS (Unreal is veel beter te spelen met een muis), dan zou het moeten helpen als je de slechte delen uitcommentarieerd. Zoek het overeenkomende deel in het bestand en pas het aan zoals in het voorbeeld hieronder.
 
File /tmp/wine-990815/windows/dinput.c
static void joy_polldev(JoystickAImpl *This) {
    struct timeval tv;
    fd_set readfds;
    struct js_event;/* jse;*/

    if (This->joyfd==-1)
 return;
    while (1) {
 memset(&tv,0,sizeof(tv));
 FD_ZERO(&readfds);FD_SET(This->joyfd,&readfds);
 if (1>select(This->joyfd+1,&readfds,NULL,NULL,&tv))
     return;
 /* we have one event, so we can read 
 if (sizeof(jse)!=read(This->joyfd,&jse,sizeof(jse))) {
     return;
 }
 TRACE("js_event: type 0x%x, number %d, value %d\n",
jse.type,jse.number,jse.value);
 if (jse.type & JS_EVENT_BUTTON) {
     GEN_EVENT(DIJOFS_BUTTON(jse.number),
jse.value?0x80:0x00,jse.time,evsequence++);
     This->js.rgbButtons[jse.number] = jse.value?0x80:0x00;
 }
 if (jse.type & JS_EVENT_AXIS) {
     switch (jse.number) {
     case 0:
  GEN_EVENT(jse.number*4,jse.value,jse.time,evsequence++);
  This->js.lX = map_axis(jse.value);
  break;
     case 1:
  GEN_EVENT(jse.number*4,jse.value,jse.time,evsequence++);
  This->js.lY = map_axis(jse.value);
  break;
     case 2:
  GEN_EVENT(jse.number*4,jse.value,jse.time,evsequence++);
  This->js.lZ = map_axis(jse.value);
  break;
     default:
  FIXME("more then 3 axes (%d) not handled!\n",jse.number);
  break;
     }
 }*/
    }
}


 

<--De originele code was hier "struct js_event jst;"
 
 
 
 
 
 
 

.<-- Hier is het einde van het commentaar verwijderd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

<-- Nu eindigt het commentaar hier

Na een seconde zou

>> make
de volledige wine code moeten compileren.

Daarna kopieer de volledige broncode, samen met het binaire bestand, naar /usr/local/ . Zorg dat je als root bent ingelogd om dit te doen en dat er voldoende vrije schijfruimte overblijft. De hele directory kost ongeveer 230MB.

>> su
Type het wachtwoord.
>> cp -a /tmp/wine-990815/ /usr/local
[Als je niet genoeg vrije ruimte over hebt, om wine direct vanuit de tmp directory te kopiëren en installeren]

Ga dan naar de nieuwe directory

>> cd /usr/local/wine-990815/
en installeer het pakket met
>> make install
Nu moet je wine nog aanpassen aan jouw systeem. Voor deze taak is reeds een graphisch frontend beschikbaar. Deze kun je starten met
>> /usr/local/wine-990815/tools/wineconf.tcl


Wine-Konfiguratie

Klik op de kop "Auto-generate a new configuration file". Het programma vraag wat informatie over de hardware in je systeem, zoals de CD-drives of CD-writers. Als je deze vragen hebt beantwoord, zal het programma het configuratie bestand wine.conf opslaan in de directory /usr/local/etc . Helaas stopt het programma altijd tijdens het genereren van het configuratie bestand en geeft het een foutmelding.

Het zou helpen als je het programma wineinstall

>> /usr/local/wine-990815/tools/wineinstall
zou gebruiken, deze heeft geen grafische interface maar genereerd het configuratie bestand direct.
[Dit is alleen een nood-oplossing voor het geval dat wineconf niet werkt. Als wineconf.tcl op jouw systeem zonder problemen werkt, is deze laatste stap overbodig!]

Nu heb je het bestand /usr/local/etc/wine.conf . Dit is het standaard configuratie bestand voor jouw systeem. Het is aan te raden een .winerc -bestand in je homedirectory te maken, en naar wens aan te passen. .winerc 'overruled' de instellingen in /usr/local/etc/wine.conf .

Als gewone gebruiker (niet langer als root) kun je nu het bestand naar je home directory kopiëren met

>> cp /usr/local/etc/wine.conf ~/.winerc
De volgende stap is een herstart van wineconf.tcl ( /usr/local/wine-990815/tools/wineconf.tcl) , klik op de knop "Use existing config file:" en kies het bestand " ~/.winerc " in het rechtse menu.
het volgende configuratie scherm verschijnt:

Configuratie

Hier kun je opgeven welke schijfletter bij welke schijf hoort. Het wordt aangeraden om een drive voor de Linux directory /tmp/ te maken (in het screenshot is dit schijf j) en deze in de "Wine Section" aan te geven als "Temp" schijf. Zo heb je later geen permissie problemen.

Nu kunnen we proberen wine te gebruiken:
Als je een WINDOWS programma met de emulatie wilt starten, moet je deze kunnen bereiken vanuit Linux. Vaak zijn deze schijven gemount onder /mnt/cdos, /mnt/ddos/ ...

Om de emulatie te gebruiken, start je wine samen met het pad naar het windows programma. Om bijvoorbeeld wordpad te starten, gebruik je:

>> wine /mnt/cdos/Programme/wordpad.exe


Screenshot

Sinds de introductie van een grafisch front-end voor dit programma is de configuratie veel simpeler geworden. Al kunnen de valkuilen tijdens compileren en installeren de gebruiker storen. Het is nog steeds een alpha versie, maar is al zeer bruikbaar.
Wine is goed voor werken, maar spelen is ook mogelijk. Niet alleen Unreal en StarCraft, maar vele andere spellen werken ook met wine, door de ondersteuning van direct3d en 3Dfx (natuurlijk heb je voor de laatste een 3Dfx kaar nodig). De configuratie van wine is in deze gevallen veel gecompliceerder en gaan we hier verder niet op in. Meer informatie over de configuratie van wine voor spellen is beschikbaar op "Wine Success Stories" op http://www.linuxgames.com/wine/.

Links