<html><body><div style="font-family: times new roman, new york, times, serif; font-size: 12pt; color: #000000"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;" data-mce-style="border-left: 2px solid #1010FF; margin-left: 5px; padding-left: 5px; color: #000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div><br></div><div dir="ltr"><div><div><div><div><div>Hi,<br><div><br></div></div>I tried a virtual rhel7.3beta (server with gui) on a rhel7.3beta host.<br></div><br>The host was a laptop to which I setup to use my old wifi router that only has 54Mbit so the bandwith was poor and unstable.<br><div><br></div></div>Without the compression options the spice display was really bad.<br></div>You could see the screen being rendered bit by bit.<br><div><br></div></div><div>I tried this with the custom rpm and did not really see an improvement.<br><div><br></div></div><div>I downgraded the spice-server and rebooted<br></div><div><br></div>I added the compression options:<br><div><div><div><div>      <image compression='glz'/><br>      <jpeg compression='always'/><br>      <zlib compression='always'/><br>      <streaming mode='all'/><br><div><br></div></div><div>Now the spice display was very usable and almost no artifacts.<br><div><br></div></div><div>Only when moving the windows you can see tearing at the edges.<br></div><div>Also started a glxgears window to see how it deals with that<br></div><div><br></div><div>I applied the custom rpm and rebooted the host.<br><div><br></div></div><div>After restarting the vm and logging into spice <br></div><div>There is less tearing when moving the window. </div></div></div></div></div></blockquote><div><br></div><div>Good! Thanks for the test! I'll work to make these changes integrated in a future version.<br></div><div><br></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;" data-mce-style="border-left: 2px solid #1010FF; margin-left: 5px; padding-left: 5px; color: #000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div dir="ltr"><div><div><div><div><br><div><br></div></div><div>So there is an improvement, but it's hard to tell how much  by simply watching when draging the window.<br><div><br></div><br></div><div>some details from our openvpn config<br></div><div>the protocol has to be tcp.....<br><div><br></div></div><div>centos 7.2 openvpn server settings:<br><div><br></div></div><div>port secret-port-number<br>proto tcp<br>dev tun<br>tun-mtu 1500<br>ca /path/to/ca<br>cert /path/to/cert<br>key /path/to/key<br>dh /path/to/dh<br>server some.ip.address some.subnet.mask<br>ifconfig-pool-persist ipp.txt<br>keepalive 10 120<br>comp-lzo<br>user nobody<br>group nobody<br>persist-key<br>persist-tun<br>status /path/to/log<br>verb 3<br>mute 20<br></div></div></div></div></div></blockquote><div>I would personally try different combination of compression/encryption.<br></div><div>Obviously you want encryption on the VPN but if you have also encryption on Spice this<br></div><div>is mainly wasting bandwidth and latency.<br></div><div>Also depending on the type of data VPN compression can be a bad idea.<br></div><div>I would try (if this is possible) to turn it off.<br></div><div><br></div><div>On the Windows side I tried to see what could cause the flicker issue.<br></div><div>It seems for some reason (unknown to me) some commands are trying to read some data back</div><div> from the card causing a 0.01 seconds delay (which could be one cause of the delay). No much</div><div>to suggest to improve this. Looks like the XPDM driver can be compiled using different way</div><div> to do the synchronization and looks like the new WDDM driver does the synchronization in<br></div><div>a different way (not clear why).<br></div><div>I don't think I'll have much more time to investigate into this.<br></div><div>I would suggest to open a ticket upstream so people don't forget this.<br></div><div><br></div><div>Frediano<br></div><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;" data-mce-style="border-left: 2px solid #1010FF; margin-left: 5px; padding-left: 5px; color: #000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div dir="ltr"><div><div><div><div>fedora 24 NetworkManager settings:<br>[connection]<br>id=our id for our top secret vpn<br>uuid=xxxxxxxx.xxxx.xxx.xxx.xx<br>type=vpn<br>permissions=user:secretusernottellingyou:;<br>secondaries=<br><div><br></div>[vpn]<br>remote-random=no<br>connection-type=tls<br>remote=remote.ip.address<br>tunnel-mtu=1500<br>comp-lzo=yes<br>cert-pass-flags=1<br>proto-tcp=yes<br>port=<secret-port><br>mssfix=yes<br>dev-type=tun<br>ca=/path/to/ca<br>key=/path/to/key<br>cert=/path/to/crt<br>service-type=org.freedesktop.NetworkManager.openvpn<br><div><br></div>[ipv4]<br>dns-search=<br>ignore-auto-routes=true<br>method=auto<br>never-default=true                                                                                                                                                                        <br>route1=additional.route/mask                                                                                                                         <br>route2=additional.route/mask                                                                                                                                                             <br><br>[ipv6]                                                                                                                                                                                    <br>addr-gen-mode=stable-privacy                                                                                                                                                              <br>dns-search=                                                                                                                                                                               <br>method=auto<br></div><div><br><div><br></div><br></div><div>Cheers<br></div><div>Rob Verduijn.<br></div><div><br><div><br></div></div><div><br></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-09-15 16:04 GMT+02:00 Rob Verduijn <span dir="ltr"><<a href="mailto:rob.verduijn@gmail.com" target="_blank" data-mce-href="mailto:rob.verduijn@gmail.com">rob.verduijn@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" data-mce-style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;"><div dir="ltr"><div dir="ltr"><div><div><div><div>Hello,<br><div><br></div></div>The performance fixes sound awesome.<br></div>I'm afraid I cannot test them in the environment with the low bandwith setup soon (maybe next week, but don't hold your breath)<br></div><span class="">I'm going to build a local test setup to see if this is improving some of the issues. I got a laptop running the rhel7.3 beta, let's see how that performs.</span><div><div><img src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"><span class="HOEnZb"><span data-mce-style="color: #888888;" style="color: #888888;"><br></span></span></div></div></div><div>Rob Verduijn<br></div></div><div><div><div class="gmail_extra"><br></div></div></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-09-15 13:31 GMT+02:00 Frediano Ziglio <span dir="ltr"><<a href="mailto:fziglio@redhat.com" target="_blank" data-mce-href="mailto:fziglio@redhat.com">fziglio@redhat.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" data-mce-style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;"><div><div style="font-family:times new roman,new york,times,serif;font-size:12pt;color:#000000" data-mce-style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000;"><div>I saw you are using CentOS 7. I built the package with RHEL 7 (they are binary compatible).<br></div><div>About the testing just which normal usage you should see improvements in bandwidth and<br></div><div>reactivity.<br></div><div><br></div><div>Changes from current CentOS package:<br></div><div>- used a newer version, there are couple of changes that decrease latency;<br></div><div>- additional patches to improve bandwidth usage (for small drawing this should decrease<br></div><div>  bandwidth usage by a 15-20%);<br></div><div>- additional patch to decrease a bandwidth limitation due to a peculiar half-duplex usage<br></div><div>  of spice protocol (this is clearly visible with high latency connections);<br></div><div>- additional patch to decrease packet fragmentation due to TCP_NODELAY usage.<br></div><div><br></div><div>Alternatively would be helpful for us to get a local reproduction of the problem.<br></div><div>OpenVPN configuration files would be helpful (we don't need any security<br></div><div>detail like keys, ip, host or system names, just to understand the type of VPN,<br></div><div>encryption parameters, compression, additional latency introduced and so on).<br></div><div><br></div><div>The fact that you are not able to get a record from the guest means that the QXL<br></div><div>(guest <-> server) protocol how the spice-server is handling guest command is<br></div><div>fine. The fact that on the client you can see clearly such slowness is due to spice<br></div><div>protocol, the connection/vpn, some spice-server implementation and possibly<br></div><div>client implementation too. Unfortunately too much stuff to be able to point the<br></div><div>finger to one of them.<br></div><div>I tried some test and did this:<br></div><div>- opened task manager on Windows 7;<br></div><div>- switched to performance tab;<br></div><div>- maximized task manager;<br></div><div>- double clicked on CPU usage to get only CPU usage and history.<br></div><div>When CPU usage change I can see the flickering on CPU usage but not on<br></div><div>the history graphs. It this the kind of flickering you are noticing?<span><span data-mce-style="color: #888888;" style="color: #888888;"><br></span></span></div><div><br></div><div>Frediano<br></div><div><div><blockquote style="border-left:2px solid #1010ff;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt" data-mce-style="border-left: 2px solid #1010ff; margin-left: 5px; padding-left: 5px; color: #000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div><br></div><div dir="ltr"><div><div>For which distro is that package ?<br>Centos 7.2 ? rhel7.3beta or fedora24 ?<br><div><br></div>Rob Verduijn<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-09-14 15:59 GMT+02:00 Frediano Ziglio <span dir="ltr"><<a href="mailto:fziglio@redhat.com" target="_blank" data-mce-href="mailto:fziglio@redhat.com">fziglio@redhat.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" data-mce-style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;"><div><div style="font-family:times new roman,new york,times,serif;font-size:12pt;color:#000000" data-mce-style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000;"><div>Could you test at least? Would be very helpful. We could then backport some improvements.<span><span style="color:#888888" data-mce-style="color: #888888;"><br></span></span></div><div><br></div><div>Frediano<br></div><div><div><div><br></div><blockquote style="border-left:2px solid #1010ff;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt" data-mce-style="border-left: 2px solid #1010ff; margin-left: 5px; padding-left: 5px; color: #000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div><br></div><div dir="ltr"><div>thanx,I'll stick with the centos packages, <br><div><br></div>I need a very good reason before I start using beta packages.<br></div><div>And a nice to have feature is not one of them.<br><div><br></div></div><div>Also I dug in to the openvpn tweaks and it seems that all of them are related to udp tunnels.<br></div><div>Performance is sadly rather low when you have to use tcp (like me) because the firewall is managed by a third party.<br><div><br></div></div><div>Rob Verduijn<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-09-14 15:49 GMT+02:00 Frediano Ziglio <span dir="ltr"><<a href="mailto:fziglio@redhat.com" target="_blank" data-mce-href="mailto:fziglio@redhat.com">fziglio@redhat.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex" data-mce-style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;"><div><div style="font-family:times new roman,new york,times,serif;font-size:12pt;color:#000000" data-mce-style="font-family: times new roman,new york,times,serif; font-size: 12pt; color: #000000;"><div><div><blockquote style="border-left:2px solid #1010ff;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt" data-mce-style="border-left: 2px solid #1010ff; margin-left: 5px; padding-left: 5px; color: #000; font-weight: normal; font-style: normal; text-decoration: none; font-family: Helvetica,Arial,sans-serif; font-size: 12pt;"><div><br></div><div dir="ltr"><div><div>Hello,<br><div><br></div></div>I'm trying to improve my spice performance on a kvm host/guest.<br></div><div>It's currently rather slow and I can see screens beeing build up, and delays when draging windows.<br></div><div><br></div><div>It's being tunneled through openvpn, which is set to use tcp. <br>tcp required because of the firewall which is maintained by 3rd party.<br><div><br></div></div><div>I have full access to the kvm host, kvm guest and openvpn server.<br><div><br></div></div><div>Have you got any tips so that I can improve spice performance ?<br></div><div>I alrready am running tuned with the virtual-guest profile for  guests and host profile for the host.<br></div><div>All systems are runnning CentOS 7<br></div><div><br></div><div>Any tips for :<br></div><div>- the KVM host ? <br></div><div>- the KVM guest ?<br></div><div>- the openvpn server ?<br><div><br></div></div><div>Cheers<br></div><div>Rob Verduijn<br></div></div></blockquote></div></div><div>Hi,</div><div>  can you try version at <a href="https://www.datafilehost.com/d/b07f008e" target="_blank" data-mce-href="https://www.datafilehost.com/d/b07f008e">https://www.datafilehost.com/d/b07f008e</a> ?<br></div><div><br></div><div>The sha1 hash (please check it) is 0e2191c363e109475aeb2bff401e699f0a07a795.<br></div><div><br></div><div>Be prepare for the rollback, it's not a version meant for production usage.<span><span style="color:#888888" data-mce-style="color: #888888;"><br></span></span></div><div><br></div><div>Frediano<br></div><div><br></div></div></div></blockquote></div><br></div></blockquote><div><br></div></div></div></div></div></blockquote></div><br></div></blockquote><div><br></div></div></div></div></div></blockquote></div><br></div></div></div></blockquote></div><br></div></blockquote><div><br></div></div></body></html>