Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Wine - przepisywane biblioteki windows, wydawane jako wolne oprogramowanie
Autor Wiadomość
WebNuLL Offline
Linux support
Junior Admin

Liczba postów: 1766
Dołączył: Sep 2009
Reputacja: 45
€: 4127
OS: Linux Gentoo
Post: #1
Wine - przepisywane biblioteki windows, wydawane jako wolne oprogramowanie
Witam, pewnie z "windowsowiczów" nikt nie wie o projekcie Wine ale go opiszę.

Wine to implementacja WinAPI, DirectX oraz bibliotek, plików wykonywalnych z windows dla windows, Linux, MacOSX, Solaris, BSD i wielu innych systemów operacyjnych.

Wine Is Not Emulator
Wine nie jest emulatorem, ponieważ nie musi "tłumaczyć" instrukcji procesora ponieważ windows tak samo jak reszta systemów operacyjnych działają na tych samych architekturach sprzętowych ( x86, amd64 ) choć Linux, BSD i inne uniksowe systemy obsługują więcej architektur to jednak Wine prawdopodobnie reszty nie obsługuje.

Co to oznacza?
Że Wine pozwala uruchamiać programy oraz gry z windows pod innymi systemami operacyjnymi - projekt istnieje od ok. 15 lat i ma się dobrze.

Po co przepisywać windows?
Istnieje wiele powodów, możemy "odtworzyć" kod źródłowy windows po to aby go później ulepszyć i samemu wprowadzać poprawki - nad windows pracuje tylko sztab opłacanych programistów.
Drugim najważniejszym powodem jest umożliwienie uruchomienia danego programu/gry pod innym systemem operacyjnym.

Wine w praktyce, czyli co już zrobione i jak to wygląda

Bez problemu możemy uruchomić "powłokę" batch ( cmd.exe ), może nie jest ona jeszcze idealna ( polskie kodowanie nawala ) ale jest na poziomie używalnym:

Kod:
C:\>dir
Wolumenem w napędzie C jest
Numer seryjny wolumenu: 0000-0000

Directory of C:\

2010-05-04     21:05             0  AILog.txt
2010-05-03     16:23  <DIR>         Program Files
2010-05-03     16:23  <DIR>         users
2010-08-28     14:52  <DIR>         windows
       1 file                         0 bytes
       3 directories      1,781,944,320 bytes free


C:\>

Kod:
C:\>ipconfig
Ethernet adapter lo

    Connection-specific DNS suffix. . : (null)
    IP address. . . . . . . . . . . . : 127.0.0.1
    IP address. . . . . . . . . . . . : ::1

Ethernet adapter eth0

    Connection-specific DNS suffix. . : (null)

Ethernet adapter wlan0

    Connection-specific DNS suffix. . : (null)
    IP address. . . . . . . . . . . . : 192.168.x.y


C:\>ipconfig /ALL
    Hostname. . . . . . . . . . . . . : localhost
    Node type . . . . . . . . . . . . : Hybrid
    IP routing enabled. . . . . . . . : No

Ethernet adapter lo

    Connection-specific DNS suffix. . : (null)
    Description . . . . . . . . . . . : (null)
    Physical address. . . . . . . . . :
    DHCP enabled. . . . . . . . . . . : No
    IP address. . . . . . . . . . . . : 127.0.0.1
    IP address. . . . . . . . . . . . : ::1

Ethernet adapter eth0

    Connection-specific DNS suffix. . : (null)
    Description . . . . . . . . . . . : (null)
    Physical address. . . . . . . . . : xx-xx-xx-xx-xx-xx
    DHCP enabled. . . . . . . . . . . : No

Ethernet adapter wlan0

    Connection-specific DNS suffix. . : (null)
    Description . . . . . . . . . . . : (null)
    Physical address. . . . . . . . . : xx-xx-xx-xx-xx-xx
    DHCP enabled. . . . . . . . . . . : No
    IP address. . . . . . . . . . . . : 192.168.x.y


C:\>

Counter-Strike 1.6 uruchomiony poprzez Wine

[Obrazek: appimage.jpg]

Pokazana wyżej gra jest uruchomiona bez pomocy windows, choć gra jest w wersji dla windows - całość opiera się o biblioteki Wine i chodzi tak samo sprawnie jak pod windows.

Dynamiczny rozwój projektu

Każdego dnia implementowane są dziesiątki funkcji, poprawiane nowe błędy, całość zmian można obserwować na bieżąco.

http://source.winehq.org/git/wine.git/?a=shortlog

Opisy zmian są jednak zrozumiałe tylko dla deweloperów, dlatego można także przyjrzeć się zmianom bardziej widocznym dla użytkowników:

http://www.winehq.org/announce/1.3.1

Tutaj już pokazane są usprawnienia dla konkretnych aplikacji dla których zostały zgłoszone błędy.

Przykładowo:
Kod:
22504  Bioshock: fog renders red - w grze "Bioshock" mgła jest wyświetlana na czerwono
21027  Lego Digital Designer hangs on startup - "Lego Digital Designer" zawiesza się na starcie
19414  Excel 2003 & 2007 crash trying to run macros - "Microsoft Excel 2003 i 2007" wyłącza się przy próbie uruchomienia makra
22131  CDBurnerXP 4.3.x: arrow buttons do not appear correctly - W" CDBurnerXP 4.3.x" przyciski strzałek nie wyświetlają się poprawnie

A jak by tak połączyć Wine z gotowym jądrem systemu operacyjnego?

Projekt ReactOS napisał od nowa jądro systemu podobne do jądra NT ( tego używanego w windows ), i we współpracy z Wine potrafi uruchomić przeróżne programy z windows jak i nawet sterowniki do urządzeń.

[Obrazek: ros039msn47.png]

Jednak rozwój ReactOS jest zaskakująco wolny w porównaniu do dynamicznego rozwoju Wine, dlatego nie można powiedzieć że całość będzie za niedługo używalna ( samo jądro itp. jest bardzo nie stabilne i sypie BSOD'ami, dlatego lepiej używać Linuksa + Wine niż ReactOS ).

ReactOS jako system dostępny do pobrania: http://www.reactos.org/pl/download.html

Aby przekonać się jak działa choćby powłoka graficzna ReactOS, możemy pobrać i uruchomić sam "ReactOS Explorer" czyli w pełni kompatybilną z windows wersję explorer.exe

ReactOS Explorer: http://www.foxplanet.de/explorer/

[Obrazek: winetools.png]

Sprawdźcie sobie sami jak działa Wine!

Sprawdzić działanie Wine mogą użytkownicy każdego systemu operacyjnego.
W windows można obok oryginalnej aplikacji np. regedit postawić tą z wine i sprawdzić jak działa, jest ona kompatybilna z oryginałem.

-- WebNuLL

[Obrazek: 1300013385.gif]
Ubuntu (Linux dla ludzi) | Blog komputerowy | Linux Mint
(Ten post był ostatnio modyfikowany: 29.08.2010 18:49 przez WebNuLL.)
29.08.2010 18:47
  Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post


lucas Offline
Moderator
Moderator

Liczba postów: 529
Dołączył: Nov 2008
Reputacja: 24
€: 865
OS: Linux Slackware
Post: #2
RE: Wine - przepisywane biblioteki windows, wydawane jako wolne oprogramowanie
Wine to nie tylko oprogramowanie służące do odpalenia tak starej gierki jest Counter Strike. Projekt choć jest stary (15 lat) jest na bieżąco rozwijany dlatego w narzędziu winecfg może wybrać kompatybilność z aplikacjami dla Windowsa Vista lub Windowsa 7. Oczywiście nic nie stoi na przeszkodzie by wine uruchamiało aplikacje i gry napisane dla Windowsa XP oraz nawet jeszcze starsze gdy ustawimy go by działało w trybie Windowsa 98. Problem starych gier które przestały działać od XP jest wielu osobom znany Smiles

Z własnego doświadczenia mogę powiedzieć że używałem z pomocą Wine następujących aplikacji/gier:

Microsoft Office 2003, Adobe Photoshop CS2, Serious Sam, Neverwinter Nights 1, Neverwinter Nights 2, GTA SA, STALKER: Shadow of Chernobyl, Gothic 1, Gothic 2, Gothic 3, Need for Speed Hot Pursuit, Need for Speed: Undercover i innych których nie pamiętamSmiles

Zaznaczam że tego wszystkiego UŻYWAŁEM, tj. przynajmniej kilka razy uruchomiłem, a w wypadku gier oznaczało to przejście przynajmniej 1/4 gry i to wszystko bez problemów wynikających z używania Wine.

Jeśli chcemy ułatwić sobie używanie Wine warto zainteresować się projektem Play On Linux:
http://www.playonlinux.com/pl/
POL automatycznie konfiguruje środowisko wine dla wielu popularnych aplikacji tak że działają one bez grzebania w winecfg.

[Obrazek: 1274107223.png]
29.08.2010 19:16
  Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
WebNuLL Offline
Linux support
Junior Admin

Liczba postów: 1766
Dołączył: Sep 2009
Reputacja: 45
€: 4127
OS: Linux Gentoo
Post: #3
RE: Wine - przepisywane biblioteki windows, wydawane jako wolne oprogramowanie
bulaziom, przedstawiłem Wine w miarę opisowo a niżeli w stylu poradnika do działu FAQ.
PlayOnLinux nie omówiłem, ponieważ jak sama nazwa wskazuje aplikacja jest tylko dla Linuksa Smiles

Ja dzisiaj przeszedłem grę Max Payne pod Wine, zero problemów zawieszek itp. chodzi idealnie - na appdb.winehq.org ma status "Platinum" czyli najwyższy.

-- WebNuLL

[Obrazek: 1300013385.gif]
Ubuntu (Linux dla ludzi) | Blog komputerowy | Linux Mint
(Ten post był ostatnio modyfikowany: 29.08.2010 19:27 przez WebNuLL.)
29.08.2010 19:26
  Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

 Wybierz styl: