Il 27/02/2016 19:02, Fabio Fantoni ha scritto:
Hi, long time ago I saw an interesting project for weston, the spice
compositor:
https://github.com/ein-shved/compositor-spice
It is now abandoned because the developer has been involved in another
project.
As no other has continued it, despite my low knowledge and time I
would try to update, test and possibly improve it.
I did a new branch with only 2 commit on top of latest upstream commit:
https://github.com/Fantu/compositor-spice/commits/test
and I tried to do a fast rebase on latest upstream commit (1.10)
instead of master (development branch) for decrease the risk
regression on first build/use tests:
https://github.com/Fantu/compositor-spice/commits/rebase/spice-1.10
Solving conflict about configure and makefile parts I have some doubts
(as also reported in the description of each commit):
About first commit (Add Spice compositor)
https://github.com/Fantu/compositor-spice/commit/f589ab264e80d43fa0853770481b6ddcadf5505b
- in configure.ac some changes seems strange, including LIBS and
CFLAGS that seems "double"
- Makefile things seems fully changed, tried to adapt them and removed
src/spice/Makefile.am but I'm not sure if I did it correct.
About the second commit (Monitor renderer)
https://github.com/Fantu/compositor-spice/commit/2632b8b8067e46ac69b5ad1bc2164d90ced5e19f
- Makefile things seems fully changed, tried to adapt them but I'm not
sure if I did it correct.
- Add -g to AM_CPPFLAGS in Makefile.am is really needed? not added for
now
- add of "-Wl,--wrap=pixman_renderer_init" to LDFLAGS of many other
backend is really needed? not added for now, if needed is good
understand why to add it also to new things added since this start
commit done 3 years ago
- src/compositor-rdp.c changes is really needed? if not I'll remove them
I also searched documentation about api and/or internal weston
functions changed any versions but I not found them.
I suppose that after 3 years many things are changed, can someone tell
me if there are any docs that can help me to found/replace the
removed/changed functions please?
Any other advice that can help me is appreciated.
I did fast build tests, I fixed one my mistake in Makefile.am and after
I had this error:
src/spice/weston_basic_event_loop.h:27:31: fatal error: weston/compositor.h: No such file or directory
I fixed with this even if I'm not sure it is correct:
https://github.com/Fantu/compositor-spice/commit/92f8eeb50e593a489e23b5ddeb38edf0985603f2
Now I had these errors:
src/spice/compositor-spice.c: In function
'spice_output_start_repaint_loop':
src/spice/compositor-spice.c:66:5: warning: 'start' is deprecated
[-Wdeprecated-declarations]
c->worker->start(c->worker);
^
In file included from /usr/include/spice-server/spice.h:26:0,
from src/spice/compositor-spice.c:27:
/usr/include/spice-server/spice-qxl.h:46:12: note: declared here
void (*start)(QXLWorker *worker) SPICE_GNUC_DEPRECATED;
^
src/spice/compositor-spice.c: In function 'on_wakeup':
src/spice/compositor-spice.c:118:5: warning: 'wakeup' is deprecated
[-Wdeprecated-declarations]
c->worker->wakeup(c->worker);
^
In file included from /usr/include/spice-server/spice.h:26:0,
from src/spice/compositor-spice.c:27:
/usr/include/spice-server/spice-qxl.h:44:12: note: declared here
void (*wakeup)(QXLWorker *worker) SPICE_GNUC_DEPRECATED;
^
src/spice/compositor-spice.c:121:48: warning: passing argument 2 of
'weston_output_finish_frame' makes pointer from integer without a cast
[-Wint-conversion]
weston_output_finish_frame (&output->base, msec);
^
In file included from src/spice/compositor-spice.c:31:0:
src/spice/../compositor.h:1227:1: note: expected 'const struct
timespec *' but argument is of type 'uint32_t {aka unsigned int}'
weston_output_finish_frame(struct weston_output *output,
^
src/spice/compositor-spice.c:121:5: error: too few arguments to
function 'weston_output_finish_frame'
weston_output_finish_frame (&output->base, msec);
^
In file included from src/spice/compositor-spice.c:31:0:
src/spice/../compositor.h:1227:1: note: declared here
weston_output_finish_frame(struct weston_output *output,
^
src/spice/compositor-spice.c: In function 'spice_create_output':
src/spice/compositor-spice.c:172:37: warning: assignment from
incompatible pointer type [-Wincompatible-pointer-types]
output->base.repaint = spice_output_repaint;
^
src/spice/compositor-spice.c: In function 'spice_destroy':
src/spice/compositor-spice.c:262:5: warning: 'stop' is deprecated
[-Wdeprecated-declarations]
c->worker->stop (c->worker);
^
In file included from /usr/include/spice-server/spice.h:26:0,
from src/spice/compositor-spice.c:27:
/usr/include/spice-server/spice-qxl.h:47:12: note: declared here
void (*stop)(QXLWorker *worker) SPICE_GNUC_DEPRECATED;
^
src/spice/compositor-spice.c: In function 'spice_compositor_create':
src/spice/compositor-spice.c:296:9: warning: implicit declaration of
function 'weston_compositor_init' [-Wimplicit-function-declaration]
if (weston_compositor_init (&c->base, display, argc, argv,
config) < 0)
^
src/spice/compositor-spice.c:312:12: error: 'struct weston_compositor'
has no member named 'destroy'
c->base.destroy = spice_destroy;
^
src/spice/compositor-spice.c:313:12: error: 'struct weston_compositor'
has no member named 'restore'
c->base.restore = spice_restore;
^
src/spice/compositor-spice.c: At top level:
src/spice/compositor-spice.c:340:1: error: conflicting types for
'backend_init'
backend_init( struct wl_display *display, int *argc, char *argv[],
^
In file included from src/spice/compositor-spice.c:31:0:
src/spice/../compositor.h:1665:1: note: previous declaration of
'backend_init' was here
backend_init(struct weston_compositor *c,
^
src/spice/compositor-spice.c: In function 'backend_init':
src/spice/compositor-spice.c:357:35: warning: implicit declaration of
function 'ARRAY_LENGTH' [-Wimplicit-function-declaration]
parse_options (spice_options, ARRAY_LENGTH (spice_options), argc,
argv);
^
Makefile:4811: recipe for target
'src/spice/spice_backend_la-compositor-spice.lo' failed
About spice deprecated functions I did a fast search and I found
spice-gtk api docs:
http://www.spice-space.org/spice-gtk.html
but not the spice-server one.
@Spice developers: can someone tell me where I can found needed
spice-server api documentation to make update faster and easier as
possible please?
@Weston developers: can someone tell me where I can found needed weston
api documentation to make update faster and easier as possible please?
Thanks for any reply and sorry for my bad english.
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel