Questions about experimental Spice compositor rebase

Yury Shvedov shved at lvk.cs.msu.su
Sun Feb 28 15:02:43 UTC 2016


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20160228/6c71d586/attachment-0001.html>


More information about the wayland-devel mailing list