WINE jest daleko idącym przyczynkiem do integracji aplikacji windowsowych pod GNU/Linux. WINE składa się m.in. programu ładującego (loadera), przy pomocy którego programy windowsowe i dosowe mogą być załadowane do pamięci i wykonane przez procesor komputera. Poza tym program ten udostępnia dużą część interfejsów (API) systemów operacyjnych opierających się na Windows. Interfejsy te wykorzystywane są przez programy widowsowe, uruchamiane przez WINE, tak że te programy znajdują to samo, oczekiwane środowisko, jak pod Windows. Ponieważ interfejsy te znajdują się w WINE i ich definicje istnieją w formie plików nagłówkowych (header file), WINE może być również wykorzystywany do przenoszenia kodu źródłowego programów windowsowych do GNU/ Linux czy innych systemów operacyjnych opartych na UNIX. Powstają wtedy prawdziwe programy uniksowe/linuksowe, mające tę samą funkcjonalność jak ich odpowiedniki pod Windows. Zastosowanie jednolitego interfejsu API pod Windows i Linuksem ma dla twórcy oprogramowania tę zaletę, że można projektować i rozwijać tylko jedną wersję kodu źródłowego, która może być używana w obu rodzinach systemów operacyjnych.
Projekt WINE został zapoczątkowany w 1993 roku, prowadzony jest głownie przez ochotników, komunikujących się między sobą przez listy dyskusyjne. W ostatnich czasach projekt WINE uzyskał dodatkowe wsparcie przez liczne przedsiębiorstwa komercyjne, stosujące WINE do przenoszenia swoich programów windowsowych na GNU/ Linux. Dziś WINE jest w stanie uruchomić pod Linuksem większość istniejących programów windowsowych (16 i 32 bitowych), w pewnym ograniczonym zakresie z WINE mogą być używane także programy dosowe. WINE uruchamia programy windowsowe bezpośrednio spod Linuksa, nie są do tego wymagane żadne specjalne rozszerzenia jądra, żadne szczególne uprawnienia, ani nie musi istnieć instalacja Windows. Projekt pozwala na uruchamianie programów pod Linuksem tak samo szybko jak pod Windows, ponieważ nie ma tu miejsca emulacja w rozumieniu interpretacji poleceń dla procesora. W celu uruchomienia określonego programu pod GNU/Linux przy pomocy WINE wymagane są teoretycznie takie same zasoby systemowe, jak pod Windows. Opcjonalnie WINE może wykorzystywać istniejącą instalację Windows. Możliwe jest wtedy przejmowanie ustawień tej instalacji dla programów windowsowych i wykorzystywanie przez WINE oryginalnych części składowych Windows, które w WINE jeszcze nie są dostępne w wystarczającym stopniu.
Większość dystrybucji Linuksa zawiera dzisiaj pakiety WINE. Są to binaria, zawierające WINE w formie umożliwiającej bezpośrednie uruchomienie. Aktualne wersje można również ściągnąć z różnych stron internetowych. Teoretycznie, po zainstalowaniu pakietu binarnego program powinien nadawać się do sensownej konfiguracji i natychmiastowego użycia. W rzeczywistości, w wielu przypadkach konieczna jest zmiana konfiguracji zainstalowanej z pakietem.
Z powodu szybkiego rozwoju WINE zaleca się obecnie stosowanie kodu źródłowego zamiast pakietów binarnych. Po zdobyciu kodu źródłowego należy go rozpakować, skonfigurować i skompilować. Powstaje wtedy plik binarny, dokładnie dopasowany do posiadanego systemu i oferujący dlatego wyższe prawdopodobieństwo optymalnych wyników, niż w przypadku pakietów binarnych, stworzonych dla inaczej skonfigurowanego systemu. Użycie kodu źródłowego daje poza tym możliwość stosunkowo łatwej aktualizacji programu, przy czym nie zawsze trzeba pobierać kompletnego pakietu. Ponadto, przez użycie aktualnego kodu źródłowego można stwierdzić, czy ewentualnie występujące błędy rzeczywiście istnieją w WINE, i czy nie zostały już usunięte. Przez to zwiększa się prawdopodobieństwo wysyłania sensownych raportów błędów do twórców WINE.
Instalacja pakietów binarnych zależy od systemu pakietów dystrybucji (najczęściej jest to rpm lub deb), jak również od samej dystrybucji. Informacje wymagane do instalacji powinny znajdować się w dokumentacji używanej dystrybucji. W niniejszym opracowaniu opisana jest instalacja WINE z kodu źródłowego.
Aby WINE mógł być skompilowany i uruchomiony, w systemie muszą być zainstalowane następujące programy i pliki:
1. Jądro Linuksa od wersji 2.2.x. (WINE można uruchomić także z jądrem w wersji 2.0.x, jednak te jądra nie obsługują pewnych właściwości, wymaganych przez WINE. Jest to zauważalne szczególnie wtedy, jeśli przy pomocy WINE mają być uruchamiane 32 bitowe programy windowsowe, w których jednocześnie wykonywanych jest kilka wątków (threads)). Numer wersji aktualnie używanego jądra wyświetlany jest po wpisaniu w konsoli polecenia:
uname -r
2. Zaleca się stosowanie biblioteki C GNU (libc6), w wersji od 2.1. Numer wersji aktualnie używanej biblioteki C może być wyświetlony po wpisaniu następującego polecenia:
ls -l /lib/libc.so.*
3. W niektórych systemach istnieją zarówno starsze biblioteki C libc5, jak i nowsze libc6. Decydująca jest z reguły nowsza wersja. Biblioteka C musi być współużytkowalna (reentrable), aby WINE mógł obsługiwać wielowątkowość (multithreading). Ma to miejsce w wszystkich nowszych dystrybucji Linuksa. Biblioteka C znajduje się w pakiecie libc6. Do kompilacji WINE wymagane są dodatkowo narzędzia programistyczne do biblioteki C. W Debianie znajdują się one w pakiecie libc6-dev.
4. Ponieważ WINE wykorzystuje X Window, wymagane są biblioteki X, i jeśli WINE ma być kompilowane, narzędzia programistyczne dla X. W Debianie biblioteki te zawiera pakiet xlib6g a narzędzia programistyczne pakiet xlib6g-dev.
5. Dla programów, które mają być uruchamiane w trybie tekstowym, WINE może wykorzystywać bibliotekę libncurses. Aby wkompilować w program obsługę dla nich, muszą być zainstalowane narzędzia programistyczne dla tej biblioteki (pakiet libncurses5-dev). Zastosowanie biblioteki ncurses jest jednak opcjonalne.
6. Również opcjonalna jest obsługa biblioteki kompatybilnej z OpenGL, jak np. Mesa. Jeśli w program ma być wkompilowana obsługa OpenGL, w systemie muszą być zainstalowane narzędzia programistyczne OpenGL, np. udostępniane przez pakiet mesag-dev. Dodatkowo są oczywiście wymagane same biblioteki OpenGL.
7. Do kompilacji WINE należy użyć kompilatora C GNU. Obecnie zaleca się wersję 2.95. Ponadto potrzebnych jest kilka standardowych narzędzi, jak make, (f)lex, yacc czy bison, które w większości systemów linuksowych powinny być już zainstalowane.
Zależnie od tego, czy w kodzie wykonywalnym, który ma być otrzymany, mają być zawarte informacje diagnostyczne (debugging informations), do kompilacji i instalacji WINE potrzeba między ok. 100 MB a 250 MB przestrzeni na dysku. Odnośnie procesora komputera nie stawia się żadnych specjalnych wymagań, wystarczający jest procesor klasy Pentium 133 MHz do uruchamiania np. edytorów tekstu. Jednak dla gier i innych aplikacji multimedialnych wymagany jest z reguły szybszy procesor. Ważne jest, aby komputer miał wystarczającą ilość pamięci operacyjnej (RAM). Do uruchamiania większych programów windowsowych komputer powinien być wyposażony w 64 MB RAM.
WINE można pobrać z Internetu z różnych serwerów, przez FTP albo HTTP. Aktualny kod źródłowy można znaleźć między innymi pod następującymi adresami:
ftp://metalab.unc.edu/pub/Linux/ALPHA/wine/development/ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/ftp://orcus.progsoc.uts.edu.au/pub/wine/development/http://metalab.unc.edu/pub/Linux/ALPHA/wine/development/Przy rozwijaniu WINE nie stosuje się obecnie numerów wersji. Zamiast tego każde wydanie oznaczone jest liczbą, odpowiadającą dacie wydania danej wersji, wg schematu: rok, miesiąc, dzień.
Plik Wine-20000614.tar.gz z jednego z wyżej wymienionych adresów zawiera więc wersję WINE, wydaną 14 czerwca 2000. Zasadniczo zaleca się stosowanie najnowszej wersji. Po pobraniu kodu źródłowego, można go rozpakować do katalogu bieżącego przez wydanie następującego polecenia:
tar -xvzf Wine-20000614.tar.gz
Przy tym Wine-20000614.tar.gz należy naturalnie zastąpić aktualną nazwą ściągniętego pliku. Kod źródłowy rozpakowywany jest do podkatalogu katalogu bieżącego, którego nazwa składa się z słowa wine i, oddzielonej kreską, daty wydania danej wersji, a więc na przykład: wine-20000614. Zaleca się zmianę nazwy tego katalogu na wine, co można wykonać przy pomocy polecenia:
mv wine-20000614 wine
co do gier to nie ma pewnosci czy podane gry beda chodzily - najlepiej zainstalowac i poeksperymentowac ....