<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF141:Wayland - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF141:Wayland&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Wed, 13 May 2026 23:58:18 GMT</lastBuildDate>
		<item>
			<title>Crazy Rebel: викификация, оформление, иллюстрация</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF141:Wayland&amp;diff=13737&amp;oldid=prev</link>
			<description>&lt;p&gt;викификация, оформление, иллюстрация&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: '''''Wayland''''' Пер­вое зна­ком­ст­во&lt;br /&gt;
&lt;br /&gt;
==Про­рыв в гра­фи­ке==&lt;br /&gt;
&lt;br /&gt;
'''Алек­сандр Тол­стой''' по­зна­ко­мит вас с но­вей­шим гра­фи­че­ским сер­ве­ром, ко­то­рый, по­хо­же, мо­жет вско­ре прий­ти на сме­ну на­бив­шим ос­ко­ми­ну «ик­сам».&lt;br /&gt;
&lt;br /&gt;
Вре­мя от вре­мени че­ло­ве­че­­ст­во со­вер­ша­ет от­кры­тия, ко­то­рые рез­ко под­стё­ги­ва­ют про­гресс и по­па­да­ют за­тем в школь­ные учебники. Это мо­жет быть изо­бре­тением лам­пы на­ка­ли­вания, пер­вым по­лё­том в космос или свое­вре­мен­ной достав­кой ва­ше­го лю­би­мо­го жур­на­ла че­рез Поч­ту России... Пря­мо сей­час мир Linux за­та­ив ды­хание смот­рит на но­вей­шую тех­но­ло­гию, из­вест­ную как ''Wayland''. Что это та­кое, и по­че­му во­круг этой тех­но­ло­гии так мно­го шу­ма? Да­вай­те по­смот­рим по­бли­же.&lt;br /&gt;
&lt;br /&gt;
''Wayland'' – но­вый гра­фи­че­­ский сер­вер, по­зи­циониру­емый как за­ме­на тра­ди­ци­он­но­му ''X11''. Не сле­ду­ет недо­оценивать эту за­яв­ку: в ми­ре сво­бод­ных UNIX-по­доб­ных ОС это пер­вый слу­чай за по­следние 24 го­да, когда пред­ло­же­на аль­тер­на­ти­ва ''X Window System''. Как из­вест­но, сис­те­ма ''X11'' поя­ви­лась в 1987 го­ду как 11‑я вер­сия про­ек­та «''Х''», раз­ви­вае­мо­го в сте­нах MIT. Сам про­ект дис­плей­но­го сер­ве­ра стар­то­вал ещё в 1984. За­вер­шая на­ше­ ис­то­ри­че­­ское всту­п­ление, от­ме­тим, что ''X''-сер­вер был пор­ти­ро­ван на Linux ле­том 1992 го­да бла­го­да­ря уси­ли­ям ха­ке­ров из про­ек­та ''Xfree86''. С это­го мо­мен­та Linux пе­ре­стал вы­гля­деть как чёр­ная кон­соль, и возник­ло по­ня­тие «ра­бо­че­го про­стран­ст­ва». Все на­ши гра­фи­че­­ские при­ло­жения, от брау­зе­ра до эф­фек­тов ''Compiz'', воз­мож­ны толь­ко бла­го­да­ря ''X''-сер­ве­ру, на ко­то­ром зи­ж­дет­ся вся гра­фи­ка в Linux.&lt;br /&gt;
&lt;br /&gt;
Но вот на­конец по­дул ве­тер пе­ре­мен, и на ме­сто ''X11'' стал пре­тен­до­вать ''Wayland''. Это но­вый дис­плей­ный сер­вер, на­пи­сан­ный с ну­ля и об­ла­даю­щий бо­лее ра­цио­наль­ной и со­вре­мен­ной ар­хи­тек­ту­рой. Из этой ста­тьи вы уз­нае­те о пре­иму­ще­ст­вах ''Wayland'', вы­ясните, как он уст­ро­ен, и нау­чи­тесь его за­пускать. Ес­те­ст­вен­но, мы обя­за­тель­но рас­ска­жем о том, как уста­но­вить на свой бое­вой сер­вер по­след­нюю неста­биль­ную вер­сию ''Wayland'' и пол­но­стью до­ве­рить ему управ­ление гра­фи­кой... По­че­му бы и нет – ведь к кон­цу это­го го­да Ubuntu и Fedora ин­тег­ри­ру­ют ''Wayland'' в свои све­жие ре­ли­зы, так что сле­ди­те за но­во­стя­ми!&lt;br /&gt;
&lt;br /&gt;
===Чем ''Wayland'' луч­ше?===&lt;br /&gt;
&lt;br /&gt;
Клас­си­че­­ская ар­хи­тек­ту­ра ''X Window'' под­ра­зу­ме­ва­ет, что ва­ши мо­нитор, кла­виа­ту­ра и мышь управ­ля­ют­ся Сер­ве­ром, а все при­ло­жения яв­ля­ют­ся Кли­ен­том. При­ло­жения об­ща­ют­ся с Сер­ве­ром, за­пра­ши­вая у него от­ри­сов­ку ок­на, об­ра­бот­ку вво­да с кла­виа­ту­ры и дви­жений мы­ши, 3D-рен­де­ринг и т. д. Со­вре­мен­ный ра­бо­чи стол Linux со­дер­жит «под ка­по­том» це­лую стоп­ку сло­ёв от­ри­сов­ки и об­ра­бот­ки про­зрач­но­сти, и всё это во­дру­же­но на за­пу­щен­ный ''X''-сер­вер. Об­ра­ти­те внимание, что яд­ро Linux тут вы­пол­ня­ет вто­ро­сте­пен­ную роль.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF141_49_1.jpg|300px]] При­мер­но так ''X Window System'' ра­бо­та­ет сей­час.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Как раз это и де­ла­ет ''Wayland'' непо­хо­жим на сво­его пред­ше­ст­венника. В ''Wayland'' боль­шин­ст­во «гряз­ной» ра­бо­ты доста­ёт­ся яд­ру: раз­ре­шение эк­ра­на ре­гу­ли­ру­ет­ся ре­жи­мом ''KMS'' (Kernel Modesetting), а со­бы­тия от кла­виа­ту­ры и мы­ши управ­ля­ют­ся че­рез ''evdev''. Сам ''Wayland'' за­пуска­ет­ся по­верх эк­ран­но­го ре­жи­ма ''KMS'' и об­слу­жи­вает ис­клю­чи­тель­но окна, от­ве­ча­я за их от­ри­сов­ку и пе­ре­ри­сов­ку, пе­ре­тас­ки­вание объ­ек­тов мы­шью, функ­ции окон­но­го де­ко­ра­то­ра-менед­же­ра, взаи­мо­дей­ст­вие окон. При­ме­ча­тель­но, что со­дер­жи­мое ка­ж­до­го ок­на вы­во­дит­ся на эк­ран без уча­стия дис­плей­но­го сер­ве­ра, то есть на­пря­мую че­рез ''OpenGL'' или ин­тер­фейс­ную биб­лио­те­ку ''Cairo''. Та­ким об­ра­зом, ме­ж­ду при­ло­жением и ви­део­вы­во­дом ис­че­за­ет сра­зу несколь­ко сло­ёв аб­ст­рак­ций. То, что рань­ше бы­ло реа­ли­зо­ва­но че­рез рас­ши­рения ''X'', те­перь ра­бо­та­ет на­пря­мую с ядром и управ­ляе­мым им уст­рой­ст­вом вы­во­да.&lt;br /&gt;
&lt;br /&gt;
Конеч­но­му поль­зо­ва­те­лю это да­ёт ви­ди­мые пре­иму­ще­ст­ва: плав­ное воспро­из­ве­дение филь­мов (без рыв­ков, «сту­пенек» и мор­гания), мень­ше про­блем с 3D, а так­же по­вы­шение про­из­во­ди­тель­но­сти и от­зыв­чи­во­сти ра­бо­че­го сто­ла. Са­мое вре­мя те­перь за­су­чить ру­ка­ва и уста­но­вить ''Wayland''.&lt;br /&gt;
&lt;br /&gt;
===Пе­ред уста­нов­кой===&lt;br /&gt;
&lt;br /&gt;
Вам сле­ду­ет знать, что ''Wayland'' на­хо­дит­ся на раннем эта­пе раз­ви­тия, по­это­му ста­биль­но­го ре­ли­за, как та­ко­во­го, нет. Во гла­ве раз­ра­бот­ке сто­ит Кри­сти­ан Хёгс­берг [Kristian Høgsberg], ха­кер из Intel, а сам код раз­ме­щён в ви­де де­ре­ва ''Git'' на сер­ве­рах Freedesktop.&lt;br /&gt;
&lt;br /&gt;
На те­ку­щий мо­мент ''Wayland'' мо­жет быть за­пу­щен ли­бо как са­мо­стоя­тель­ный дис­плей­ный сер­вер (ника­ко­го X11 не тре­бу­ет­ся), ли­бо как кли­ент внут­ри ва­ше­го ра­бо­че­го сто­ла. Во втором слу­чае вы смо­же­те бы­ст­ро и удоб­но «по­вер­теть в ру­ках» но­вую тех­но­ло­гию, но уско­рения не уви­ди­те, поскольку всё бу­дет про­ис­хо­дить внут­ри ''X11''.&lt;br /&gt;
&lt;br /&gt;
Ба­зо­вый про­то­кол и основ­ные биб­лио­те­ки ''Wayland'' уже до­де­ла­ны, и сто­ронние при­ло­жения мо­гут ис­поль­зо­вать их для рен­де­рин­га ин­тер­фей­са. Труд­но­сти на дан­ном эта­пе ка­са­ют­ся как раз кли­ент­ских при­ло­жений: для ра­бо­ты с но­вым сер­ве­ром тре­бу­ет­ся, что­бы ''Qt'' и ''GTK'' бы­ли пор­ти­ро­ва­ны на ''Wayland''. Эта ра­бо­та сей­час ак­тив­но ве­дёт­ся (осо­бен­но над ''GTK''), но пол­но­стью ни од­на «боль­шая» про­грам­ма не пе­ренесе­на, и нам при­хо­дит­ся до­воль­ст­во­вать­ся несколь­ки­ми де­мон­ст­ра­ци­он­ны­ми шту­ка­ми, вро­де ле­таю­щих цвет­ков, кру­тя­щих­ся шес­те­рё­нок и т. п.&lt;br /&gt;
&lt;br /&gt;
Обя­за­тель­но нуж­но упо­мя­нуть о сис­тем­ных тре­бо­ваниях ''Wayland''. Что­бы всё по­лу­чи­лось, вам по­на­до­бит­ся ра­бо­таю­щее OpenGL-уско­рение и вклю­чён­ный ре­жим ''KMS''. Как уже го­во­ри­лось вы­ше, ''KMS'' управ­ля­ет ви­део­ре­жи­мом (в ши­ро­ком смыс­ле) и ра­бо­та­ет с от­кры­ты­ми драй­ве­ра­ми ''intel, radeon'' и ''nouveau'' для, со­от­вет­ст­вен­но, ви­део­чи­пов Intel, Ati/AMD и Nvidia. Есть и ещё од­но тре­бо­вание: нуж­но, что­бы рен­де­ринг че­рез DRI под­дер­жи­вал «пе­ре­бро­ску» страниц [page-flipping] – без это­го ''Wayland'' не смо­жет ра­бо­тать в «род­ном» ре­жи­ме. Пока что под­держ­ка '''pageflipping ioctl''' реа­ли­зо­ва­на толь­ко для драй­ве­ров ''intel'' и ''nouveau'', по­это­му вла­дель­цы карт Radeon смо­гут за­пустить но­вый дис­плей­ный сер­вер по­ка толь­ко внут­ри «ик­сов». Вла­дель­цам карт Nvidia сле­ду­ет уда­лить про­прие­тар­ный фир­мен­ный драй­вер и уста­но­вить от­кры­тый драй­вер ''nouveau'' с тем, что­бы за­дей­ст­во­вать ''KMS''.&lt;br /&gt;
&lt;br /&gt;
===Мыс­ли об уста­нов­ке===&lt;br /&gt;
&lt;br /&gt;
По­смот­рев на спи­сок за­ви­си­мо­стей ''Wayland'', уже мож­но при­мер­но пред­ста­вить, из че­го он со­сто­ит и с чем его едят. По­сколь­ку ''Wayland'' ак­тив­но за­дей­ст­ву­ет OpenGL, бу­дет ра­зум­ным по­ста­вить се­бе но­вей­шую вер­сию ''Mesa''. Что­бы сиг­на­лы ''evdev'' от яд­ра бы­ли по­нят­ны ''Wayland'', по­на­до­бит­ся про­ме­жу­точ­ная биб­лио­те­ка ''libxkbcommon''. На­конец, ото­бра­жение ин­тер­фей­са в ''Wayland'' невоз­мож­но без ''Cairo-GL'' – экс­пе­ри­мен­таль­но­го движ­ка ''Cairo'', ко­то­рый пре­достав­ля­ет API для при­ло­жений. Обеспечив работу всего пе­ре­чис­лен­ного, вы смо­же­те за­пустить сам ''Wayland''.&lt;br /&gt;
&lt;br /&gt;
Спо­соб уста­нов­ки бу­дет от­ли­чать­ся в за­ви­си­мо­сти от ва­ше­го ди­ст­ри­бу­ти­ва Linux. По­пу­ляр­ные Ubuntu и Fedora пред­ла­га­ют го­то­вые дво­ич­ные па­ке­ты, из­бав­ляя вас от необ­хо­ди­мо­сти что-ли­бо ком­пи­ли­ро­вать. Ес­ли же у вас бо­лее ред­кий ди­ст­ри­бу­тив, ли­бо вам хо­чет­ся прин­ци­пи­аль­но всё сде­лать «ру­ка­ми», то припаси­те нуж­ный ин­ст­ру­мен­та­рий: стан­дарт­ный на­бор средств раз­ра­бот­ки плюс за­го­ло­воч­ные фай­лы всех па­ке­тов, от ко­то­рых за­ви­сит ''Wayland''. Ес­ли вы не уве­ре­ны в се­бе, по­чи­тай­те врез­ки к этой ста­тье и убе­ди­тесь, что вы понимае­те всё, что со­би­рае­тесь де­лать. &lt;br /&gt;
&lt;br /&gt;
Не­смот­ря на то, что ''Wayland'' вряд ли смо­жет что-то на­пор­тить в ва­шей сис­те­ме, луч­ше всё-та­ки сде­лать ре­зерв­ные ко­пии важ­ных дан­ных на внешний но­си­тель.&lt;br /&gt;
&lt;br /&gt;
===Для Ubuntu и Fedora===&lt;br /&gt;
&lt;br /&gt;
В но­яб­ре про­шло­го го­да Марк Шатт­л­ворт на­пи­сал, что ''Wayland'' бу­дет ин­тег­ри­ро­ван в Ubuntu уже в 2011 го­ду. На дан­ный мо­мент, для то­го, что­бы про­тес­ти­ро­вать но­вую тех­но­ло­гию, вам нуж­но взять па­ке­ты из спе­ци­аль­но­го PPA-ре­по­зи­то­рия для Ubuntu 10.10.&lt;br /&gt;
&lt;br /&gt;
Про­де­лай­те сле­дую­щее:&lt;br /&gt;
# Ус­та­но­ви­те све­жую вер­сию ''Mesa'' с экс­пе­ри­мен­таль­ной биб­лио­те­кой DRI: ''sudo apt-get install libgl1-mesa-dri-experimental''&lt;br /&gt;
# До­бавь­те те­ку­ще­го поль­зо­ва­те­ля в груп­пу '''video''', что­бы ''Wayland'' мог ра­бо­тать с ва­шим обо­ру­до­ва­ни­ем без прав ад­ми­ни­ст­ра­то­ра: ''usermod -a -G video ва­ше_имя''&lt;br /&gt;
# До­бавь­те в спи­сок ре­по­зи­то­ри­ев све­де­ния о PPA-стра­ни­це Xorg-Edgers: ''sudo add-apt-repository ppa:xorg-edgers/wayland''&lt;br /&gt;
# Об­но­ви­те спи­сок ре­по­зи­то­ри­ев и ус­та­но­ви­те ''Wayland'': ''sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install wayland''&lt;br /&gt;
&lt;br /&gt;
Вот и всё, и ни­ка­ких гряз­ных рук!&lt;br /&gt;
&lt;br /&gt;
Адам Джек­сон из Red Hat недав­но на­пи­сал в спи­ске рас­сыл­ки Fedora: «Ско­рее все­го, ''Wayland'' бу­дет досту­пен в F15 как тех­но­ло­гия, с ко­то­рой мож­но бу­дет по­иг­рать». Хотя Fedora 15 ещё не вы­шла (на мо­мент на­пи­сания ста­тьи), уже до­ступ­ны го­то­вые па­ке­ты из раз­ра­ба­ты­вае­мой вер­сии, пригодные и для Fedora 14. Несмот­ря на их неста­биль­ность, ­поль­зо­ваться ими вполне безо­пас­но. Сде­лай­те сле­дую­щее:&lt;br /&gt;
&lt;br /&gt;
# На минутку ак­ти­ви­руй­те ре­по­зи­то­рий Rawhide (не­ста­биль­ные па­ке­ты) и ус­та­но­ви­те но­вей­шую вер­сию ''Mesa'', не­об­хо­ди­мую для ''Wayland'' (заодно ус­та­новятся и не­ко­то­рые за­ви­си­мо­сти для ''Mesa''): ''su - &amp;amp;&amp;amp; yum --enablerepo=rawhide install mesa-libGLES''&lt;br /&gt;
# За­гру­зи­те па­ке­ты, лю­без­но под­го­тов­лен­ные Koji из со­об­ще­ст­ва Fedora: http://kojipkgs.fedoraproject.org/packages/wayland/0.1/0.1.20101111.fc15/ Вам по­на­до­бят­ся ''libwayland-client, libwayland-server, wayland'' и ''wayland-common''. Сверьтесь с ар­хи­тек­ту­рой па­ке­тов: по это­му ад­ре­су дос­туп­ны вер­сии и для 32-бит­ных сис­тем (i686), и для 64-бит­ных (x86_64).&lt;br /&gt;
# Ус­та­но­ви­те за­гру­жен­ные RPM-па­ке­ты. От­крой­те тер­ми­нал для пап­ки, в ко­то­рой ле­жат па­ке­ты, и ско­ман­дуй­те: ''su - &amp;amp;&amp;amp; rpm -Uvh *wayland*rpm''&lt;br /&gt;
&lt;br /&gt;
Го­то­во! Ре­цепт для Fedora ока­зал­ся не та­ким уж и слож­ным.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF141_50_1.jpg|300px]] С ''Wayland'' от­дель­ный ин­ст­ру­мент для ком­по­зи­тин­га не ну­жен: всё уже встрое­но в сер­вер дис­плея. Ста­рые при­ло­же­ния мож­но за­пус­тить внут­ри вло­жен­но­го ''X''-сер­ве­ра, ко­то­рый од­но­вре­мен­но яв­ля­ет­ся кли­ен­том в ''Wayland''.|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Сбор­ка из ис­ход­ни­ков===&lt;br /&gt;
&lt;br /&gt;
Ес­ли вы во­ро­ти­те нос от дво­ич­ных па­ке­тов и считае­те, что джигит дол­жен со­би­рать всё сам, по­че­му бы не ском­пи­ли­ро­вать ''Wayland''.&lt;br /&gt;
&lt;br /&gt;
На­вер­ное, нет ну­ж­ды на­по­ми­нать, что вам по­на­до­бит­ся на­бор ин­ст­ру­мен­тов для сбор­ки про­грамм­но­го обес­пе­чения из ис­ход­но­го ко­да. В за­ви­си­мо­сти от вашего ди­ст­ри­бу­ти­ва Linux со­став ин­ст­ру­мен­та­рия раз­ра­бот­чи­ка бу­дет от­ли­чать­ся. В до­ку­мен­та­ции от ва­ше­го по­став­щи­ка Linux всегда мо­жно уточнить детали. Но, так или ина­че, вот неко­то­рые кон­крет­ные со­ве­ты:&lt;br /&gt;
* Ес­ли вы ис­поль­зуе­те Debian или род­ст­вен­ные ему ди­ст­ри­бу­ти­вы (вклю­чая все ва­ри­ан­ты *Ubuntu), бу­дет удоб­но восполь­зо­вать­ся ме­та­па­ке­том ''build-essential''. Ско­ман­до­вав ''sudo apt-get install build-essential'', вы сра­зу уста­но­ви­те на­бор па­ке­тов, необ­хо­ди­мых для сбор­ки из ис­ход­ных тек­стов. Так­же удоб­но ис­поль­зо­вать ''sudo apt-get build-dep имя_па­ке­та'' для ав­то­ма­ти­че­­ской уста­нов­ки за­ви­си­мо­стей для сбор­ки ука­зан­но­го па­ке­та из ис­ход­ных тек­стов.&lt;br /&gt;
* Поль­зо­ва­те­ли ди­ст­ри­бу­ти­вов, осно­ван­ных на Red Hat/Fedora (на­при­мер, CentOS), мо­гут так­же уста­нав­ли­вать груп­пы па­ке­тов по­сред­ст­вом ''yum''. На­при­мер, ко­ман­да'' yum groupinstall “Development Tools”'' уста­но­вит ба­зо­вый на­бор для раз­ра­бот­ки и сбор­ки ПО. Ко­ман­да ''yum-builddep'' уме­ет уста­нав­ли­вать за­ви­си­мо­сти, необ­хо­ди­мые для сбор­ки ука­зан­но­го па­ке­та из ис­ход­ных тек­стов, так что не за­бы­вай­те и про неё.&lt;br /&gt;
* Ес­ли у вас ка­кой-ли­бо дру­гой ди­ст­ри­бу­тив, по­ста­рай­тесь ис­сле­до­вать его па­кет­ный менед­жер. В боль­шин­ст­ве слу­ча­ев вы най­дё­те оп­цию уста­нов­ки групп па­ке­тов, и сре­ди этих групп бу­дет раз­дел, свя­зан­ный с раз­ра­бот­кой.&lt;br /&gt;
* Сре­ди за­ви­си­мо­стей ''Wayland'' сто­ит упо­мя­нуть ''gdk-pixbuf-2.0, libudev, libdrm, xcb-dri2, xcb-fixes'' (для ком­по­зи­тин­га в ''X''), ''cairo-gl, glib-2.0, gdk-2.0'' (для ''poppler'') и ''poppler-glib''. Убе­ди­тесь, что у вас уста­нов­ле­ны фай­лы для раз­ра­бот­ки с ис­поль­зо­ванием этих па­ке­тов ('''*-devel''' или '''*-dev'').&lt;br /&gt;
&lt;br /&gt;
Мы пом­ним, что ''Wayland'' тре­бу­ет вер­сию ''Mesa'' со сте­ком EGL, по­это­му для на­ча­ла имен­но его и со­бе­рём:&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://anongit.freedesktop.org/mesa/mesa&lt;br /&gt;
 $ cd mesa&lt;br /&gt;
 $ ./configure --prefix=$HOME/install --enable-egl --enable-gles2&lt;br /&gt;
 $ make &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
Об­ра­ти­те вни­ма­ние, что на­чи­ная с вер­сии 7.9 EGL бу­дет вклю­чён в ос­нов­ную вет­ку ''Mesa'', и в бу­ду­щем вы смо­же­те про­пус­тить этот шаг и про­сто об­но­вить ''Mesa'' и её за­ви­си­мо­сти.&lt;br /&gt;
&lt;br /&gt;
Те­перь ском­пи­ли­ру­ем ''xkbcommon'', ко­то­рый ну­жен для транс­ля­ции со­бы­тий ''evdev'' в сиг­на­лы ''Wayland''. Про­ще го­во­ря, без это­го не бу­дет под­держ­ки кла­виа­ту­ры:&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://people.freedesktop.org/~krh/libxkbcommon.git&lt;br /&gt;
 $ cd libxkbcommon/&lt;br /&gt;
 $ ./autogen.sh --prefix=$HOME/install&lt;br /&gt;
 $ make &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
Что­бы лю­бое при­ло­же­ние в ''Wayland'' ото­бра­жа­ло ин­тер­фейс­ные эле­мен­ты управ­ле­ния, не­об­хо­ди­ма век­тор­ная гра­фи­че­ская биб­лио­те­ка с под­держ­кой GL-вы­во­да. По­ка что этим мо­жет по­хва­стать­ся толь­ко ''Cairo''. Со­бе­рём ''cairo-gl'':&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://anongit.freedesktop.org/cairo&lt;br /&gt;
 $ cd cairo&lt;br /&gt;
 $ ./autogen.sh --prefix=$HOME/install --enable-gl&lt;br /&gt;
 $ make &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
Опять же, на­чи­ная с вер­сии 1.10, в ''Cairo'' по умол­ча­нию бу­дет под­дер­жи­вать­ся вы­вод че­рез GL, так что сле­ди­те за вер­сия­ми ва­ше­го ПО.&lt;br /&gt;
&lt;br /&gt;
Те­перь са­мое вре­мя ско­пи­ро­вать из GIT-ре­по­зи­то­рия на­ше­го глав­но­го ге­роя:&lt;br /&gt;
&lt;br /&gt;
 $ git clone git://people.freedesktop.org/~krh/wayland&lt;br /&gt;
 $ aclocal; autoconf; ./configure --prefix=$HOME/install&lt;br /&gt;
 $ make &amp;amp;&amp;amp; make install&lt;br /&gt;
&lt;br /&gt;
Ес­ли всё прой­дёт глад­ко, то че­рез не­ко­то­рое вре­мя в ва­шей сис­те­ме бу­дет ус­та­нов­лен ''Wayland''. Но рас­слаб­ля­ться прежде­временно: что­бы дать ''Wayland'' возможность оп­ре­де­лить ва­ше ви­део­ус­т­рой­ст­во, ско­пи­руй­те файл '''70-wayland.rules''' из де­ре­ва ис­ход­но­го ко­да в пап­ку '''/etc/udev/rules.d''', по­сле чего введи­те ко­ман­ду&lt;br /&gt;
&lt;br /&gt;
 udevadm trigger --subsystem-match=drm –subsystem-match=input.&lt;br /&gt;
&lt;br /&gt;
===За­пус­ка­ем ''Wayland''===&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Содержание=[[Изображение:LXF141_51_1.jpg|300px]] Ес­ли вы осоз­наё­те всю важ­ность мо­мен­та, то долж­ны по­чув­ст­во­вать хо­ло­док в пят­ках...|Ширина=300px}}&lt;br /&gt;
&lt;br /&gt;
Ес­ли вы ви­ди­те свой ра­бо­чий стол, то оче­вид­но, что ''X''-сер­вер уже ра­бо­та­ет. В та­ком со­стоянии ''Wayland'' мо­жет быть за­пу­щен толь­ко как кли­ент внут­ри ''X11'', а зна­чит, управ­ление кла­виа­ту­рой и мы­шью так­же бу­дет во вла­сти ''X''-сер­ве­ра. В этом слу­чае вам не тре­бу­ет­ся ре­жим ''KMS'', и в це­лом та­кой спо­соб по­зво­ля­ет наи­бо­лее про­сто, безо­пас­но и без­бо­лезнен­но тес­ти­ро­вать ''Wayland''. Для пол­но­цен­но­го за­пуска ''Wayland'' в «род­ном» ре­жи­ме вы долж­ны вый­ти из ''X''-сер­ве­ра и перебрать­ся в чёр­ную кон­со­ль Linux. Для это­го мож­но, к при­ме­ру, пе­ре­клю­чить­ся на дру­гой вир­ту­аль­ный тер­ми­нал (на­жми­те '''Ctrl-Alt-F1''', что­бы ока­зать­ся в '''tty1'''), ли­бо за­гру­зить всю сис­те­му в ре­жим команд­ной стро­ки. &lt;br /&gt;
&lt;br /&gt;
По­следнее дости­жи­мо мно­ги­ми пу­тя­ми, но боль­шин­ст­во пред­по­чи­та­ет ис­поль­зо­вать '''runlevel 3''' (уро­вень за­пуска 3). Как из­вест­но, в Linux сна­ча­ла за­пуска­ют­ся все сис­тем­ные служ­бы (уро­вень 3), а за­тем гра­фи­че­­ское при­гла­шение и ра­бо­чий стол (уро­вень 5). На­при­мер, в Fedora ко­ман­да ''sudo /sbin/init 3'' вы­клю­чит ра­бо­чий стол вме­сте с ''X''-сер­ве­ром и вер­нёт вас в тё­п­лую лам­по­вую команд­ную стро­ку.&lt;br /&gt;
&lt;br /&gt;
Не за­будь­те про­ве­рить, ра­бо­та­ет ли у вас ''KMS''. Ко­гда все про­вер­ки бу­дут сде­ла­ны, за­пус­ти­те ''Wayland'':&lt;br /&gt;
&lt;br /&gt;
 wayland-compositor &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Те­перь за­пус­тим де­мон­ст­ра­ци­он­ные при­ло­же­ния:&lt;br /&gt;
&lt;br /&gt;
 wayland-dnd &amp;amp; wayland-flower &amp;amp; wayland-gears &amp;amp; wayland-terminal&lt;br /&gt;
&lt;br /&gt;
Вы долж­ны уви­деть не­что по­хо­жее на кар­тин­ку. По умол­ча­нию с ''Wayland'' по­став­ля­ет­ся не­сколь­ко на­гляд­ных тес­то­вых при­ло­же­ний, та­ких как ок­но для пе­ре­тас­ки­ва­ния объ­ек­тов мы­шью, кру­тя­щие­ся шес­тер­ни (смот­ри­те, OpenGL ра­бо­та­ет!), тер­ми­нал и ещё не­сколь­ко. Пол­но­стью их спи­сок мож­но по­смот­реть, на­брав ко­ман­ду ''/usr/bin/wayland*''. Вы долж­ны уви­деть при­мер­но сле­дую­щее:&lt;br /&gt;
&lt;br /&gt;
 /usr/bin/wayland-compositor 	 /usr/bin/wayland-screenshot&lt;br /&gt;
 /usr/bin/wayland-dnd 	 /usr/bin/wayland-smoke&lt;br /&gt;
 /usr/bin/wayland-flower 	 /usr/bin/wayland-terminal&lt;br /&gt;
 /usr/bin/wayland-gears 	 /usr/bin/wayland-view&lt;br /&gt;
 /usr/bin/wayland-image&lt;br /&gt;
&lt;br /&gt;
В прин­ци­пе, это все кли­ент­ские при­ло­жения, ко­то­рые на дан­ный мо­мент су­ще­ст­ву­ют для ''Wayland''. С по­мо­щью ''wayland-terminal'' вы мо­же­те за­пустить внут­ри ''Wayland'' пол­но­цен­ный ''X''-сер­вер и да­же ва­ши лю­би­мые Gnome, KDE и про­чие DE с про­грам­ма­ми для них. Этот ре­жим обе­ща­ет быть ак­ту­аль­ным ещё дол­го, так как для пол­но­цен­но­го пор­ти­ро­вания всех по­пу­ляр­ных Linux-при­ло­жений на ''Wayland'' тре­бу­ет­ся мно­го вре­мени. Си­туа­ция во мно­гом по­хо­жа на при­ло­жения ''X11'' для Mac OS X, ко­то­рые дол­гое вре­мя «вкла­ды­ва­лись» внутрь ра­бо­че­го сто­ла по­доб­ным же об­ра­зом.&lt;br /&gt;
&lt;br /&gt;
{{Врезка|Заголовок=Скорая помощь|Содержание=Луч­ше все­го за­пус­кать ''Wayland'' на на­стоя­щей ап­па­рат­ной кон­фи­гу­ра­ции, так как в вир­ту­аль­ной сре­де ''Wayland'' во­об­ще не бу­дет ра­бо­тать в «род­ном» ре­жи­ме. К сча­стью, все от­но­си­тель­но но­вые ви­део­кар­ты уже под­дер­жи­ва­ют­ся.|Ширина=200px}}&lt;br /&gt;
&lt;br /&gt;
===На­после­док===&lt;br /&gt;
&lt;br /&gt;
Са­мое зна­чи­тель­ная под­держ­ка в де­ле про­дви­жения ''Wayland'' на ра­бо­чий стол ис­хо­дит от про­ек­та ''Unity'' – но­во­го ра­бо­че­го ок­ру­жения, из­на­чаль­но раз­ра­ба­ты­вае­мо­го в Canonical для нетбу­ков и ма­лень­ких эк­ра­нов. Те­перь стало из­вест­но, что ''Unity'' бу­дет внедрять­ся в Ubuntu как сре­да по умол­чанию уже в этом го­ду. Так как ''Unity'' осно­ван на ''GTK'', это да­ёт тол­чок мно­же­ст­ву раз­ра­бот­чи­ков, ко­то­рые те­перь бу­дут пе­ре­во­дить свои при­ло­жения на ''Wayland''. Так или ина­че, но в этом го­ду нас ждёт мно­го ин­те­рес­но­го!&lt;br /&gt;
&lt;br /&gt;
Слож­но ска­зать, го­то­вы ли уже поль­зо­ва­те­ли к пе­ре­ходу на ''Wayland'', но до­под­лин­но из­вест­но, что сей­час в Ин­тернете об­су­ж­да­ет­ся два важ­ных мо­мен­та. Пер­вый свя­зан с пре­кра­щением под­держ­ки ста­ро­го обо­ру­до­вания, вто­рой – с ут­ра­той т. н. «се­те­вой про­зрач­но­сти», ко­то­рой всегда гор­ди­лись апо­ло­ге­ты ''X''. Дей­ст­ви­тель­но, ни один ви­део­чип, ко­то­рый не под­дер­жи­ва­ет ра­бо­ту в ре­жи­ме ''KMS'', не смо­жет ра­бо­тать с ''Wayland'' и бу­дет счи­тать­ся несо­вмес­ти­мым. С дру­гой сто­ро­ны, к мо­мен­ту обо­ст­рения дан­ной про­бле­мы та­кие ви­део­чи­пы уже объ­ек­тив­но уста­ре­ют, и их бу­дет не осо­бен­но жал­ко. Так­же, несмот­ря на от­сут­ст­вие се­те­вой ар­хи­тек­ту­ры в ''Wayland'', никто не ме­ша­ет реа­ли­зо­вать уда­лён­ную ра­бо­ту че­рез ''VNC'' или ана­ло­гич­ный про­то­кол.&lt;br /&gt;
&lt;br /&gt;
При этом пре­иму­ще­ст­ва ''Wayland'' го­раз­до бо­лее яр­кие, чем ка­жет­ся. Но­вый лёг­кий и очень бы­ст­рый дис­плей­ный сер­вер иде­аль­но под­хо­дит для не­тбу­ков, ком­му­ни­ка­то­ров и про­чих уст­ройств с не­боль­шой вы­чис­ли­тель­ной мо­щью. Вме­сте c ''Wayland'' и со­об­ще­ст­вом, Linux на­ко­нец за­вою­ет Зем­лю, со­сед­ние га­лак­ти­ки и Все­лен­ную. Раз­ве не это­го мы все ждём?&lt;br /&gt;
&lt;br /&gt;
===На­страи­ва­ем KMS===&lt;br /&gt;
&lt;br /&gt;
Пер­во-на­пер­во уда­ли­те про­прие­тар­ные ви­део-­драй­ве­ры, ес­ли они у вас есть. Ес­ли они ус­та­нав­ли­ва­лись вруч­ную, вы­пол­ни­те от ли­ца ад­ми­ни­ст­ра­то­ра ко­ман­ды ''/usr/bin/nvidia-uninstall'' или ''/usr/share/ati/fglrx-uninstall.sh'' для ви­део­карт Nvidia или Ati/AMD, со­от­вет­ст­вен­но.&lt;br /&gt;
&lt;br /&gt;
У поль­зова­телей по­след­них вер­сий Ubuntu или Fedora сис­те­ма по­сле это­го ав­то­ма­ти­че­ски вернётся в ис­ход­ный гра­фи­че­ский ре­жим, для ко­то­ро­го по умол­ча­нию ис­поль­зу­ет­ся ''KMS''. Ес­ли это­го не про­ис­хо­дит, от­крой­те ме­нед­жер па­ке­тов и убе­ди­тесь, что от­кры­тые драй­ве­ры ''nouveau'' или ''radeon'' у вас ус­та­нов­ле­ны. Про­верь­те ра­бо­то­спо­соб­ность со­от­вет­ст­вую­щих мо­ду­лей яд­ра:&lt;br /&gt;
&lt;br /&gt;
 su - &amp;amp;&amp;amp; modprobe nouveau&lt;br /&gt;
&lt;br /&gt;
или, соответственно,&lt;br /&gt;
&lt;br /&gt;
 su - &amp;amp;&amp;amp; modprobe radeon&lt;br /&gt;
&lt;br /&gt;
Что­бы оп­ре­де­лить, ис­поль­зу­ет­ся ли в те­ку­щий мо­мент ''KMS'', дай­те ко­ман­ду&lt;br /&gt;
&lt;br /&gt;
 dmesg | grep frame&lt;br /&gt;
&lt;br /&gt;
и убе­ди­тесь, что для фрейм-бу­фе­ра ис­поль­зу­ет­ся мо­дуль ''intel, nouveau'' или ''radeon''. Обыч­но мень­ше все­го про­блем с ''KMS'' воз­ни­ка­ет у вла­дель­цев чи­пов Intel – эта кор­по­ра­ция ак­тив­нее всех уча­ст­ву­ет в раз­ви­тии ''Wayland''.&lt;br /&gt;
&lt;br /&gt;
Ес­ли ни­че­го не по­лу­ча­ет­ся, по­про­буй­те вруч­ную до­ба­вить па­ра­метр '''modeset=1''' в за­груз­чик ''Grub''. Со­вре­мен­ная вер­сия ''Grub v.2'' же­ла­ет, что­бы вы до­ба­ви­ли этот па­ра­метр в файл '''/etc/default/grub''' и за­тем ско­ман­до­ва­ли ''update-grub''.&lt;br /&gt;
&lt;br /&gt;
===Глос­са­рий Тер­ми­ны для со­мне­ваю­щих­ся===&lt;br /&gt;
&lt;br /&gt;
* '''''Cairo''''' – биб­лио­те­ка, обес­пе­чи­ваю­щая от­ри­сов­ку эле­мен­тов ин­тер­фей­са при по­мо­щи век­тор­ных (а не пик­сель­ных) форм, с привлече­нием ап­па­рат­ного ус­ко­ре­ния гра­фи­ки.&lt;br /&gt;
* '''DRI''' – Direct Rendering Infrastructure, ин­фра­струк­ту­ра не­по­сред­ст­вен­но­го рен­де­рин­га, по­зво­ляю­щая при­клад­ным про­грам­мам на­пря­мую об­щать­ся с ви­део­ус­т­рой­ст­вом, ми­нуя деб­ри ''X''-сер­ве­ра и его рас­ши­ре­ний.&lt;br /&gt;
* '''''Evdev''''' – обо­зна­ча­ет Event Device. Это под­сис­те­ма яд­ра Linux, ко­то­рая об­ра­ба­ты­ва­ет со­бы­тия от кла­виа­ту­ры, мы­ши и про­чих уст­ройств вво­да. ''Evdev'' за­ме­ня­ет ус­та­рев­шие рас­ши­ре­ния ''X''-сер­ве­ра для дан­ного функ­цио­нала.&lt;br /&gt;
* '''''KMS''''' – Kernel Modesetting, спо­соб управ­ле­ния ви­део­ре­жи­мом (и раз­ре­ше­ни­ем эк­ра­на, в ча­ст­но­сти) на уров­не яд­ра, а не ''X''-сер­ве­ра.&lt;br /&gt;
* '''''Mesa''''' – от­кры­тая реа­ли­за­ция OpenGL-ус­ко­ре­ния для всех по­пу­ляр­ных ви­део­драй­ве­ров.&lt;br /&gt;
* '''Pageflipping''' – ме­тод ви­део­вы­во­да, ис­поль­зую­щий «пе­ре­бро­ску» стра­ниц в па­мя­ти ви­део­адап­те­ра. Ко­гда на эк­ран вы­во­дит­ся изо­бра­же­ние из ви­део­бу­фе­ра, в это вре­мя от­ри­со­вы­ва­ет­ся уже сле­дую­щее изо­бра­же­ние, по­сле че­го они ме­ня­ют­ся мес­та­ми. Этот ме­тод по­зво­ля­ет из­ба­вить­ся от ви­ди­мых де­фек­тов от­ри­сов­ки и по­вы­сить вос­при­ни­мае­мую про­из­во­ди­тель­ность.&lt;br /&gt;
* '''''X11''''' – обыч­но это си­но­ним ''X Window System'', или про­сто ''X'', «ик­сы». Это стан­дарт­ная ос­­но­ва для всей гра­фи­ки в Linux и мно­гих UNIX-по­доб­ных ОС.&lt;br /&gt;
* '''''X.org''''' – про­ект, раз­ра­ба­ты­ваю­щий те­ку­щую реа­ли­за­цию X для Linux.&lt;br /&gt;
&lt;br /&gt;
===Ис­то­рия про­ек­та===&lt;br /&gt;
&lt;br /&gt;
''Wayland'' су­ще­ст­ву­ет с 2008 го­да бла­го­да­ря Кри­стиа­ну Хёгс­бер­гу, тогда ра­бо­тавшему в Red Hat. Из до­машнего про­ек­та, ко­то­рым Кри­сти­ан неспеш­но занимал­ся на досуге, ''Wayland'' вы­рос в зре­лую сис­те­му – сей­час она ак­тив­но под­дер­жи­ва­ет­ся Intel, ку­да Кри­сти­ан пе­ре­шёл. У не­го есть от­лич­ный опыт ра­бо­ты с гра­фи­че­­ским сте­ком Linux, в ча­ст­­но­сти, с тех­но­ло­ги­ей ''AIGL'', вы­шедшей из стен Red Hat. Про ''Wayland'' он пи­сал, что хотел соз­дать сис­те­му, «где ка­ж­дый кадр от­ри­со­вы­ва­ет­ся иде­аль­но, что в мо­ём понимании оз­на­ча­ет: все при­ло­жения так хо­ро­шо кон­тро­ли­ру­юет рен­де­ринг, что мы никогда не уви­дим рва­ное ви­део, под­тор­ма­жи­вание, мед­лен­ную от­ри­сов­ку или ми­гание».&lt;br /&gt;
&lt;br /&gt;
Из­на­чаль­но ''Wayland'' был вы­пу­щен под ли­цен­зи­ей MIT/GPLv2, но в 2010 го­ду про­ект ре­шил сменить её в поль­зу LGPLv2, ко­то­рая луч­ше под­хо­дит для вклю­чения в Ubuntu и дру­гие ди­ст­ри­бу­ти­вы с ме­ж­ду­на­род­ным ох­ва­том. По­ка вы чи­тае­те эти стро­ки, лю­ди в Canonical и Intel плот­но ра­бо­та­ют над пе­ре­но­сом ин­тер­фейс­ных биб­лио­тек ''Qt'' и ''GTK'' в ''Wayland'', и бли­зок час, когда мы уви­дим ре­зуль­тат их тру­да.&lt;/div&gt;</description>
			<pubDate>Mon, 23 Apr 2012 11:15:08 GMT</pubDate>			<dc:creator>Crazy Rebel</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF141:Wayland</comments>		</item>
	</channel>
</rss>