gir1.2-spiceclientgtk-3.0 essential package?

KVM + Whonix installation should minimized as much as running whonix , any other extra features should has its own section for e.g if you want to have x working install y, But it shouldnt be installed with the main command for KVM.

This package gir1.2-spiceclientgtk-3.0 is it essential to make whonix run over kvm? if no, separate it into different section and add what is it useful for.


Another question, why not using --no-install-recommends when installing kvm?

Agreed.

Seems essential. The description from upstream on Github
" libspice-client-gtk-3.0

provides gtk widget to show spice display and accept user input."

means it is necessary for the GUI display to function.

About half of the suggestions are crypto libs for encrypting VM communications and storage. The other is for storage management and VM file sharing via samba (which someone running Windows might want). I would have to read up on all the use cases these packages enable before ripping them out otherwise I risk having people complain about KVM being broken for whatever other usecase they had in mind and it would be confusing for everyone.

1 Like

--no-install-recommends is very important for upcoming Whonix-Host. We need an exact list of packages as if installed with --no-install-recommends - that is effectively what debian packaging Depends: and the build process uses.

1 Like
user@host:~$ sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients virt-manager gir1.2-spiceclientgtk-3.0 dnsmasq --no-install-recommends
[sudo] password for user:         
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  augeas-lenses dnsmasq-base genisoimage gir1.2-gtk-vnc-2.0
  gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0
  gir1.2-vte-2.91 ipxe-qemu libaio1 libaugeas0 libbluetooth3 libbrlapi0.6
  libcacard0 libcapstone3 libfdt1 libgtk-vnc-2.0-0 libgvnc-1.0-0 libibverbs1
  libnetcf1 libnl-3-200 libnl-route-3-200 libosinfo-1.0-0 libpcap0.8
  libpcsclite1 libphodav-2.0-0 libphodav-2.0-common librdmacm1
  libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libspice-server1
  libusbredirhost1 libusbredirparser1 libvdeplug2 libvirglrenderer0
  libvirt-daemon libvirt-glib-1.0-0 libvirt0 libxencall1 libxendevicemodel1
  libxenevtchn1 libxenforeignmemory1 libxengnttab1 libxenmisc4.11
  libxenstore3.0 libxentoolcore1 libxentoollog1 logrotate osinfo-db
  python-certifi python-chardet python-idna python-pkg-resources
  python-requests python-six python-urllib3 python3-certifi python3-chardet
  python3-dbus python3-idna python3-libvirt python3-libxml2 python3-requests
  python3-urllib3 qemu-system-common qemu-system-data qemu-system-x86 seabios
  spice-client-glib-usb-acl-helper usb.ids usbutils virtinst
**Suggested packages:**
  augeas-doc resolvconf wodim cdrkit-doc augeas-tools libosinfo-l10n pcscd
  gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good
  gstreamer1.0-libav libvirt-daemon-driver-storage-gluster
  libvirt-daemon-driver-storage-rbd libvirt-daemon-driver-storage-zfs numad
  auditd nfs-common open-iscsi radvd systemtap zfsutils python-setuptools
  python-cryptography python-openssl python-socks python-ntlm python-dbus-doc
  python3-dbus-dbg samba vde2 qemu-block-extra sgabios virt-viewer ssh-askpass
  gnome-keyring gir1.2-secret-1 python3-guestfs
**Recommended packages:**
  dns-root-data ibverbs-providers gstreamer1.0-libav gstreamer1.0-plugins-base
  gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly libxml2-utils
  netcat-openbsd lvm2 bsd-mailx | mailx python-cryptography python-ipaddress
  python-openssl qemu-system-gui qemu-utils ovmf virt-viewer
The following NEW packages will be installed:
  augeas-lenses dnsmasq dnsmasq-base genisoimage gir1.2-gtk-vnc-2.0
  gir1.2-libosinfo-1.0 gir1.2-libvirt-glib-1.0 gir1.2-spiceclientglib-2.0
  gir1.2-spiceclientgtk-3.0 gir1.2-vte-2.91 ipxe-qemu libaio1 libaugeas0
  libbluetooth3 libbrlapi0.6 libcacard0 libcapstone3 libfdt1 libgtk-vnc-2.0-0
  libgvnc-1.0-0 libibverbs1 libnetcf1 libnl-3-200 libnl-route-3-200
  libosinfo-1.0-0 libpcap0.8 libpcsclite1 libphodav-2.0-0 libphodav-2.0-common
  librdmacm1 libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5
  libspice-server1 libusbredirhost1 libusbredirparser1 libvdeplug2
  libvirglrenderer0 libvirt-clients libvirt-daemon libvirt-daemon-system
  libvirt-glib-1.0-0 libvirt0 libxencall1 libxendevicemodel1 libxenevtchn1
  libxenforeignmemory1 libxengnttab1 libxenmisc4.11 libxenstore3.0
  libxentoolcore1 libxentoollog1 logrotate osinfo-db python-certifi
  python-chardet python-idna python-pkg-resources python-requests python-six
  python-urllib3 python3-certifi python3-chardet python3-dbus python3-idna
  python3-libvirt python3-libxml2 python3-requests python3-urllib3 qemu-kvm
  qemu-system-common qemu-system-data qemu-system-x86 seabios
  spice-client-glib-usb-acl-helper usb.ids usbutils virt-manager virtinst
0 upgraded, 78 newly installed, 0 to remove and 0 not upgraded.
Need to get 26.0 MB of archives.
After this operation, 92.3 MB of additional disk space will be used.

Not installing recommended packages excludes ovmf necessary for UEFI support. QEMU utils are needed for qemu-guest-agent and libguestfs for accessing maniupulating a qcow2 filesystem. The Gstreamer stuff AFAICT is needed for KVM’s desktop capture feature

1 Like

Currently:

sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients virt-manager gir1.2-spiceclientgtk-3.0 dnsmasq

Could you please change to new style?

(package names need actual names, this is just an example):

sudo apt-get install --no-install-recommends qemu-kvm libvirt-daemon-system libvirt-clients virt-manager gir1.2-spiceclientgtk-3.0 dnsmasq ovmf qemu-utils qemu-guest-agent libguestfs gstreamer

To add as few packages explicit y as possible. Also useful:

apt-cache show qemu-kvm

For every package listed now. Then look at Recommends: and add those which would now be “missed” due to --no-install-recommends.

1 Like

Done

2 Likes

GUI display to function for remote management with spice or GUI display unrelated to remote management/spice?

Local AFAICT. I’ve since changed the install instructions to exclude recommended packages.