Ekran sunucusu - Display server

Bir GUI'nin temel bileşenleri : Görüntü sunucusu , pencereleme sistemini uygular . Basit bir pencere yöneticisi yalnızca pencere dekorasyonlarını çizer , ancak pencere yöneticileri daha fazlasını birleştirir.

Bir görüntü sunucu veya pencere sunucusu , birincil görevi ve işletim sisteminin geri kalan, donanım ve birbirinden müşterilerinin giriş ve çıkış koordine olan bir programdır. Görüntü sunucusu, istemcileriyle , ağda saydam veya basitçe ağa uygun olabilen bir iletişim protokolü olan görüntü sunucusu protokolü üzerinden iletişim kurar .

Görüntü sunucusu, herhangi bir grafik kullanıcı arayüzünde , özellikle pencereleme sisteminde önemli bir bileşendir .

Kullanılabilir görüntü sunucusu iletişim protokolleri

X11

X.Org Sunucu müşterileri, örneğin iletişim kurar Amarok X11 protokolü üzerinden,
X Pencere Sistemi logosu

Görüntü sunucusuna bir örnek , çekirdeğin (genellikle Linux veya BSD gibi Unix tabanlı bir çekirdek) üzerinde çalışan X.Org Sunucusudur . Kullanıcı girdi verilerini alır (örneğin, Linux'ta evdev'den ) ve istemcilerinden birine aktarır . Görüntü sunucusu ayrıca istemcilerinden veri alır; verileri işler, birleştirmeyi gerçekleştirir ve Linux'ta verileri üç çekirdek bileşeninden birine ( DRM , gem veya KMS sürücüsü) aktarır . Bileşen, verileri çerçeve tampon belleğine yazar ve çerçeve tampon belleğinin içeriği, bağlı ekrana iletilir ve görüntülenir. X, GLX'e güvenir .

Görüntü sunucusu konseptinin uygulamalarından biri X Pencere Sistemidir , özellikle de gerçekten kullanılan sürümü - X.Org Sunucusu ve Xlib ve XCB istemci kitaplıkları. X.Org Sunucusu bir görüntü sunucusudur, ancak mevcut uygulamasında birleştirme işlemini yapmak için ikinci bir program olan birleştirme pencere yöneticisine güvenir . Örnekler Mutter veya KWin'dir .

X11 görüntü sunucusu protokolünü uygulayan önemli ekran sunucuları örnekleri X.Org Sunucusu , XFree86 , XQuartz ve Cygwin / X iken, X11 görüntü sunucusu protokolünü uygulayan istemci kitaplıkları Xlib ve XCB'dir .

Wayland

Wayland görüntü sunucusu protokolü
Wayland logosu

Wayland ekran sunucu protokolünü uygulayan Görüntü sunucular, denir Wayland besteciler . X11 aksine - - ayrıca yönelik herhangi bir görüntüleme sunucusunda olduğu gibi, bir Wayland dizgicisi müşterileri için girdi ve çıktı taşıma ve sorumludur birleştirme . Örnekler Weston , Mutter , KWin veya Enlightenment'dir .

Wayland bestecileri, Wayland istemcileri ile Wayland görüntü sunucusu protokolü üzerinden iletişim kurar . Bu protokol, istemcilerin EGL işleme API'sini kullanarak doğrudan çerçeve arabelleğe veri yazabileceğini tanımlar . Görüntü sunucusu, hangi pencerenin en üstte olduğuna ve dolayısıyla kullanıcı tarafından görülebileceğine hala karar verir ve aynı zamanda, giriş cihazlarına ilişkin verilerin evdev'den istemcilere iletilmesinden de sorumludur .

Wayland, Fedora gibi bazı Linux masaüstü dağıtımlarında belirli bir dereceye kadar kullanılır . Ayrıca mobil bilgi işlem için de çok uygundur ve örneğin akıllı telefon ve tablet odaklı Tizen , Sailfish OS ve AsteroidOS projeleri tarafından benimsenmiştir .

Wayland'ın bir uygulaması MIT Lisansı , libwayland-istemcisi ve libwayland-sunucu kitaplıkları altında mevcuttur.

Wayland desteğini Chrome OS'ye eklemek için devam eden bir çaba var .

Mir

Mir ekran sunucusu X11 ve Wayland tarafından kullanılanlardan farklıdır kendi Mir ekran sunucu protokolü ile birlikte gelir. Mir ayrıca X11 protokolünü de destekler. Canonical tarafından geliştirilmiştir ve Ubuntu için tercih edilen ekran sunucusu olması amaçlanmıştır . 2017 itibariyle, Ubuntu'nun masaüstü sürümleri için Wayland görüntü sunucusuyla değiştirildi.

Mir görüntü sunucusunun, libmir-sunucusunun ve libmir-istemci kitaplıklarının GPLv3 altında kullanılabilen uygulamaları vardır .

SurfaceFlinger

Google , Android için SurfaceFlinger adlı bir görüntü sunucusu geliştirdi (esas olarak mobil cihazlar için başka bir Linux çekirdeği tabanlı işletim sistemi):

Android'deki her şey bir "yüzeye" dönüştürülür; "yüzeyler" uygulamalar tarafından üretilir ve SurfaceFlinger tarafından yönetilen bir kuyruğa yerleştirilir.

Yine bir başka Android'e özgü çözüm "Gralloc" dur. Gralloc aygıt belleğini işler, yani ayırma, tahkim yapar, Android / Linux çit dosya tanımlayıcıları (FD'ler) aracılığıyla senkronizasyonu yönetir. Gralloc, Mesa'nın Genel Tampon Yönetimi (GBM) veya Nvidia'nın EGLStreams gibi diğer çözümlerle rekabet eder . Gralloc donanım soyutlama katmanı (HAL) , "yüzeylerin" altında yatan tamponları tahsis etmek için kullanılır.

Android'de birleştirme için Yüzeyler, birleştirme yapmak için OpenGL ES kullanan SurfaceFlinger'a gönderilir.

Hardware Composer HAL (HWC), Android 3.0'da tanıtıldı ve yıllar içinde istikrarlı bir şekilde gelişti. Birincil amacı, mevcut donanımla tamponları birleştirmenin en verimli yolunu belirlemektir. Bir HAL olarak, uygulaması cihaza özgüdür ve genellikle ekran donanımı OEM tarafından yapılır.

Kuvars Kompozitör

Apple'ın macOS işletim sistemleri ailesi için Quartz Compositor , pencere sistemindeki bir ekran sunucusunun ve pencere yöneticisinin görevlerini yerine getirir .

Masaüstü Pencere Yöneticisi

İçin Microsoft Windows , gelen Windows Vista ileriye, Masaüstü Pencere Yöneticisi grafik kullanıcı arayüzü işlemek için donanım hızlandırma kullanımını mümkün kılmaktadır. Başlangıçta, şeffaflık, 3B pencere değiştirme ve daha fazlası gibi etkilere izin veren yeni "Windows Aero" kullanıcı deneyiminin bazı kısımlarını etkinleştirmek için oluşturuldu. Ayrıca Windows Server 2008 ile birlikte gelir, ancak "Masaüstü Deneyimi" özelliğinin ve uyumlu grafik sürücülerinin yüklenmesini gerektirir.

Ayrıca bakınız

Referanslar