XFree86

XFree86
Deweloperzy Projekt XFree86, Inc.
Pierwsze wydanie 1991 ; 32 lata temu ( 1991 ) (jako X386)
Ostateczne wydanie
4.8.0 / 15 grudnia 2008 ; 14 lat temu ( 15.12.2008 )
Magazyn
Napisane w C
System operacyjny Międzyplatformowe
Dostępne w Różny
Typ Serwer wyświetlania
Licencja Licencja XFree86 1.1
Strona internetowa www .xfree86 .org

XFree86 jest implementacją systemu X Window . Pierwotnie został napisany dla systemów operacyjnych typu Unix na komputerach kompatybilnych z IBM PC i był dostępny dla wielu innych systemów operacyjnych i platform. Jest to darmowe oprogramowanie typu open source na licencji XFree86 w wersji 1.1. Został opracowany przez XFree86 Project, Inc. Głównym programistą był David Dawes . Ostatnia wydana wersja to 4.8.0, wydana w grudniu 2008. Ostatni XFree86 CVS zobowiązanie zostało złożone 18 maja 2009 r.; projekt został potwierdzony jako uśpiony w grudniu 2011 r.

Przez większość lat 90. i na początku XXI wieku projekt był źródłem większości innowacji w X i był de facto zarządcą rozwoju X. Do początku 2004 roku był prawie uniwersalny w Linuksie i BSD .

W lutym 2004, wraz z wersją 4.4.0, Projekt XFree86 rozpoczął dystrybucję nowego kodu z licencją na prawa autorskie, którą Fundacja Wolnego Oprogramowania uznała za niezgodną z GPL . Większość systemów operacyjnych typu open source korzystających z XFree86 uznała to za niedopuszczalne i przeszła na rozwidlenie sprzed zmiany licencji. Pierwszym rozwidleniem był nieudany Xouvert, ale serwer X.Org wkrótce stał się dominujący. Większość programistów XFree86 również przeniosła się do X.Org.

Stosowanie

Chociaż XFree86 był powszechnie używany przez większość komputerowych systemów operacyjnych typu Unix przed zmianą jego licencji w wersji 4.4.0, od tego czasu został zastąpiony przez X.org i jest obecnie rzadko używany. Ostatnią pozostałą dystrybucją systemu operacyjnego, która go używała, był NetBSD , który domyślnie dostarczał niektóre platformy z wersją 4.5.0, aż do usunięcia go jako przestarzałego w 2015 r. NetBSD § 5.0 i nowsze wydania domyślnie używają X.org na różnych portach (w tym i386 i amd64 ), a X.org jest dostępny przez NetBSD pkgsrc dla architektur, dla których XFree86 pozostaje domyślnym z powodu lepszej obsługi.

Na dzień 19 kwietnia 2019 r. Gałąź netbsd-7 i wydanie NetBSD § 7.2 były ostatnimi, które potencjalnie zawierały XFree86, a XFree86 został całkowicie usunięty przed wydaniem gałęzi netbsd-8 i NetBSD § 8.0 w 2018 r.

Architektura

Serwer XFree86 komunikuje się z jądrem systemu operacyjnego hosta w celu sterowania urządzeniami wejścia i wyjścia, z wyjątkiem kart graficznych . Są one generalnie zarządzane bezpośrednio przez XFree86, więc zawiera on własne sterowniki dla wszystkich kart graficznych, jakie może posiadać użytkownik. Niektóre karty są obsługiwane przez samych dostawców za pośrednictwem sterowników wyłącznie binarnych.

Od wersji 4.0 XFree86 obsługuje niektóre przyspieszone karty graficzne 3D poprzez rozszerzenia GLX i DRI . Również w wersji 4.0 XFree86 przeszedł na nowy model sterownika, z jednego pliku binarnego serwera X na sterownik do unikalnego serwera X, który może ładować kilka sterowników jednocześnie.

Ponieważ serwer zwykle potrzebuje niskiego poziomu dostępu do sprzętu graficznego, w wielu konfiguracjach musi działać jako superużytkownik lub użytkownik z UID 0. Jednak w niektórych systemach i konfiguracjach możliwe jest uruchamianie serwera jako zwykły użytkownik.

Możliwe jest również użycie XFree86 w urządzeniu buforującym ramkę , które z kolei wykorzystuje sterownik karty graficznej jądra.

W typowym systemie POSIX katalog /etc/X11 zawiera pliki konfiguracyjne. Podstawowym plikiem konfiguracyjnym jest /etc/X11/XF86Config (lub XF86Config-4), który zawiera zmienne dotyczące ekranu ( monitora), klawiatury i karty graficznej . Często używany jest program xf86config , chociaż xf86cfg jest również dostarczany z serwerem XFree86 i jest z pewnością bardziej przyjazny. Wiele dystrybucji Linuksa zawierało narzędzie konfiguracyjne, które było łatwiejsze w użyciu ( takie jak debconf ) lub automatycznie wykrył większość (jeśli nie wszystkie) ustawień (Red Hat Linux i Anaconda Fedory , YaST SuSE i Mandrake Linux użyły tej ścieżki ) .

Historia

Wczesna historia i nazewnictwo

Projekt rozpoczął się w 1992 roku, kiedy David Wexelblat, Glenn Lai, David Dawes i Jim Tsillas połączyli siły, usuwając błędy w kodzie źródłowym serwera wyświetlania X386 X (napisanym przez Thomasa Roella), jako wkład w X11R5. Ta wersja początkowo nosiła nazwę X386 1.2E . Ponieważ nowsze wersje (pierwotnie darmowego) X386 były sprzedawane na zastrzeżonego oprogramowania przez SGCS (którego Roell był partnerem), istniało zamieszanie między projektami. Po dyskusji projekt został przemianowany na X Free 86 jako gra słów (porównaj X-trzy-osiemdziesiąt-sześć z X-wolne-osiemdziesiąt-sześć). Roell nadal sprzedawał zastrzeżone serwery X, ostatnio pod nazwą Accelerated-X .

Powstań z Linuksem

Wraz ze wzrostem popularności Linuksa, wraz z nim wzrósł XFree86, jako główny projekt X ze sterownikami do kart graficznych na komputery PC.

Pod koniec lat 90. oficjalny rozwój X był konający. Największy postęp techniczny miał miejsce w projekcie XFree86. W 1999 XFree86 był sponsorowany przez X.Org (oficjalne konsorcjum branżowe) przez różne firmy sprzętowe zainteresowane jego użyciem z Linuksem i statusem najpopularniejszej wersji X.

2002: Rosnący sprzeciw w ramach projektu

Do 2002 roku, kiedy popularność Linuksa, a co za tym idzie liczba zainstalowanych X-ów, gwałtownie wzrosła, X.Org był prawie nieaktywny; aktywny rozwój był w dużej mierze prowadzony przez XFree86. Jednak w XFree86 panował znaczny sprzeciw.

XFree86 miał kiedyś Główny Zespół , który składał się z doświadczonych programistów, wybranych przez innych członków Głównego Zespołu ze względu na ich zasługi. Tylko członkowie tego podstawowego zespołu mogli zaangażować się w CVS . Było to postrzegane jako zbyt katedralne w swoim modelu rozwoju: programiści nie byli w stanie szybko uzyskać praw do zatwierdzenia, a dostawcy utrzymywali obszerne łatki .

Kluczowym wydarzeniem była utrata przez Keitha Packarda praw do zobowiązań. Na kilka godzin przed rozpoczęciem okresu zamrożenia funkcji dla XFree86 4.3.0 zatwierdził XFIXES (które sam opracował) bez wcześniejszej dyskusji lub przeglądu w Zespole Głównym. Zespół podstawowy zdecydował o usunięciu dostępu do zatwierdzenia Keitha, ale bez usuwania go z samego zespołu podstawowego, a rozszerzenie XFIXES zostało wycofane sześć tygodni później.

2003: Widelec i rozwiązanie zespołu podstawowego

W marcu 2003 r. Core Team twierdził, że Packard próbował rozwidlić projekt XFree86, pracując wewnątrz projektu, próbując jednocześnie przyciągnąć głównych programistów do nowego projektu X Server, który sam stworzył. Packard zaprzeczył, że taki był jego cel, ale niektóre e-maile zostały dostarczone jako dowód, że było inaczej. Keith Packard został następnie wydalony z zespołu podstawowego.

Niedługo później Packard stworzył xwin.org, który służył głównie jako miejsce spotkań w kultywowaniu widelca XFree86. Przez resztę roku wielu programistów, którzy nadal byli aktywni w XFree86, przeszło do projektu, który był tworzony w domenach freedesktop.org i X.org .

Pod koniec roku, z powodu malejącej liczby aktywnych członków i ograniczonych pozostałych możliwości rozwoju, główny zespół XFree86 głosował za rozwiązaniem się.

2004: Kontrowersje dotyczące licencji

Wersje XFree86 do i włącznie z niektórymi kandydatami do wydania 4.4.0 były objęte MIT License , liberalną licencją wolnego oprogramowania nie podlegającą copyleft . W lutym 2004 wydano XFree86 4.4 ze zmianą licencji XFree86, dodając klauzulę kredytową, podobną do tej w oryginalnej licencji BSD , ale o szerszym zakresie. Nowsze warunki określane są jako Licencja XFree86 1.1. Wiele projektów opartych na XFree86 uznało nową licencję za nie do zaakceptowania, a Fundacja Wolnego Oprogramowania uważa ją za niezgodną z wersją 2 Powszechna Licencja Publiczna GNU , chociaż zgodna z wersją 3. Projekt XFree86 stwierdza, że ​​licencja jest „tak samo zgodna z GPL, jak wszystkie poprzednie wersje”, ale nie wspomina, dla której wersji lub wersji GPL jest to ważne.

Niektóre projekty wydały wydania (zwłaszcza OpenBSD 3.5 i 3.6 oraz Debian 3.1 „Sarge”) w oparciu o XFree86 w wersji 4.4 RC2, ostatnią wersję na starej licencji. Większość systemów operacyjnych zawierających XFree86 (w tym nowsze wersje OpenBSD i Debian) została przeniesiona do X.Org Server .

Ostatnie zatwierdzenie kodu miało miejsce w 2009 roku; projekt został potwierdzony jako uśpiony w 2011 roku, a strona internetowa została ostatnio zaktualizowana w 2014 roku, z okazji 22. rocznicy.

Widelce XFree86

Xwin

Wkrótce po tym, jak został wyrzucony z głównego zespołu XFree86, Keith Packard zaczął zakładać xwin.org. Chociaż twierdzono, że jest to rozwidlenie XFree86, Keith Packard później udoskonalił to do „forum uczestnictwa społeczności w X”. XWin odnotował dużą aktywność w ciągu pierwszych dwóch miesięcy po ogłoszeniu, ale większość aktywności odbywała się za kulisami, a Keith przeniósł swój własny rozwój do freedesktop.org.

Xouvert

Xouvert został później okrzyknięty pierwszym rozwidleniem XFree86 w sierpniu 2003 roku. Mimo że zapowiedziano wydania na październik 2003 i kwiecień 2004, żadne wydania nie zostały wydane. Ostatnia zmiana statusu miała miejsce w marcu 2004 r. i poinformowano o opóźnieniach w tworzeniu systemu kontroli wersji.

X.Org

Serwer X.Org stał się oficjalną implementacją referencyjną X11. Pierwsza wersja, X11R6.7.0, została rozwidlona z XFree86 w wersji 4.4 RC2, aby uniknąć zmian licencji XFree86, z połączonymi zmianami X11R6.6. Wersja X11R6.8 dodała wiele nowych rozszerzeń, sterowników i poprawek. Jest hostowany i ściśle współpracuje z sponsorowaną przez korporację freedesktop.org .

Większość uniksopodobnych systemów operacyjnych typu open source przyjęło serwer X.Org zamiast XFree86, a większość programistów XFree86 przeniosła się do X.Org.

Historia wydania

Wersja Data wydania Najważniejsze zmiany
Stara wersja, nie jest już obsługiwana: X386 1.1 11 lutego 1991 Pierwsza wersja X386 autorstwa Thomasa Roella, oparta na X11R4 .
Stara wersja, nie jest już obsługiwana: X386 1.2 29 sierpnia 1991 W zestawie z X11R5.
Stara wersja, nie jest już obsługiwana: X386 1.2E 0.0 7 maja 1992 Pierwszy kod pre-XFree86 autorstwa ewentualnych członków zespołu.
Stara wersja, nie jest już obsługiwana: X386 1.2E 1.0 18 lipca 1992
Stara wersja, nie jest już obsługiwana: X386 1.2E 1.0.1 23 lipca 1992
Stara wersja, nie jest już obsługiwana: X386 1.2E 1.0.2 8 sierpnia 1992
Stara wersja, nie jest już obsługiwana: XFree86 1.0m 2 września 1992 Pierwsza wersja o nazwie „XFree86”.
Stara wersja, nie jest już obsługiwana: XFree86 1.1 1 października 1992
Stara wersja, nie jest już obsługiwana: XFree86 1.2 8 lutego 1993
Stara wersja, nie jest już obsługiwana: XFree86 1.3 5 czerwca 1993
Stara wersja, nie jest już obsługiwana: XFree86 2.0 24 października 1993
Stara wersja, nie jest już obsługiwana: XFree86 2.1 11 marca 1994
Stara wersja, nie jest już obsługiwana: XFree86 2.1.1 4 maja 1994 Ostatnia wersja oparta na X11R5.
Stara wersja, nie jest już obsługiwana: XFree86 3.0 26 sierpnia 1994 Wersja dla X11R6.
Stara wersja, nie jest już obsługiwana: XFree86 3.1 29 września 1994
Stara wersja, nie jest już obsługiwana: XFree86 3.1.2 sierpień 1995
Stara wersja, nie jest już obsługiwana: XFree86 3.2 26 października 1996
Stara wersja, nie jest już obsługiwana: XFree86 3.2.1 grudzień 1996
Stara wersja, nie jest już obsługiwana: XFree86 3.3 30 maja 1997 r Architektura przyspieszania XFree86 (XAA)
Stara wersja, nie jest już obsługiwana: XFree86 3.3.1 8 sierpnia 1997
Stara wersja, nie jest już obsługiwana: XFree86 3.3.2 24 maja 1998
Stara wersja, nie jest już obsługiwana: XFree86 3.3.3 30 grudnia 1998 r
Stara wersja, nie jest już obsługiwana: XFree86 3.3.3.1 31 grudnia 1998 r
Stara wersja, nie jest już obsługiwana: XFree86 3.3.4 21 czerwca 1999
Stara wersja, nie jest już obsługiwana: XFree86 3.3.5 17 sierpnia 1999
Stara wersja, nie jest już obsługiwana: XFree86 3.3.6 31 grudnia 1999 r Ostatnia wersja 3.x.
Stara wersja, nie jest już obsługiwana: XFree86 4.0 7 marca 2000 Ukończ nową architekturę. X11R6.4 w zestawie.
Stara wersja, nie jest już obsługiwana: XFree86 4.0.1 30 czerwca 2000 r XRender
Stara wersja, nie jest już obsługiwana: XFree86 4.0.2 18 grudnia 2000
Stara wersja, nie jest już obsługiwana: XFree86 4.0.3 16 marca 2001 r
Stara wersja, nie jest już obsługiwana: XFree86 4.0.4 kwiecień 2001
Stara wersja, nie jest już obsługiwana: XFree86 4.1.0 2 czerwca 2001 r
Stara wersja, nie jest już obsługiwana: XFree86 4.2.0 18 stycznia 2002
Stara wersja, nie jest już obsługiwana: XFree86 4.2.1 3 września 2002
Stara wersja, nie jest już obsługiwana: XFree86 4.3.0 26 lutego 2003 r
Stara wersja, nie jest już obsługiwana: XFree86 4.4 RC2 19 grudnia 2003 Rozwidlony do serwera X.Org
Stara wersja, nie jest już obsługiwana: XFree86 4.4.0 29 lutego 2004 Pierwsza wersja na licencji XFree86 1.1.
Stara wersja, nie jest już obsługiwana: XFree86 4.5.0 16 marca 2005
Stara wersja, nie jest już obsługiwana: XFree86 4.6.0 10 marca 2006
Stara wersja, nie jest już obsługiwana: XFree86 4.7.0 12 sierpnia 2007
Aktualna stabilna wersja: XFree86 4.8.0 15 grudnia 2008 r
Legenda:
Stara wersja
Starsza wersja, nadal utrzymywana
Ostatnia wersja
Najnowsza wersja podglądu
Przyszłe wydanie

Zobacz też

Notatki

Linki zewnętrzne