VirtScreen icon indicating copy to clipboard operation
VirtScreen copied to clipboard

Transfer image through USB

Open junocomp opened this issue 5 years ago • 8 comments

Is it possible to transfer the image through USB, similar to YamDisplay? Currently is very laggy when using WIFI only.

junocomp avatar Apr 04 '19 11:04 junocomp

The performance issue is mainly because of the poor performance of VNC that lacks modern video compressions.

Depending on a device you use, there are some tricks to improve connectivity between the host and the client via direct network connection, not via a wireless router (e.g. Hotspot, USB tethering). owever, the overall experience won't be dramatically improved since the biggest bottleneck is not on the network.

Please tell me about your VNC client device:

  • iOS or Android?
  • Does it have USB tethering?
  • What's the resolution you use?

kbumsik avatar Apr 04 '19 13:04 kbumsik

I am using RealVNC iPad 4 WIFI-only iOS 10.3.3 1024x768 Resolution

I have installed ipheth-utils and it detects my ipad as a wire connection but it won't enable it.

junocomp avatar Apr 04 '19 20:04 junocomp

As long as a TCP/IP communication established between the iPad and the host via USB, you certainly can connect it. What's the output of ip addr command while ipheth is connected to the iPad?

kbumsik avatar Apr 05 '19 10:04 kbumsik

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 94:c6:91:16:7f:59 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.12/24 brd 192.168.0.255 scope global dynamic noprefixroute eno1
       valid_lft 51205sec preferred_lft 51205sec
    inet6 fd86:879:6d5b:1:8021:2bd5:25d2:58a0/64 scope global temporary dynamic 
       valid_lft 7173sec preferred_lft 7173sec
    inet6 fd86:879:6d5b:1:e065:6cda:83e0:5018/64 scope global temporary deprecated dynamic 
       valid_lft 7173sec preferred_lft 0sec
    inet6 fd86:879:6d5b:1:2118:7ba9:4392:8b68/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 7173sec preferred_lft 7173sec
    inet6 fe80::bfd0:32dd:548c:f235/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlp58s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b0:35:9f:ff:74:6d brd ff:ff:ff:ff:ff:ff
    inet 10.42.0.1/24 brd 10.42.0.255 scope global noprefixroute wlp58s0
       valid_lft forever preferred_lft forever
    inet6 fe80::58b4:c3f0:5be7:5bb2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
4: enp0s20f0u1c4i2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 5e:96:9d:9a:94:f4 brd ff:ff:ff:ff:ff:ff

It should be 4th one.

$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.12  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::bfd0:32dd:548c:f235  prefixlen 64  scopeid 0x20<link>
        inet6 fd86:879:6d5b:1:2118:7ba9:4392:8b68  prefixlen 64  scopeid 0x0<global>
        inet6 fd86:879:6d5b:1:e065:6cda:83e0:5018  prefixlen 64  scopeid 0x0<global>
        inet6 fd86:879:6d5b:1:8021:2bd5:25d2:58a0  prefixlen 64  scopeid 0x0<global>
        ether 94:c6:91:16:7f:59  txqueuelen 1000  (Ethernet)
        RX packets 8032174  bytes 9521264385 (9.5 GB)
        RX errors 0  dropped 2  overruns 0  frame 0
        TX packets 5154335  bytes 2351464157 (2.3 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xdc200000-dc220000  

enp0s20f0u1c4i2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 5e:96:9d:9a:94:f4  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

junocomp avatar Apr 07 '19 17:04 junocomp

(I edited your above comment for better readability.) It looks like your iPad is recognized but no networking service available. I am not sure why but I guess because your iPad is WiFi only version that does not have USB hotspot feature.

Alternatively, you can connect your host PC via WiFi directly (bypass the router) by enabling a hotspot service on your laptop. It is a little bit complicated to enable a hotspot on the host PC, but fortunately there is a package called create_ap to automate the process.

kbumsik avatar Apr 08 '19 01:04 kbumsik

@giovannicaligaris Maybe you can consider using tightvnc? That might actually helps your problem. Since according to @kbumsik it is due to the lack of compression and this is exactly what tightvnc provides.

According to x11vnc, the dependency of this software:

image

It supports tightvnc and ultravnc file transfer. tightvnc use tight decoder which may speed up the transfer (actually ultravnc also has this feature), but I am unsure how well x11vnc supports this decoder. A peek at the performance comparsion provided by them seems that it does pretty good job.

tightvnc may suit you better since it offer remote-ripple on ipad, though not much people are using it.

Edit:

I asked a similar question LibVNC/x11vnc#101 on x11vnc.

NobodyXu avatar May 20 '19 04:05 NobodyXu

@giovannicaligaris I have found a potentially better alternative to remote-ripple on ipad of tightvnc -- [noVNC]. It can be run inside modern browers, including the one on iOS and Android and it is better maintained than remote-ripple on ipad (updated 9 days ago).

Supports all modern browsers including mobile (iOS, Android) Supported VNC encodings: raw, copyrect, rre, hextile, tight, tightPNG

NobodyXu avatar May 22 '19 05:05 NobodyXu

(I edited your above comment for better readability.) It looks like your iPad is recognized but no networking service available. I am not sure why but I guess because your iPad is WiFi only version that does not have USB hotspot feature.

Alternatively, you can connect your host PC via WiFi directly (bypass the router) by enabling a hotspot service on your laptop. It is a little bit complicated to enable a hotspot on the host PC, but fortunately there is a package called create_ap to automate the process.

but connecting the host PC directly with WIFI to the iPad, this will prevent the host PC to access internet router? or is a separated connection?

asyba avatar Jul 30 '19 12:07 asyba