LINUX.ORG.RU

Создать OBS для Beryl

 , , ,


0

1

Я смотрю что у меня накопилось в openSUSE 11.4, чтобы прежде чем удалить её и заменить на openSUSE 12.3 навести порядок и случайно не удалить нужное. Я скомпилировал Beryl в /opt/beryl, потому что в Compiz я не победил тиринг. Кроме того, чтобы не глючил мне пришлось устарить Compiz с версии 0.9.2 до 0.8.8. Скриншот. О причинах сбоев версии 0.9.x можно почитать по этой ссылке (он был переписан на C++). Я подумал: а что я потеряю, заменив Compiz на Beryl? Шестерёнки внутри куба: я любил выставить прозрачность граней куба 90% в обычном состоянии и 35% при вращении, и сквозь них можно посмотреть на шестерёнки или дельфинов. И рисование огнём. И всё, больше ничего Compiz Fusion по сравнению с Beryl не привнёс, во всяком случае я больше ничего не вспомнил.

Несмотря на то что последний релиз Beryl был в 2007 году, в операционной системе 2011 года он успешно скомпилировался и заработал. Потребовалась правка только двух строчек исходного кода:

--- a/src/display.c  2012-08-07 16:22:49.000000000 +0700
+++ b/src/display.c   2012-08-07 16:39:17.567000078 +0700
@@ -340,7 +340,7 @@
 }

 static Bool
-raise(CompDisplay * d,
+raiseInitiate (CompDisplay * d,
          CompAction * action,
          CompActionState state, CompOption * option, int nOption)
 {
@@ -2118,7 +2118,7 @@
        o->value.action.terminate = 0;

        o = &display->opt[COMP_DISPLAY_OPTION_RAISE_WINDOW];
-       o->value.action.initiate = raise;
+       o->value.action.initiate = raiseInitiate;
        o->value.action.terminate = 0;

        o = &display->opt[COMP_DISPLAY_OPTION_ACTIVATE_WINDOW];

Плюс одна строчка для Aquamarine (рамочки KDE3), одна для плагина Video Capture, и для графического конфигуратора установить pyrex 0.95 вместо 0.98 (потом можно вернуть). Это я приводить не буду.

И никакого тиринга! Просто работает, я даже ничего не настраивал. Просто поставил VSync в Nvidia X Server Settings и больше ничего не потребовалось. Кроме того, Beryl быстрее Compiz: хотя Compiz Fusion взял себе плагины Beryl, ядро осталось старое и не пропатченное. Я хочу сделать OBS, чтобы получить RPM/DEB-пакеты для новых версий дистрибутивов Linux, и ищу знающих людей. Хотя бы покажите где лежат spec-файлы для старых дистрибутивов Linux.

Компилировал я с помощью команды:

./configure --prefix=/opt/beryl

Взяв исходный код здесь, по этой последовательности, и запускаю командой:

PATH=/opt/beryl/bin:$PATH LD_LIBRARY_PATH=/opt/beryl/lib:/opt/beryl/lib/beryl/:$LD_LIBRARY_PATH /opt/beryl/bin/beryl-manager

Видео.

★★★★★

Последнее исправление: maxcom (всего исправлений: 2)

Ответ на: комментарий от fritew5

Патч для Aquamarine (в openSUSE есть репозиторий KDE:KDE3, на видео я также перезапускаю Aquamarine):

zenitur@linux-athlon64x2:~/beryl-core/aquamarine/admin> diff -u cvs.sh cvs.sh~
--- a/admin/cvs.sh      2012-08-07 17:51:27.835000086 +0700
+++ b/admin/cvs.sh      2012-08-07 17:48:27.000000000 +0700
@@ -68,7 +68,7 @@
     echo "*** KDE requires automake $required_automake_version"
     exit 1
     ;;
-  automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*)
+  automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10* | automake*1.11*)
     echo "*** $AUTOMAKE_STRING found."
     UNSERMAKE=no
     ;;
--- a/src/decorator.h         2012-08-07 17:48:27.000000000 +0700
+++ b/src/decorator.h 2012-08-07 18:15:46.081000087 +0700
@@ -32,6 +32,7 @@
 #include <X11/Xlib.h>
 #include <X11/Xatom.h>
 #include <X11/cursorfont.h>
+#include <X11/extensions/Xrender.h>

 #include <qtimer.h>

Для компиляции beryl-settings-bindings я не смог исправить файл python/berylsettings.pyx и просто скачал SRPM pyrex 0.95, скомпилировал, вернул pyrex 0.98.

И последнее, seom брать этот (для записи видео плагином beryl-plugins-vidcap, но лично я не пользуюсь)

--- a/beryl-plugins-vidcap/Makefile       2012-08-08 17:41:23.000000000 +0700
+++ b/beryl-plugins-vidcap/Makefile       2012-08-08 17:43:07.786999996 +0700
@@ -1,4 +1,4 @@
-PREFIX=/usr/local
+PREFIX=/opt/beryl
 LIB=lib
 LIBDIR=$(PREFIX)/$(LIB)
 DESTDIR=$(LIBDIR)/beryl/

Скриншот потребления памяти только что запущенного Beryl.

ZenitharChampion ★★★★★
() автор топика
Последнее исправление: ZenitharChampion (всего исправлений: 2)
Ответ на: комментарий от a931bw

Тоже тиринг, более того ещё и баги. Я запускаю Minecraft и начинаются баги отрисовки и тормоза. Хотя казалось бы, это Compiz/Beryl должны приводить к багам и тормозам, потому что там эффекты, а у xcompmgr только композитинг.

Мне советовали compton,

это форк xcompmgr - но без его багов и с плюшками, объективно лучший легковесный композитинг для линуксов на сегодняшний день.

Но я не смог скомпилировать.

ZenitharChampion ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

Вот хохма;

[code]% pgrep xcompmgr [~/downloads]
% pgrep compton [~/downloads]
2487[/code]

Я и забыл %)

a931bw
()
Последнее исправление: a931bw (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.