diff --git a/host/bins/cfc-0.1.0-x64.deb b/host/bins/cfc-0.1.0-x64.deb index 183494d..0767c78 100644 Binary files a/host/bins/cfc-0.1.0-x64.deb and b/host/bins/cfc-0.1.0-x64.deb differ diff --git a/host/src/pack/dpkg/etc/rc.civ.post b/host/src/pack/dpkg/etc/rc.civ.post index 324ebb7..1509658 100755 --- a/host/src/pack/dpkg/etc/rc.civ.post +++ b/host/src/pack/dpkg/etc/rc.civ.post @@ -65,6 +65,6 @@ balloon_civ /opt/lg/bin/LG_B1_Client_clipboard guestClipboard:enable=true & -pause_civ +flock -n -x /var/lock/civ_startapp.lock pause_civ || exit 0 diff --git a/host/src/pack/dpkg/opt/cfc/mwc/bin/lg_launcher.sh b/host/src/pack/dpkg/opt/cfc/mwc/bin/lg_launcher.sh index 313e57e..9182064 100755 --- a/host/src/pack/dpkg/opt/cfc/mwc/bin/lg_launcher.sh +++ b/host/src/pack/dpkg/opt/cfc/mwc/bin/lg_launcher.sh @@ -29,7 +29,9 @@ if [ "$num_start_app" -lt "1" ]; then if ! systemctl --user is-active civ ; then - /opt/lg/bin/startapp + flock -x /var/lock/civ_startapp.lock /opt/lg/bin/startapp + # startapp might spwan a adb server which will hold the lock even after startapp exit, kill the adb server here to release the lock + adb kill-server fi # Resume CiV /opt/cfc/mwc/bin/resume_civ.sh @@ -97,6 +99,9 @@ if [ ! -z ${ENABLE_CIV_BALLOON} ]; then fi fi +# delay for guest to finish some tasks +sleep 3 + # Pause CiV if [ -z "$(pidof mwc_launcher)" ] && [ -z "$(pidof LG_B1_Client)" ] && [ -z "$(pgrep -ax adb | grep -v "fork-server")" ]; then /opt/cfc/mwc/bin/pause_civ.sh diff --git a/host/src/pack/dpkg/opt/cfc/mwc/bin/penguin-peak.ini b/host/src/pack/dpkg/opt/cfc/mwc/bin/penguin-peak.ini index c967792..40d60a3 100644 --- a/host/src/pack/dpkg/opt/cfc/mwc/bin/penguin-peak.ini +++ b/host/src/pack/dpkg/opt/cfc/mwc/bin/penguin-peak.ini @@ -36,5 +36,5 @@ time_keep= pm_control= [extra] -cmd=-display egl-headless -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass0 -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass1 -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass2 -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass3 -device vhost-vsock-pci,id=vhost-vsock-pci0,guest-cid=3 -device ivshmem-plain,memdev=ivshmem0,bus=pcie.0 -object memory-backend-file,id=ivshmem0,share=on,mem-path=/dev/shm/looking-glass0,size=32M -device ivshmem-plain,memdev=ivshmem1,bus=pcie.0 -object memory-backend-file,id=ivshmem1,share=on,mem-path=/dev/shm/looking-glass1,size=32M -device ivshmem-plain,memdev=ivshmem2,bus=pcie.0 -object memory-backend-file,id=ivshmem2,share=on,mem-path=/dev/shm/looking-glass2,size=32M -device ivshmem-plain,memdev=ivshmem3,bus=pcie.0 -object memory-backend-file,id=ivshmem3,share=on,mem-path=/dev/shm/looking-glass3,size=32M -spice port=5900,disable-ticketing -drive file=/home/kylin/civ/.userdata/username.img,if=none,id=disk2 -device virtio-blk-pci,drive=disk2,bootindex=2 -virtfs local,path=/home/kylin/Android/Pictures,mount_tag=Pictures9p,security_model=none -virtfs local,path=/home/kylin/Android/Download,mount_tag=Download9p,security_model=none -device virtio-balloon +cmd=-display egl-headless -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass0 -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass1 -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass2 -device virtio-input-host-pci,evdev=/dev/input/by-id/input-looking-glass3 -device ivshmem-plain,memdev=ivshmem0,bus=pcie.0 -object memory-backend-file,id=ivshmem0,share=on,mem-path=/dev/shm/looking-glass0,size=32M -device ivshmem-plain,memdev=ivshmem1,bus=pcie.0 -object memory-backend-file,id=ivshmem1,share=on,mem-path=/dev/shm/looking-glass1,size=32M -device ivshmem-plain,memdev=ivshmem2,bus=pcie.0 -object memory-backend-file,id=ivshmem2,share=on,mem-path=/dev/shm/looking-glass2,size=32M -device ivshmem-plain,memdev=ivshmem3,bus=pcie.0 -object memory-backend-file,id=ivshmem3,share=on,mem-path=/dev/shm/looking-glass3,size=32M -spice port=5900,disable-ticketing -drive file=/home/kylin/civ/.userdata/username.img,if=none,id=disk2 -device virtio-blk-pci,drive=disk2,bootindex=2 -virtfs local,path=/home/kylin/Android/Pictures,mount_tag=Pictures9p,security_model=none -virtfs local,path=/home/kylin/Android/Download,mount_tag=Download9p,security_model=none -device virtio-balloon service=/opt/civ/data/Release_Deb/scripts/lg-input-manager; diff --git a/host/src/pack/dpkg/var/lock/civ_startapp.lock b/host/src/pack/dpkg/var/lock/civ_startapp.lock new file mode 100644 index 0000000..e69de29