[Spice-devel] Questions about experimental Spice compositor rebase
Fabio Fantoni
fabio.fantoni at m2r.biz
Sun Feb 28 14:36:58 UTC 2016
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.
More information about the Spice-devel
mailing list