Discussion:
[Spice-devel] Question about Spice with Wayland
Fabio Fantoni
2015-10-04 12:12:52 UTC
Permalink
Hi, trying to have better performance on low cost spice thin client (for
example rpi2) I saw too low performance, remote-viewer at 100% cpu with
only one core used, but also xorg process with high cpu usage and all
other things open unusable (including a simple terminal).
I tried with wayland using weston (GDK_BACKEND=/wayland /remote-viewer),
spice performance is still too low on "high usage" but all other things
is fully usable.
I'm trying to improve spice performance with opengles (using vc4
drivers) and compiling cairo for using it but for now I had some problems.
I tried to search other spice tests with wayland, I found this old project:
https://github.com/ein-shved/compositor-spice/
Is about weston backend, with very basic features and without recent
commits.
Was posted also in this mailing list long time ago:
http://lists.freedesktop.org/archives/wayland-devel/2013-April/008902.html
Seems interesting a possibility of better performance (including
possible future acceleration with opengl and/or vulkan) and integratation.
Someone still working on it?

I also see a specific wayland client on freerdp for example:
https://github.com/FreeRDP/FreeRDP/tree/master/client/Wayland
Doing something similar for spice client can be useful or other
importance changes are needed for significative performance improve?

About qxl driver in linux domU's seems there are problems with many
desktop envinment (gnome, kde, unity ecc... I saw it reasonableon lxde
on my tests), I saw qxl kms support and something in drm about qxl, it
can works for example for a fast test with weston drm backend and I
should try or addition thing is needed?
Sorry is these are stupid questions but I don't have knowledge about.

Thanks for any reply and sorry for my bad english.
Yury Shvedov
2015-10-05 18:08:56 UTC
Permalink
Hi, Fabio!

Thank you for your interest to this project! But unfortunately this
project now is in proof-of-concept state and usable only via loopback
network. And as you notice it did not evolve by me for years. The
problem is I changed my scientific theme by accident at this point and
could not continue it as I have wanted. But I feel this project has big
potential and space of improvement. It would be great if you want and
can to handle this project and I will support you as I could.

Sorry for my english too! =)

Kind regards
Yury Shvedov
Post by Fabio Fantoni
Hi, trying to have better performance on low cost spice thin client
(for example rpi2) I saw too low performance, remote-viewer at 100%
cpu with only one core used, but also xorg process with high cpu usage
and all other things open unusable (including a simple terminal).
I tried with wayland using weston (GDK_BACKEND=/wayland
/remote-viewer), spice performance is still too low on "high usage"
but all other things is fully usable.
I'm trying to improve spice performance with opengles (using vc4
drivers) and compiling cairo for using it but for now I had some problems.
https://github.com/ein-shved/compositor-spice/
Is about weston backend, with very basic features and without recent
commits.
http://lists.freedesktop.org/archives/wayland-devel/2013-April/008902.html
Seems interesting a possibility of better performance (including
possible future acceleration with opengl and/or vulkan) and integratation.
Someone still working on it?
https://github.com/FreeRDP/FreeRDP/tree/master/client/Wayland
Doing something similar for spice client can be useful or other
importance changes are needed for significative performance improve?
About qxl driver in linux domU's seems there are problems with many
desktop envinment (gnome, kde, unity ecc... I saw it reasonableon lxde
on my tests), I saw qxl kms support and something in drm about qxl, it
can works for example for a fast test with weston drm backend and I
should try or addition thing is needed?
Sorry is these are stupid questions but I don't have knowledge about.
Thanks for any reply and sorry for my bad english.
Fabio Fantoni
2016-02-22 16:55:58 UTC
Permalink
Post by Yury Shvedov
Hi, Fabio!
Thank you for your interest to this project! But unfortunately this
project now is in proof-of-concept state and usable only via loopback
network. And as you notice it did not evolve by me for years. The
problem is I changed my scientific theme by accident at this point and
could not continue it as I have wanted. But I feel this project has
big potential and space of improvement. It would be great if you want
and can to handle this project and I will support you as I could.
Hi, I have only little free time and very low knowledge but I'm looking
if is possible rebase your project on latest weston version and try it.
To make easier and faster see what are the add/changes of spice
compositor and rebase it I created a new branch with latest upstream
commit you used, all changes except the latest commit in first commit
added and a cherry-pick of the latest:
https://github.com/Fantu/compositor-spice/commits/test
I not saw an howto and from a very fast code look seem that
"--enable-spice-compositor --enable-monitor-renderer" add in configure
is needed and when start listen seems hardcoded on localhost:5912
@Yury Shvedov: Can you send me all essential notes for use it if they exist?
For what you know rebase on latest weston version will require many
changes/fixes or should be working or easy to adapt? (documented
api/functions weston changelog for compositor or other module)
Should be possible add other spice options, for example compression,
where listen (ecc...) to pass to spice-server and make it easy possible
use them with small patches for fast lan tests or require bigger work?

I saw that rdp is already present by years but any time I looked it
seems always that newer freerdp version (in development was needed), not
good stable api probably?
Are spice the things used/needed more "stable" or continuous changes
(and version prerequisite increments) will be needed?

Thanks for any reply and sorry for my bad english.
Post by Yury Shvedov
Sorry for my english too! =)
Kind regards
Yury Shvedov
Post by Fabio Fantoni
Hi, trying to have better performance on low cost spice thin client
(for example rpi2) I saw too low performance, remote-viewer at 100%
cpu with only one core used, but also xorg process with high cpu
usage and all other things open unusable (including a simple terminal).
I tried with wayland using weston (GDK_BACKEND=/wayland
/remote-viewer), spice performance is still too low on "high usage"
but all other things is fully usable.
I'm trying to improve spice performance with opengles (using vc4
drivers) and compiling cairo for using it but for now I had some problems.
https://github.com/ein-shved/compositor-spice/
Is about weston backend, with very basic features and without recent
commits.
http://lists.freedesktop.org/archives/wayland-devel/2013-April/008902.html
Seems interesting a possibility of better performance (including
possible future acceleration with opengl and/or vulkan) and
integratation.
Someone still working on it?
https://github.com/FreeRDP/FreeRDP/tree/master/client/Wayland
Doing something similar for spice client can be useful or other
importance changes are needed for significative performance improve?
About qxl driver in linux domU's seems there are problems with many
desktop envinment (gnome, kde, unity ecc... I saw it reasonableon
lxde on my tests), I saw qxl kms support and something in drm about
qxl, it can works for example for a fast test with weston drm backend
and I should try or addition thing is needed?
Sorry is these are stupid questions but I don't have knowledge about.
Thanks for any reply and sorry for my bad english.
Yury Shvedov
2016-02-22 19:04:00 UTC
Permalink
Hi!

I'm afraid, you didn't understand me completely. This project now in
unusable-at-all state. There is no optimization at all and you need apt
to 10 Mbps connection between spice client and server to see the smooth
enough image. All the frames, generated by weston, even on mouse move
are sent to the client side.

So, to use it, you firstly need to upgrade it to new weston API and
secondly perform much RnD work on optimization. I am pleased that you
want to continue this project, I was very interested when I worked on it
but I had to stop when I got very busy working in a company. I don't
want to give up the project but my ability to contribute now is very
limited.

To sum up, to make it working you need many time/material resources.
Maybe one time I will continue it, maybe sooner if there will be the
good reason. But now I'm the technical leader in the startup and working
hard. Right now I'm sitting in 4YFN (World Mobile Congress in
Barcelona), talking to investors and watching our demo stand.

Thank you again and see my answers in the quote, but I'm afraid they are
useless for you, because I forgot many things about project and have no
much time to remeber.
Post by Fabio Fantoni
Post by Yury Shvedov
Hi, Fabio!
Thank you for your interest to this project! But unfortunately this
project now is in proof-of-concept state and usable only via loopback
network. And as you notice it did not evolve by me for years. The
problem is I changed my scientific theme by accident at this point
and could not continue it as I have wanted. But I feel this project
has big potential and space of improvement. It would be great if you
want and can to handle this project and I will support you as I could.
Hi, I have only little free time and very low knowledge but I'm
looking if is possible rebase your project on latest weston version
and try it.
To make easier and faster see what are the add/changes of spice
compositor and rebase it I created a new branch with latest upstream
commit you used, all changes except the latest commit in first commit
https://github.com/Fantu/compositor-spice/commits/test
I not saw an howto and from a very fast code look seem that
"--enable-spice-compositor --enable-monitor-renderer" add in configure
is needed and when start listen seems hardcoded on localhost:5912
@Yury Shvedov: Can you send me all essential notes for use it if they exist?
Unfortunately I can't fully understand your question, but if you asking
how to make weston to listen for the spice clients, I can't give you
complete answer. As I remenber you have to select spice renderer in
configuration and it starts the server automatically.
Post by Fabio Fantoni
For what you know rebase on latest weston version will require many
changes/fixes or should be working or easy to adapt? (documented
api/functions weston changelog for compositor or other module)
Should be possible add other spice options, for example compression,
where listen (ecc...) to pass to spice-server and make it easy
possible use them with small patches for fast lan tests or require
bigger work?
I think yes, but not now. All the stuff was hardcoded.
Post by Fabio Fantoni
I saw that rdp is already present by years but any time I looked it
seems always that newer freerdp version (in development was needed),
not good stable api probably?
I'm sure that rdp renderer is in much better state now then this one.
Post by Fabio Fantoni
Are spice the things used/needed more "stable" or continuous changes
(and version prerequisite increments) will be needed?
As I know spice is pretty old and stable protocol, so I don't think
there are many changes needed in this way.
Post by Fabio Fantoni
Thanks for any reply and sorry for my bad english.
Post by Yury Shvedov
Sorry for my english too! =)
Kind regards
Yury Shvedov
Post by Fabio Fantoni
Hi, trying to have better performance on low cost spice thin client
(for example rpi2) I saw too low performance, remote-viewer at 100%
cpu with only one core used, but also xorg process with high cpu
usage and all other things open unusable (including a simple terminal).
I tried with wayland using weston (GDK_BACKEND=/wayland
/remote-viewer), spice performance is still too low on "high usage"
but all other things is fully usable.
I'm trying to improve spice performance with opengles (using vc4
drivers) and compiling cairo for using it but for now I had some problems.
https://github.com/ein-shved/compositor-spice/
Is about weston backend, with very basic features and without recent
commits.
http://lists.freedesktop.org/archives/wayland-devel/2013-April/008902.html
Seems interesting a possibility of better performance (including
possible future acceleration with opengl and/or vulkan) and
integratation.
Someone still working on it?
https://github.com/FreeRDP/FreeRDP/tree/master/client/Wayland
Doing something similar for spice client can be useful or other
importance changes are needed for significative performance improve?
About qxl driver in linux domU's seems there are problems with many
desktop envinment (gnome, kde, unity ecc... I saw it reasonableon
lxde on my tests), I saw qxl kms support and something in drm about
qxl, it can works for example for a fast test with weston drm
backend and I should try or addition thing is needed?
Sorry is these are stupid questions but I don't have knowledge about.
Thanks for any reply and sorry for my bad english.
-- Kind Regards, Yury Shvedov

Loading...