Guest Additions vs. Guest Tools

I am running virtualbox on openSuSE Leap 15.1 as host with Windows 7 Pro as the guest in the virtual machine. In the past, I’ve always installed the corresponding version of guest additions, and have done so recently.

In addition to the package virtualbox and associated kernel modules and Qt GUI, YaST also lists the following packages:

virtualbox-guest-tools
virtualbox-guest-x11
virtualbox-guest-kmp-default

Although the accompanying information suggests that these are used by the virtual machine, I have not been able to locate a discussion in the SuSE documentation, the virtual box manual, or the forums (this one as well as the virtualbox forum) that discuss their specific roles. Does the installation of the Guest Additions iso render these packages redundant? See OrsoBruno’s post#5 at https://forums.opensuse.org/showthread.php/517260-VBox-5-16-Guest-Additions-not-starting-on-LEAP-42-1?p=2775400#post2775400.

Hi,

Those packages are for the guest OS so, since it has guest in its name. It may (or may not) conflict with the host OS if they have the same libraries, kernel modules on the same directories, which is intended for different purposes. Since I have not use the vbox package from the distro for a while I can’t really say that it will. I’m running the package from vbox.org and I remember to have some issues with installing those guest packages on the host os (openSUSE). If I understand what you’re trying to say correctly.

My question is whether those packages serve the same function as the guest additions iso.

The Guest Tools stuff is for OpenSUSE guests - not the OpenSUSE Host.
You need the Guest Additions for Windows guest. If you don’t install the Guest Tools stuff for OpenSUSE guests, you need the Guest Additions to use USB, move the mouse without the Host Key and to resize the guest window just like for Windows Guests.
The auto-download of the Guest Additions is broken in the latest release for 15.1 but the http to download it is in the error box.
The Guest Additions don’t to much without the VirtualBox Extension Pack installed as root to Virtualbox - I have a script to install it after Virtualbox on the host is updated - no guest should be running as you run it or it will fail.

# cat addvbext
echo update VirtualBox
VBOX_VERSION=`/usr/bin/VBoxManage --version | awk -F_ {'print $1'}`
VBOX_EXT=`echo Oracle_VM_VirtualBox_Extension_Pack-${VBOX_VERSION}.vbox-extpack`
cd /tmp
/usr/bin/wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/$VBOX_EXT
echo Y | /usr/bin/VBoxManage extpack install --replace $VBOX_EXT
rm -f $VBOX_EXT
# 

AFAIK yes. But these packages are for running openSUSE as a guest, not for Win7…

Guest Additions is the Virtualbox name for the collection of optional Guest enhancements which can be installed in Virtualbox.
In fact, if you analyze the Guest Additions installation, it’s actually typically a “master script” that calls a series of individual installation procedures.

The three packages you’ve identified are essential parts of the Guest Additions, but only for openSUSE Guests. They are not installed in the HostOS or in MSWindows Guests but may simply be available in the repository (but not installed unless appropriate)…
The “guest tools” are a small collection of misc functionality which are installed. Haven’t checked, but I assume should include things like shared clipboard.
The “guest-x11” is display enhancements (like automatic re-sizing the display when the VBox graphics console is re-sized)
The “guest-kmp-default” should be the openSUSE pre-built kernel modules which support the Guest Additions functionality.

When you have a MSWindows Guest,
You will need to install Guest Additions by loading the ISO into the virtual cdrom (menu option found in the Guest graphics console) then running the correct Guest Additions installer that supports Windows.

TSU

Thank you all for the thorough replies. I recalled seeing the “-guest” packages and wanted to confirm that they are indeed for openSuSE guests and not others.

As indicated in my initial post, I installed and am using the Guest Additions iso. For some unknown reason, I was not able to install the iso from the dialog (network failure), so I downloaded the file from the virtualbox website and then manually installed the iso. This has happened occasionally.

My notes for virtualbox go back several years and they mention compiling the kernel. It appears that this step is now taken care of at some point before installation or during installation. Nevertheless, the current openSuSE documentation states that one should install gcc, make, and kernel-devel, but I didn’t see any mention of running the vboxdrv command at the outset, unless a problem arises.

On openSUSE,
You always have the option to use per-compiled kernel modules and anything that might be based on their compilation (primarily the Guest Additions in an openSUSE client and the Virtualbox HostOS application when installed from an openSUSE repository). In fact if an openSUSE Guest installation recognizes a hypervisor-based environment, the pre-compiled enhancements are installed automatically.

Guest Additions are not available or installed for any other Guest, pre-compiled packages exist only for openSUSE Guests.
Unless there is a bug, there should not be any difference between the pre-compiled Guest Additions and compiling yourself, and you always have the option to remove the openSUSE packages and compiling your own.
For all other Guests, you will need to install from the Virtualbox Guest Additions ISO.

TSU

Perhaps a misunderstanding on my part. Doesn’t vboxdrv concern the kernel in the base package and not the guest?

Yes. and only in the HostOS.
But, that isn’t in your above 3 packages.

VBox 6.1 User Manual
https://www.virtualbox.org/manual/UserManual.html

TSU

Yes, I understood that vboxdrv did not apply to the guest packages. In post no. 7, I also mentioned the following:

My notes for virtualbox go back several years and they mention compiling the kernel. It appears that this step is now taken care of at some point before installation or during installation. Nevertheless, the current openSuSE documentation states that one should install gcc, make, and kernel-devel, but I didn’t see any mention of running the vboxdrv command at the outset, unless a problem arises.
Did the rpms change at some point in the recent past such that one no longer needed to compile the kernel?

If you allow openSUSE to automatically install Guest Additions from openSUSE packages,
There is no need to compile and therefor no need to install those compile tools… The modules and drivers you install would have been pre-compiled elsewhere (likely on an OBS server) and then simply copied to your machine.

If on the other hand you chose to use the Virtualbox Guest Additions ISO,
You would not be simply copying finished pieces to your machine,
You would be compiling on your machine so in that case would require those build tools(if building for an openSUSE Guest).

Virtualbox on openSUSE has been like this for a very long time, nothing has changed.

TSU

My last post referred to the base package - not the additions or SuSE guest packages, admittedly somewhat off of the initial topic. I recall from my notes that one of the steps during the installation of the host was execution of vboxdrv (/etc/init.d/vboxdrv setup). But I now see that this was likely a result of using the virtualbox packages, not those from YaST - see the last line in the following excerpt and the earlier reference to DKMS.

(initial 2014)
installation of VirtualBox files

added community repository for:
downloaded rpm VirtualBox 4.3.26 from:
Index of http://download.virtualbox.org/virtualbox/rpm/opensuse/12.3
(note: dkms NOT available for SuSE per Linux_Downloads – Oracle VM VirtualBox)

installed (previously) gcc, make, and kernel-devel

re-booted, ran /etc/init.d/vboxdrv setup

Note: install of virtualbox from Yast does not require packages or compiling
Since I am now using YaST for the installation files, the compile step is not necessary.