Hi, Fabio!
Your patient interest to this project make me to perform the attempt
to continue it. Now, I'm trying another way.
- Compile old sources (old weston) with new version of spice and
wayland - done
- Make it work if possible
- Compile with new version of weston (perform merge)
- Perform refactoring of code
- 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
|