Hi, Thanks for these nice instructions. I have succeeded by using them (I have had to add the package "libxslt" to install the required program "xsltproc"). Now the mouse is integrated, I have no error but the display is not dynamically resized. NetBSD 9.0 was used to do the compilation. In attachment to this mail, you will find the file ~/.xinitrc I have used to start X with the command "startx". Do you have an idea for the reason why the resizing is not done? Do I have missed something? Thanks for your help, Best regards > Gesendet: Montag, 06. April 2020 um 11:48 Uhr > Von: "Chavdar Ivanov" <ci4ic4%gmail.com@localhost> > An: "Sad Clouds" <cryintothebluesky%gmail.com@localhost> > Cc: "Pierre Dupond" <76nemo76%gmx.ch@localhost>, "netbsd-users @ netbsd. org" <netbsd-users%netbsd.org@localhost> > Betreff: Re: graphical desktop in virtualbox > > On Mon, 6 Apr 2020 at 09:52, Sad Clouds <cryintothebluesky%gmail.com@localhost> wrote: > > > > There were many responses to you original email, but I couldn't > > quite figure out if anyone suggested a practical solution to your > > problem. I'm interested to know the answer as well, as I also run > > NetBSD as a VirtualBox VM. > > > > I didn't think VirtualBox extensions were usable with NetBSD guests, > > They are... > > > so I've used a different solution - TigerVNC. It is one of a few > > software packages that also works reasonably well on sparc64. If you > > need details on how to set it up to run remote X11 session, then drop > > me a quick email and I'll give you a copy of my scripts. > > > > Here we are, all credit to Valery Ushakov. There are quite a bit of > mail exchanges on port-amd64 regarding these, but the gist is as > follows. > > 1. Install devel/kbuild and devel/yasm. Earlier versions of kbuild > were unusable and there was a package in wip, now the version present > in pkgsrc works just fine. > > 2. make sure /usr/src and /usr/xsrc are populated with the sources for > the exact version you are running; I have them nfs-mounted from my > build host. As the build process requires the exact system sources, it > would be perhaps difficult or impossible to have this in pkgsrc; > adding the necessary bits to the NetBSD source tree on the other hand > would be a lot of work for not that big return. > > 3. Download the sources from Oracle VirtualBox, at the moment > https://download.virtualbox.org/virtualbox/6.1.4/VirtualBox-6.1.4.tar.bz2 > . > > 4. Extract the sources somewhere, cd to VirtualBox-6.1.4. > > 5. Create LocalConfig.kmk with the following contents: > > VBOX_WITHOUT_HARDENING := 1 > VBOX_ONLY_ADDITIONS := 1 > VBOX_WITH_ADDITION_DRIVERS := 1 > VBOX_WITH_X11_ADDITIONS := 1 > VBOX_ONLY_ADDITIONS_WITHOUT_RTISOMAKER := 1 > > ifeq ($(KBUILD_TARGET), netbsd) > TEMPLATE_VBOXGUESTR3EXE_LIBS = $(TEMPLATE_VBOXR3EXE_LIBS) crypt > endif > > 6. Apply the following small patch (perhaps an oversight by whoever > has commited the corresponding file at VirtualBox, it works for me): > > # cat sleepqueue-r0drv-netbsd.patch > > --- src/VBox/Runtime/r0drv/netbsd/sleepqueue-r0drv-netbsd.h.ORIG > 2020-04-06 10:03:05.099721005 +0100 > +++ src/VBox/Runtime/r0drv/netbsd/sleepqueue-r0drv-netbsd.h > 2020-04-06 10:03:22.569466321 +0100 > @@ -37,7 +37,7 @@ > #include <iprt/time.h> > > static syncobj_t vbox_syncobj = { > - SOBJ_SLEEPQ_FIFO, > + SOBJ_SLEEPQ_LIFO, > sleepq_unsleep, > sleepq_changepri, > sleepq_lendpri, > > (The error message in the build process suggests it). > > 7. Go ahead with the build process: > > kmk KBUILD_VERBOSE=2 BUILD_TYPE=release > > The above should finish without an error and leave you with > > # ls -l out/netbsd.amd64/release/bin/additions > total 32224 > -rwxr-xr-x 2 root wheel 8519872 Apr 6 10:05 VBoxClient > -rwxr-xr-x 2 root wheel 8962432 Apr 6 10:05 VBoxControl > -rwxr-xr-x 2 root wheel 8359344 Apr 6 10:05 VBoxService > -rwxr-xr-x 1 root wheel 331312 Apr 6 10:05 vboxguest.kmod > -rwxr-xr-x 2 root wheel 357864 Apr 6 10:05 vboxvideo_drv_110.so > -rwxr-xr-x 2 root wheel 343312 Apr 6 10:05 vboxvideo_drv_111.so > -rwxr-xr-x 2 root wheel 343216 Apr 6 10:05 vboxvideo_drv_112.so > -rwxr-xr-x 2 root wheel 354712 Apr 6 10:05 vboxvideo_drv_113.so > -rwxr-xr-x 2 root wheel 354680 Apr 6 10:05 vboxvideo_drv_114.so > -rwxr-xr-x 2 root wheel 354952 Apr 6 10:05 vboxvideo_drv_115.so > -rwxr-xr-x 2 root wheel 356712 Apr 6 10:05 vboxvideo_drv_116.so > -rwxr-xr-x 2 root wheel 355672 Apr 6 10:05 vboxvideo_drv_117.so > -rwxr-xr-x 2 root wheel 358424 Apr 6 10:05 vboxvideo_drv_118.so > -rwxr-xr-x 2 root wheel 350448 Apr 6 10:05 vboxvideo_drv_13.so > -rwxr-xr-x 2 root wheel 346232 Apr 6 10:05 vboxvideo_drv_14.so > -rwxr-xr-x 2 root wheel 344536 Apr 6 10:05 vboxvideo_drv_15.so > -rwxr-xr-x 2 root wheel 378928 Apr 6 10:05 vboxvideo_drv_16.so > -rwxr-xr-x 2 root wheel 360632 Apr 6 10:05 vboxvideo_drv_17.so > -rwxr-xr-x 2 root wheel 361008 Apr 6 10:05 vboxvideo_drv_18.so > -rwxr-xr-x 2 root wheel 362296 Apr 6 10:05 vboxvideo_drv_19.so > -rwxr-xr-x 2 root wheel 288936 Apr 6 10:05 vboxvideo_drv_70.so > -rwxr-xr-x 2 root wheel 285664 Apr 6 10:05 vboxvideo_drv_71.so > > 8. Now I usually place all these files in /usr/local/bin/additions > directory, to keep them away from the system and allow me to easlily > replace them. > > 9. Create the directory for the kernel module: > > # mkdir /stand/amd64/9.99.54/modules/vboxguest ###(obviously adjust to > your NetBSD version) > # cp /usr/local/bin/additions/vboxguest.kmod > /stand/amd64/9.99.54/modules/vboxguest > > 10. I modify my /etc/rc.local, adding > > .... > if [ -x /stand/amd64/`uname -r`/modules/vboxguest/vboxguest.kmod ]; then > /sbin/modload vboxguest > fi > > if [ -x /usr/local/bin/additions/VBoxService ]; then > /usr/local/bin/additions/VBoxService --pidfile /var/run/VBoxService.pid > fi > ..... > > On first execution of '/sbin/modload vboxguest' you will get > > # ls -l /dev/vboxguest > crw-rw-rw- 1 root wheel 357, 0 Nov 8 00:07 /dev/vboxguest > > So, no need to create it. > > 11. Now try > > . /etc/rc.local > > You shoould get: > > . /etc/rc.local > Starting local daemons:09:24:55.136639 main VBoxService 6.1.4 > r136177 (verbosity: 0) netbsd.amd64 (Apr 5 2020 14:07:20) release log > 09:24:55.136656 main Log opened 2020-04-06T09:24:55.136618000Z > 09:24:55.136769 main OS Product: NetBSD > 09:24:55.136786 main OS Release: 9.99.54 > 09:24:55.136797 main OS Version: NetBSD 9.99.54 (GENERIC_KASLR) > #0: Sun Apr 5 12:22:39 BST 2020 > sysbuild@ymir:/home/sysbuild/amd64/obj/home/sysbuild/src/sys/arch/amd64/compile/GENERIC_KASLR > 09:24:55.136806 main Executable: /usr/local/bin/additions/VBoxService > 09:24:55.136811 main Process ID: 9510 > 09:24:55.136820 main Package type: BSD_64BITS_GENERIC > 09:24:55.138890 main 6.1.4 r136177 started. Verbose level = 0 > > and in the log file > > [ 3649.241416] vboxguest0 at pci0 dev 4 function 0: VirtualBox Guest > [ 3649.252985] vboxguest0: interrupting at ioapic0 pin 20 > [ 3649.252985] wsmouse1 at vboxguest0 mux 0 > > 12. Make sure you get > > /usr/local/bin/additions/VBoxClient --display > /usr/local/bin/additions/VBoxClient --clipboard > > executed whenever you start X (in your .xinitrc, .xsession or the > environment you are using). > > As I mentioned before, dynamic resizing now works, but not seamless. > You also can't mount a shared folder (that's never been an issue for > me). > > 13. Make sure "ws" driver is used for the mouse. > > Chavdar > > > > > > > > > > > > > > > -- > ---- >
Attachment:
xinitrc
Description: Binary data