Re: Questions about experimental Spice compositor rebase

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Fabio!

Your patient interest to this project make me to perform the attempt to continue it. Now, I'm trying another way.
  1. Compile old sources (old weston) with new version of spice and wayland - done
  2. Make it work if possible
  3. Compile with new version of weston (perform merge)
  4. Perform refactoring of code
  5. Make TODO list

As I see, you already done part of 3rd step, I will see it a bit later when I rember what is going on in the project.
I still have extremely limited amount of time - only a couple of evening per week. But I'll try to support you as much as possible.


On 02/28/2016 03:36 PM, Fabio Fantoni wrote:


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.


-- Kind Regards, Yury Shvedov
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]