Opened 5 years ago

Last modified 2 years ago

#11526 assigned enhancement

Document enabling mouse integration with host when using VirtualBox

Reported by: rq Owned by: nobody
Priority: normal Milestone: R1
Component: Documentation Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Until VirtualBox Guest additions are available for Haiku, we can't have proper mouse integration with the host system, which means, that the mouse is usually captured when clicking a window, and will not be released until the host key is pressed.

Apparently, there is a workaround for that, and it is explained here: https://www.haiku-os.org/community/forum/how_install_virtualbox_guest_additions#comment-28264

The author of that workaround suggested mentioning it in https://www.haiku-os.org/guides/virtualizing/virtualbox, and I think that's a good idea.

Attachments (4)

Emulating Haiku in VirtualBox.txt (17.2 KB ) - added by humdinger 5 years ago.
Current "Emulating Haiku in VirtualBox"
Emulating Haiku in VirtualBox_V2.0.txt (18.3 KB ) - added by humdinger 5 years ago.
Emulating Haiku in VirtualBox_V2.0.txt
EmulatingHaikuInVirtualBox_with_guest_additons.txt (18.1 KB ) - added by LkpPo 5 years ago.
Fixed version
EmulatingHaikuInVirtualBox_with_guest_additons.diff (12.3 KB ) - added by LkpPo 5 years ago.

Download all attachments as: .zip

Change History (36)

comment:1 by LkpPo, 5 years ago

Hello,

I want to take care of this change. I logged on the site but I do not have write access right on the page https://www.haiku-os.org/guides/virtualizing/virtualbox

How do the next step, please?

Regards,

-- Stéphane Aulery

comment:2 by humdinger, 5 years ago

I have attached the current version of "Emulating Haiku in VirtualBox". If you want, you can apply your changes, and upload it to this ticket.

by humdinger, 5 years ago

Current "Emulating Haiku in VirtualBox"

comment:3 by LkpPo, 5 years ago

It's normal that it lacks the opening paragraph?

comment:4 by humdinger, 5 years ago

Oops. You're right, I forgot to copy that... new version V2.0 attached...

by humdinger, 5 years ago

Emulating Haiku in VirtualBox_V2.0.txt

comment:5 by LkpPo, 5 years ago

Has a Patch: set

comment:6 by LkpPo, 5 years ago

I attached the final version, and a diff for proofreading (your choice). I moved and rewritten paragraphs on USB mouse and full screen mode, add an explanation of the Guest Additions in the introduction and how to know if you have the PAE / NX extensions. Some of the text layout.

comment:7 by humdinger, 5 years ago

Resolution: fixed
Status: newclosed

I have applied your changes, thanks very much!

comment:8 by LkpPo, 5 years ago

Nothing !

comment:9 by rq, 5 years ago

We're talking about installing Virtualbox Guest Additions, but how does one install them?

Can Haiku maybe provide a package for that?

Also, the following paragraph doesn't sound right (note I didn't really read all of the text, there might be more typos like this):

If you have previously installed Virtualbox Guest Additions, you can can benefit from better management of the mouse between the host and VM especially if you have more than one or is USB.

by LkpPo, 5 years ago

Fixed version

comment:10 by LkpPo, 5 years ago

Thank you for replay. Here is a second corrected version. This mini-guide assumes that VirtualBox is installed correctly. So I did not think it was necessary to explain more about the extensions. I'm on Debian and I only have to do "apt-get install virtualbox-guest-*" and it's done. For windows I do not know.

comment:11 by mmlr, 5 years ago

There seem to be a couple of misconceptions here.

Where Guest Additions are Installed:

The Guest Additions are, as their name implies, additions on the guest side of the VM. So they would need to be installed inside the virtual Haiku. Installing guest additions under the Linux host does not apply to the Haiku guest. Also the guest addition ISO that may be installed does not apply to Haiku, as it only contains drivers for other operating systems. Guest additions for Haiku are not yet available at all, so they can't be installed.

What enabling PAE/NX means:

PAE (Physical Address Extensions, allowing an otherwise 32-bit OS to address more than 4GB of RAM) and NX (Execute disable bit, a security feature to disallow execution in writable RAM pages) are CPU features. The setting to enable PAE/NX in VirtualBox does only control whether or not these features are exposed to the guest OS (if they are available on the host). The setting does not, as currently claimed in the document, control whether or not hardware virtualization is enabled (hardware virtualization is always enabled by default if available, as otherwise the VM would be very slow). While PAE is supported under Haiku, it won't be used unless you run with more then 4GB virtual RAM. As this is not really useful with a Haiku VM, the text should simply be removed from the document IMHO.

What mouse integration means:

There are two general types of pointing devices: absolute and relative ones. A traditional mouse is a relative pointing device, it sends relative positions to the OS when you move it as it has no concept of its own position in space (it tells "I moved by 20 pixels to the left").

A touch screen or tablet on the other hand is an absolute pointing device. If you tap the touch screen on the upper left corner it sends this absolute information to the OS (it tells "I was touched at pixel 5, 5").

Mouse integration now simply means that the pointing device exposed inside the VM is such an absolute pointing device. If it is absolute, the hypervisor can send the actual coordinates of where the mouse pointer resides within the VM window to the guest OS and does not need to trap the mouse in the window.

Using a pointing device setting of "USB tablet" (or checking the setting "use absolute pointing device" as it was called in earlier versions of VirtualBox) will ensure that the Haiku guest sees an absolute pointing device and the mouse will become "integrated". This has worked for years under Haiku, is not specific to VirtualBox (at least QEMU/KVM has the same option) and does not require any setup on the guest OS side.

To sum it up:

The VirtualBox Guest Additions do provide optimized drivers that reduce the overhead of the communication between the guest and the host OS (graphics, network and pointing devices) by providing simpler protocols. It also allows for extra features like matching the guest screen resolution with the window size or shared folders and clipboard between guest and host. So having a Haiku port of these Guest Additions is certainly desirable. Concerning mouse integration alone, they are not *required* however.

comment:12 by LkpPo, 5 years ago

Ok. I took my first steps with VirtualBox and I was misled by the text already written and the first comment of the ticket. I take the original and I start again.

comment:13 by rq, 5 years ago

@LkpPo:

  1. I'm not sure why you decided to reformat markup and line-breaks of the text as part of this bug. At the very least, these formatting changes make it more difficult to discover actual text differences between your version and the original, so unless somebody asked you to reformat that code as part of work on this bug, you probably should not do that.
  1. I'm not sure why you removed the text explaining that Guest Additions are not yet available for Haiku. Sadly, these paragraphs still apply. (This note also concerns the last paragraph that you have removed).

comment:14 by LkpPo, 5 years ago

@rq

  1. My editor automatically breaks line of 78 char and more. I also wanted to better separate paragraphs with <P> tags.
  1. Misunderstanding on my part. As I say I take the original text and I again. I completely screwed up, sorry.

in reply to:  11 ; comment:15 by diver, 5 years ago

Replying to mmlr:

Guest additions for Haiku are not yet available at all, so they can't be installed.

Actually, there is a package in HaikuDepot with VirtuaBox guest additions

While PAE is supported under Haiku, it won't be used unless you run with more then 4GB virtual RAM.

In #10279 Ingo mentioned that with the introduction of NX support PAE is always used when available.

comment:16 by richienyhus, 5 years ago

Resolution: fixed
Status: closedreopened

Reopening as there are problems with the changes applied by Humdinger. I would change it myself, but this is one of the articles where my drupal write permissions are stuffed up.

The guest additions should be an additional step rather than the shoe-horned into the main sections of the article. The changes in the intro are confusing, as the paragraphs do not hold a constant train of thought anymore.

The deleted trubleshooting section still applies if the user it not using guest additions and should of simply been changed to inform the user that they need to install the additions if they suffer any problems. There should a mention of how to actually get the guest additions package via HaikuDepot.

Also can someone add ' width="675" ' to the larger images at the top, as their right side is cut off for me.

comment:17 by LkpPo, 5 years ago

@richienyhus

Well I am a new comer. I wanted to do something simple to start contributing, but it's starting to overtake me. The original text is attached in "Emulating VirtualBox_V2.0.txt in Haiku." I go out to those who have all the knowledge necessary to disentangle.

comment:18 by humdinger, 5 years ago

I have reverted the page to the original version. I apologize for applying the changes prematurely and not checking them thoroughly.

@LkpPo: Don't be discouraged. Feel free to return and have a fresh start with mmlr's info in mind. :)

comment:19 by LkpPo, 5 years ago

@humdinger : I'm willing to try again, but I'll leave that for tomorrow. I would write the change to minimum, knowing that it still needs a major revision (VirtualBox version screenschots, etc).

in reply to:  15 comment:20 by rq, 5 years ago

Replying to diver:

Replying to mmlr:

Guest additions for Haiku are not yet available at all, so they can't be installed.

Actually, there is a package in HaikuDepot with VirtuaBox guest additions

How can I install that package using HaikuDepot? I have a Haiku nightly image from a few days back, and I can't find a single package by entering "virtualb" into the search field.

comment:21 by diver, 5 years ago

Check pkgman list, maybe you have an outdated HaikuPorts repo url, it should be http://packages.haiku-os.org/haikuports/master/repo/x86_gcc2/current.

Then you can install it using pkgman install virtualbox_guest_additions or HaikuDepot.

in reply to:  21 ; comment:22 by rq, 5 years ago

Replying to diver:

Check pkgman list, maybe you have an outdated HaikuPorts repo url, it should be http://packages.haiku-os.org/haikuports/master/repo/x86_gcc2/current.

Then you can install it using pkgman install virtualbox_guest_additions or HaikuDepot.

OK, apparently, HaikuDepot points to snapshot URLs by default. E.g. with a just downloaded nightly build, the Haiku repository points to .../r1~alpha4_pm_href48408, and HaikuDepot pointed to (presumingly) some git commit id, until I changed it to 'current' manually.

Also, I didn't even notice until now that haiku-files.org contains old snapshots. Why doesn't that website simply redirect to the new one instead of showing an unobtrusive message in green background, which many returning visitors will likely not even notice?

Then the last question: I've installed guest additions, shut Haiku down, changed mouse setting back to PS/2 mouse, and booted Haiku again, and it acts just like it acted when no guest additions were installed: mouse integration doesn't work, and I can't find any relevant shortcut in the feather menu. Am I missing something?

Edit: I found the three VBox* executables under /boot/system/bin. I launched all three of them, and VBoxTray added itself to the tray (and to autostart), but that's all that changed. Still no mouse integration, and upon reboot, VBoxService actually crashed.

Last edited 5 years ago by rq (previous) (diff)

in reply to:  22 comment:23 by diver, 5 years ago

Replying to rq:

OK, apparently, HaikuDepot points to snapshot URLs by default. E.g. with a just downloaded nightly build, the Haiku repository points to .../r1~alpha4_pm_href48408, and HaikuDepot pointed to (presumingly) some git commit id, until I changed it to 'current' manually.

By default /system/settings/package-repositories are configured to point to the revision the image was built with. (HaikuDepot has nothing to do with it btw). You can update them using this guide https://www.haiku-os.org/guides/daily-tasks/updating-system.

Then the last question: I've installed guest additions, shut Haiku down, changed mouse setting back to PS/2 mouse, and booted Haiku again, and it acts just like it acted when no guest additions were installed: mouse integration doesn't work, and I can't find any relevant shortcut in the feather menu. Am I missing something?

Apparently, there it no VirtualBox specific mouse filter add-on (yet?). So Mouse integration only works with "USB tablet".

Edit: I found the three VBox* executables under /boot/system/bin. I launched all three of them, and VBoxTray added itself to the tray (and to autostart), but that's all that changed. Still no mouse integration, and upon reboot, VBoxService actually crashed.

You need to enable clipboard sharing in VM settings first and make sure that VBoxTray is running. It crashes only the first time upon reboot. VBoxTray sometimes stops working and you have to quit Deskbar using ProcessController and start it again from Desktop context menu.

Last edited 5 years ago by diver (previous) (diff)

comment:24 by luroh, 5 years ago

I'd be inclined to close this ticket as invalid. Using the 'USB tablet' setting may achieve "mouse integration" but breaks multiple selection holding down <Alt>.

in reply to:  24 comment:25 by rq, 5 years ago

Replying to luroh:

I'd be inclined to close this ticket as invalid. Using the 'USB tablet' setting may achieve "mouse integration" but breaks multiple selection holding down <Alt>.

Why not just mention that together with the other info?

comment:26 by pulkomandy, 5 years ago

haiku-files.org is kept online as the old files available there are not migrated to the new website. They are still useful for regression searching in old nightlies, as we know we will get a bunch of "worked in alpha 4.1, doesn't work in beta1" reports when the latter is released. And we need people to test some older nightlies in that case to find where the breakage happened.

@luroh: then this should be fixed. Please open a separate bugreport about it, and yes, we can add a warning about that in the vbox page (reminding people that Haiku is designed to run natively, and that using a VM is not the best way to make use of it, performance drops, limitations, etc.)

in reply to:  24 ; comment:27 by diver, 5 years ago

Replying to luroh:

I'd be inclined to close this ticket as invalid. Using the 'USB tablet' setting may achieve "mouse integration" but breaks multiple selection holding down <Alt>.

Multiple selection with Alt works just fine here

comment:28 by waddlesplash, 5 years ago

Works fine here too.

in reply to:  27 comment:29 by luroh, 5 years ago

Replying to diver:

Multiple selection with Alt works just fine here

That's good to know. Iirc, me and jessicah ran into the Alt problem some time ago.

comment:30 by pulkomandy, 4 years ago

Has a Patch: unset

comment:31 by nielx, 3 years ago

Owner: changed from nielx to nobody
Status: reopenedassigned

comment:32 by waddlesplash, 2 years ago

Close as fixed/invalid then?

Note: See TracTickets for help on using tickets.