300:
516:
133:
375:
269:. The output of sound is usually not managed by the display server, but the sound volume is usually handled through GUI applets and it is the display server who decides which applications are on top. A windowing system enables the computer user to work with several programs at the same time. Each program presents its GUI in its own window, which is generally a rectangular area of the screen.
33:
526:
393:
688:
Hardware
Composer HAL (HWC) was introduced in Android 3.0 and has evolved steadily over the years. Its primary purpose is to determine the most efficient way to composite buffers with the available hardware. As a HAL, its implementation is device-specific and usually done by the display hardware OEM.
346:
The server/client relationship of a standalone display server is somewhat counterintuitive in that a "server" is usually thought of as a large, remote machine, whereas a standalone "display server" is a small local system, with most clients being executed on a larger central machine. The explanation
725:
enables the use of hardware acceleration to render the graphical user interface. It was originally created to enable portions of the new "Windows Aero" user experience, which allowed for effects such as transparency, 3D window switching and more. It is also included with
Windows Server 2008, but
237:, although alternative denominations such as window server or compositor are also in use. Any application that runs and presents its GUI in a window, is a client of the display server. The display server and its clients communicate with each other over an
331:
is a program whose primary task is to coordinate the input and output of its clients to and from the rest of the operating system, the hardware, and each other. The display server communicates with its clients over the display server protocol, a
673:
Yet another
Android-specific solution is "Gralloc". Gralloc handles device memory i.e. it does allocation, arbitration, it handles synchronization via Android/Linux fence file descriptors. Gralloc competes with other solutions like e.g. Mesa's
422:
on Linux) and passes it to one of its clients. The display server also receives data from its clients; it processes the data, it does the compositing and on Linux it passes the data to one of three kernel components –
573:. The display server still gets to decide which window is on top and thus visible to the user and also still is responsible for passing data regarding to input devices from
280:
or drawing a line on the screen. It provides an abstraction of the graphics hardware for use by higher-level elements of the graphical interface such as a window manager.
632:
comes with its own Mir display server protocol which is different from those used by X11 and
Wayland. Mir additionally supports the X11 protocol. It was developed by
205:
is assigned a usually resizable and usually rectangular surface of the display to present its GUI to the user; these windows may overlap each other, as opposed to a
245:, which is usually called display server protocol, the display server being the mediator between the clients and the user. It receives all the input from the
1139:
670:
Everything in
Android is rendered to a "surface"; "surfaces" are produced by applications and placed into a queue that is managed by SurfaceFlinger.
1055:
726:
requires the "Desktop
Experience" feature and compatible graphics drivers to be installed. From Windows 8 onwards DWM can't be disabled and is
1191:
539:. Like any display server, a Wayland compositor is responsible for handling input and output for its clients and, in contrast to X11, the
1096:
238:
116:
50:
584:. It is also well suited for mobile computing and has been adopted, for example, by the smartphone- and tablet-focused projects
299:
97:
462:
client libraries. The X.Org Server is a display server, but in its current implementation it relies on a second program, the
69:
54:
643:
There are implementations of the Mir display server, the libmir-server and the libmir-client libraries available under the
365:
1018:
970:
76:
265:
and transmits it to the correct client. The display server is also responsible for the output of the clients to the
1314:
777:
664:
463:
428:
83:
43:
1223:
1119:
1011:
675:
637:
581:
246:
167:
1146:
1005:
942:
866:
829:
556:
424:
340:
304:
191:
171:
685:
For compositing in
Android, Surfaces are sent to SurfaceFlinger, which uses OpenGL ES to do the compositing.
65:
1050:
855:
467:
333:
242:
893:
793:
752:
722:
195:
756:
221:
for direct user interaction, such as sliders, buttons, etc., is eased and simplified through the use of
1284:
604:
679:
284:
202:
1163:
1065:
640:. As of 2017, it has been replaced with the Wayland display server for desktop editions of Ubuntu.
515:
1266:
1215:
727:
563:
536:
510:
439:
and content of the framebuffer is transmitted to the connected screen and displayed. X relies on
210:
179:
138:
1177:
1088:
Encyclopedia of
Microcomputers: Volume 19 - Truth Maintenance Systems to Visual Display Quality
525:
1092:
1086:
975:
897:
840:
714:
702:
548:
544:
383:
374:
316:
254:
218:
143:
90:
276:'s point of view, a windowing system implements graphical primitives. For example: rendering
1258:
566:. This protocol defines that clients can directly write data into the framebuffer using the
266:
214:
213:
is drawn around each window. The programming of both the window decoration and of available
206:
187:
183:
175:
1243:
953:
392:
132:
871:
861:
447:
369:
258:
1060:
1030:
947:
929:
809:
748:
705:
fulfils the tasks of a display server and of a window manager in the windowing system.
633:
629:
623:
312:
234:
222:
147:
1308:
912:
901:
718:
570:
477:
Notable examples of display servers implementing the X11 display server protocol are
1270:
980:
937:
567:
478:
451:
403:
379:
250:
580:
Wayland is used to a certain degree in some Linux desktop distributions, such as
835:
818:
600:
589:
540:
436:
288:
262:
32:
1026:
1022:
885:
593:
535:
Display servers that implement the
Wayland display server protocol are called
432:
273:
1262:
17:
965:
740:
667:(another Linux kernel-based operating system primarily for mobile devices):
155:
493:, while client libraries implementing the X11 display server protocol are
1034:
823:
611:
490:
277:
1038:
998:
993:
985:
922:
907:
850:
804:
798:
486:
482:
150:
or by the client. The drawing of the content is the task of the client.
660:
129:
Software that manages separately different parts of display screens
917:
844:
771:
698:
644:
585:
574:
419:
411:
233:
The main component of any windowing system is usually called the
166:) is a software suite that manages separately different parts of
814:
784:
552:
494:
471:
455:
407:
1041:, contain a windowing system which is integrated with the OS.
562:
Wayland compositors communicate with
Wayland clients over the
498:
459:
440:
415:
336:, which can be network-transparent or simply network-capable.
26:
761:
524:
391:
682:
is used to allocate the buffers that underlie "surfaces".
1178:"Android Developer: SurfaceFlinger and Hardware Composer"
283:
A display server protocol can be network capable or even
636:
and was intended to be the display server of choice for
446:
One of the implementations of display server concept is
1216:"Andrew: A Distributed Personal Computing Environment"
663:
developed a display server called SurfaceFlinger for
610:
There is an ongoing effort to add Wayland support to
599:
An implementation of Wayland is available under the
57:. Unsourced material may be challenged and removed.
450:, in particular its actually used version –
209:where they are not allowed to overlap. Usually a
1085:Kent, Allen; Williams, James G. (1996-10-11).
406:, which runs on top of the kernel (usually a
339:The display server is a key component in any
249:, that the kernel receives from all attached
8:
730:if no suitable graphics card is installed.
678:(GBM) or Nvidia's EGLStreams. The Gralloc
418:). It receives user input data (e.g. from
319:, but compositing window managers do more.
311:implements the windowing system. A simple
435:. The component writes the data into the
117:Learn how and when to remove this message
514:
373:
298:
131:
1251:IEEE Computer Graphics and Applications
1077:
1056:History of the graphical user interface
402:One example of a display server is the
355:Display server communications protocols
466:, to do the compositing. Examples are
347:is that a display server provides the
343:, specifically the windowing system.
287:, facilitating the implementation of
7:
382:communicates with its clients, e.g.
55:adding citations to reliable sources
519:The Wayland display server protocol
25:
1285:"Chilton::INF::Window Management"
1244:"The User Interface for Sapphire"
607:and libwayland-server libraries.
239:application programming interface
680:hardware abstraction layer (HAL)
351:of a display and input devices.
217:inside of the window, which are
31:
1192:"HP Windows/9000 User's Manual"
564:Wayland display server protocol
42:needs additional citations for
764:(with a modified Linux kernel)
1:
1197:. Hewlett Packard. April 1988
1140:"Android system architecture"
701:family of operating systems,
366:X Window System core protocol
1289:www.chilton-computing.org.uk
1164:"Android Developer: Surface"
1004:mpx/mux (for the Bell Labs
651:Windowing systems with APIs
174:(GUI) which implements the
1331:
1091:. CRC Press. p. 227.
1001:(VAX Workstation Software)
621:
508:
464:compositing window manager
363:
303:The basic components of a
1224:Communications of the ACM
1012:Symbolics Dynamic Windows
734:List of windowing systems
676:Generic Buffer Management
1263:10.1109/MCG.1984.6429376
1242:Myers, Brad (Dec 1984).
386:, over the X11 protocol.
341:graphical user interface
172:graphical user interface
1051:List of display servers
334:communications protocol
243:communications protocol
201:Each currently running
146:is either drawn by the
894:Desktop Window Manager
770:(on early versions of
723:Desktop Window Manager
709:Desktop Window Manager
543:as well. Examples are
530:
520:
410:-like kernel, such as
397:
387:
320:
151:
136:Typical elements of a
1017:Some systems such as
780:Andrew Window Manager
528:
518:
395:
377:
302:
135:
396:X Window System logo
51:improve this article
1066:Desktop environment
537:Wayland compositors
285:network transparent
1037:and earlier), and
1029:and earlier), the
954:Web Window Manager
630:Mir display server
531:
521:
511:Wayland (protocol)
398:
388:
321:
317:window decorations
219:graphical elements
170:. It is a type of
152:
66:"Windowing system"
1315:Windowing systems
1019:Microsoft Windows
950:General Interface
932:windowing systems
898:Microsoft Windows
888:operating systems
886:Windows NT-family
841:Quartz Compositor
792:Silicon Graphics
789:Whitechapel Oriel
783:Sapphire for the
743:operating systems
728:software rendered
715:Microsoft Windows
703:Quartz Compositor
693:Quartz Compositor
605:libwayland-client
315:merely draws the
229:Technical details
211:window decoration
194:) paradigm for a
144:window decoration
127:
126:
119:
101:
16:(Redirected from
1322:
1299:
1298:
1296:
1295:
1281:
1275:
1274:
1248:
1239:
1233:
1232:
1231:(3). March 1986.
1220:
1212:
1206:
1205:
1203:
1202:
1196:
1188:
1182:
1181:
1174:
1168:
1167:
1160:
1154:
1153:
1151:
1145:. Archived from
1144:
1136:
1130:
1129:
1127:
1126:
1120:"Ozone Overview"
1116:
1110:
1109:
1107:
1105:
1082:
908:ReactOS Explorer
577:to its clients.
267:computer monitor
259:pointing devices
207:tiling interface
160:windowing system
122:
115:
111:
108:
102:
100:
59:
35:
27:
21:
1330:
1329:
1325:
1324:
1323:
1321:
1320:
1319:
1305:
1304:
1303:
1302:
1293:
1291:
1283:
1282:
1278:
1246:
1241:
1240:
1236:
1218:
1214:
1213:
1209:
1200:
1198:
1194:
1190:
1189:
1185:
1176:
1175:
1171:
1162:
1161:
1157:
1149:
1142:
1138:
1137:
1133:
1124:
1122:
1118:
1117:
1113:
1103:
1101:
1099:
1084:
1083:
1079:
1074:
1047:
962:
934:
890:
872:X Window System
862:W Window System
768:HP Windows/9000
745:
736:
711:
695:
658:
653:
626:
620:
533:
532:
513:
507:
448:X Window System
400:
399:
372:
370:X Window System
364:Main articles:
362:
357:
297:
231:
223:widget toolkits
168:display screens
130:
123:
112:
106:
103:
60:
58:
48:
36:
23:
22:
15:
12:
11:
5:
1328:
1326:
1318:
1317:
1307:
1306:
1301:
1300:
1276:
1234:
1207:
1183:
1169:
1155:
1152:on 2016-04-08.
1131:
1111:
1097:
1076:
1075:
1073:
1070:
1069:
1068:
1063:
1061:Widget toolkit
1058:
1053:
1046:
1043:
1031:classic Mac OS
1015:
1014:
1009:
1002:
996:
991:
988:
983:
978:
973:
968:
961:
958:
957:
956:
951:
945:
940:
933:
927:
926:
925:
920:
915:
910:
905:
889:
882:
881:
880:
877:
874:
869:
864:
859:
858:(Text WINdows)
853:
848:
838:
833:
826:
821:
812:
807:
802:
796:
790:
787:
781:
775:
765:
759:
744:
737:
735:
732:
710:
707:
694:
691:
657:
656:SurfaceFlinger
654:
652:
649:
624:Mir (software)
622:Main article:
619:
616:
523:
522:
509:Main article:
506:
503:
390:
389:
361:
358:
356:
353:
325:display server
313:window manager
309:display server
296:
295:Display server
293:
235:display server
230:
227:
196:user interface
148:window manager
128:
125:
124:
39:
37:
30:
24:
14:
13:
10:
9:
6:
4:
3:
2:
1327:
1316:
1313:
1312:
1310:
1290:
1286:
1280:
1277:
1272:
1268:
1264:
1260:
1257:(12): 13–23.
1256:
1252:
1245:
1238:
1235:
1230:
1226:
1225:
1217:
1211:
1208:
1193:
1187:
1184:
1179:
1173:
1170:
1165:
1159:
1156:
1148:
1141:
1135:
1132:
1121:
1115:
1112:
1100:
1098:9780824727178
1094:
1090:
1089:
1081:
1078:
1071:
1067:
1064:
1062:
1059:
1057:
1054:
1052:
1049:
1048:
1044:
1042:
1040:
1036:
1032:
1028:
1024:
1020:
1013:
1010:
1007:
1003:
1000:
997:
995:
992:
989:
987:
984:
982:
979:
977:
974:
972:
969:
967:
964:
963:
959:
955:
952:
949:
946:
944:
941:
939:
936:
935:
931:
928:
924:
921:
919:
916:
914:
913:Classic Shell
911:
909:
906:
903:
899:
895:
892:
891:
887:
883:
878:
875:
873:
870:
868:
865:
863:
860:
857:
854:
852:
849:
846:
842:
839:
837:
834:
831:
827:
825:
822:
820:
816:
813:
811:
808:
806:
803:
800:
797:
795:
791:
788:
786:
782:
779:
776:
773:
769:
766:
763:
760:
758:
754:
750:
747:
746:
742:
738:
733:
731:
729:
724:
720:
719:Windows Vista
716:
708:
706:
704:
700:
692:
690:
686:
683:
681:
677:
671:
668:
666:
662:
655:
650:
648:
646:
641:
639:
635:
631:
625:
617:
615:
613:
608:
606:
602:
597:
595:
591:
587:
583:
578:
576:
572:
571:rendering API
569:
565:
560:
558:
557:Enlightenment
554:
550:
546:
542:
538:
527:
517:
512:
504:
502:
500:
496:
492:
488:
484:
480:
475:
473:
469:
465:
461:
457:
453:
449:
444:
442:
438:
434:
430:
426:
421:
417:
413:
409:
405:
394:
385:
381:
376:
371:
367:
359:
354:
352:
350:
344:
342:
337:
335:
330:
329:window server
326:
318:
314:
310:
306:
301:
294:
292:
290:
286:
281:
279:
275:
270:
268:
264:
260:
256:
252:
251:input devices
248:
244:
240:
236:
228:
226:
224:
220:
216:
212:
208:
204:
199:
197:
193:
189:
185:
181:
177:
173:
169:
165:
164:window system
161:
157:
149:
145:
141:
140:
134:
121:
118:
110:
107:December 2019
99:
96:
92:
89:
85:
82:
78:
75:
71:
68: –
67:
63:
62:Find sources:
56:
52:
46:
45:
40:This article
38:
34:
29:
28:
19:
18:Window system
1292:. Retrieved
1288:
1279:
1254:
1250:
1237:
1228:
1222:
1210:
1199:. Retrieved
1186:
1172:
1158:
1147:the original
1134:
1123:. Retrieved
1114:
1102:. Retrieved
1087:
1080:
1016:
981:Microwindows
767:
712:
697:For Apple's
696:
687:
684:
672:
669:
659:
642:
627:
609:
598:
579:
561:
534:
529:Wayland logo
479:X.Org Server
476:
452:X.Org Server
445:
404:X.Org Server
401:
380:X.Org Server
348:
345:
338:
328:
324:
322:
308:
289:thin clients
282:
271:
232:
200:
163:
159:
153:
137:
113:
104:
94:
87:
80:
73:
61:
49:Please help
44:verification
41:
836:Qt Extended
819:OpenWindows
601:MIT License
590:Sailfish OS
541:compositing
437:framebuffer
263:touchscreen
241:(API) or a
203:application
1294:2023-04-11
1201:2021-10-26
1125:2017-08-20
1072:References
904:and later)
594:AsteroidOS
433:KMS driver
274:programmer
253:, such as
77:newspapers
1033:(version
1008:terminal)
976:Intuition
896:(DWM) in
828:Orbital (
741:Unix-like
634:Canonical
156:computing
1309:Category
1271:11138733
1045:See also
824:NeXT DPS
721:onward,
612:ChromeOS
491:Cygwin/X
349:services
255:keyboard
1039:Palm OS
994:Visi On
986:MiniGUI
923:RetroUI
867:Wayland
851:SunView
805:Metisse
799:ManaGeR
717:, from
665:Android
505:Wayland
487:XQuartz
483:XFree86
272:From a
215:widgets
192:pointer
180:windows
91:scholar
1269:
1104:8 June
1095:
757:Plan 9
661:Google
638:Ubuntu
603:, the
582:Fedora
549:Mutter
545:Weston
468:Mutter
384:Amarok
307:: The
247:kernel
142:. The
139:window
93:
86:
79:
72:
64:
1267:S2CID
1247:(PDF)
1219:(PDF)
1195:(PDF)
1150:(PDF)
1143:(PDF)
960:Other
948:TIBCO
943:ExtJS
918:Pokki
902:Vista
879:Xynth
876:XFast
845:macOS
830:Redox
801:(MGR)
772:HP-UX
699:macOS
645:GPLv3
586:Tizen
575:evdev
420:evdev
412:Linux
278:fonts
261:, or
188:menus
184:icons
98:JSTOR
84:books
1106:2017
1093:ISBN
1006:Blit
990:OOHG
938:Dojo
884:For
856:Twin
815:NeWS
785:PERQ
762:fbui
755:for
751:and
739:For
713:For
628:The
592:and
553:KWin
497:and
495:Xlib
489:and
472:KWin
458:and
456:Xlib
454:and
408:Unix
378:The
368:and
176:WIMP
162:(or
158:, a
70:news
1259:doi
999:VWS
971:GEM
930:Web
810:Mir
794:MEX
778:CMU
753:rio
618:Mir
568:EGL
555:or
499:XCB
470:or
460:XCB
441:GLX
431:or
429:gem
425:DRM
416:BSD
414:or
360:X11
327:or
305:GUI
154:In
53:by
1311::
1287:.
1265:.
1253:.
1249:.
1229:29
1227:.
1221:.
1027:9x
1025:,
1023:XP
966:DM
817:/
749:8½
647:.
614:.
596:.
588:,
559:.
551:,
547:,
501:.
485:,
481:,
474:.
443:.
427:,
323:A
291:.
257:,
225:.
198:.
190:,
186:,
182:,
1297:.
1273:.
1261::
1255:4
1204:.
1180:.
1166:.
1128:.
1108:.
1035:9
1021:(
900:(
847:)
843:(
832:)
774:)
178:(
120:)
114:(
109:)
105:(
95:·
88:·
81:·
74:·
47:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.