Hacker News new | past | comments | ask | show | jobs | submit login
VirtualBox 6.1 (virtualbox.org)
89 points by h0ek on Dec 13, 2019 | hide | past | favorite | 118 comments



It might be better to steer clear of VirtualBox and other Oracle products because of the licensing issues: https://www.theregister.co.uk/2019/10/04/oracle_virtualbox_m...

If you only use the open source parts you're okay, but it's a bit scary.


VirtualBox itself is released under the GPL version 2. It is the "Extension Pack" that has the license, not to be confused by the the Guest Additions, which are community.

So, steer clear of the Extension Pack.


This is my policy as well.

My perception of Oracle is that they'll do very underhanded, even criminal, acts to extract money from entities who have at one time used their software.

Happily, I have enough alternatives to VirtualBox to let me avoid that risk.


What alternatives do you recommend?


I've been using KVM with virt-manager UI (and virsh). Simple, solid, production ready, 100% free software. PCIe and USB passthrough work fine.


Having ran my home (and work) lab environments with many different virtualization systems, in the end, I always keep coming back to VMware. ESXi in particular. These days, with GPU pass-through, you can make it a workstation and a server at the same time. It's free for personal use and it's rock solid.


In the same vein, Proxmox is another choice, it's open source (or you can pay for support), also allows for GPU pass-through.


Proxmox is a management layer over LVM (and LXC), not a different virtualization technology.


I assume you mean KVM. Yes it's based on existing technologies, I wouldn't necessarily call it just a management layer however.


XenServer would be another similar choice that supports GPU passthrough. Depends a lot on what you're used to.


Any idea if one can emulate different versions of OpenGL too? I'm trying to figure out a sustainable way to test across versions without needing a lot of hardware.


KVM and libvirt also support GPU pass through.


The last time I looked into this, it was for running Linux VMs on my 2017 MacBookPro. I went with VMWare Fusion, and I've been pretty happy with it.

I'm not sure if there's a better option today, and/or for different host/guest combos.


Fusion has been amazing in my experience. Never had issues with my VMs being sluggish like with VirtualBox. Plus 100% compatibility with Workstation for transferring VMs between Windows/Linux and Mac hosts. Annoying that they have a paid upgrade yearly, but I’ll gladly accept that because the alternative is giving Oracle money. Older versions usually hold up fine for a few years anyway, so long as newer Windows or Linux releases don’t break anything.


Are there any other cross-platform virtualization platforms nowadays? I need something to run Vagrant on that my team can use on mac, windows, and Linux. Ideally all using the same hypervisor, so I don't need to have 3 different sets of documentation for each thing..


I think the real benefit of vagrant is that you don’t need to all use the same hypervisor.

Maybe some little tweaks here and there to target specific ones in the vagrantfile, but otherwise I’ve found it to be largely a non issue to have different hypervisors, so long as you have a base box that supports all the ones you want to use (which is part of why my company builds base boxes - to have something reliable for client projects - either used as is, or where appropriate building on top of our box setup process to make customised boxes)


VMWare. I know, I know, proprietary bad and all that, but for just getting stuff done with minimal fuss and not yak-shaving (like, say, vagrant), vmware is good.


windows and linux have native solutions, for macos there's vmware and parallels, but really, virtualbox is fine too, unless your are this big company with hundreds of deployments and have to think hard about licensing.


Anything free or inexpensive?


I've been running Multipass [0] by Canonical for the past few months and it has been great.

[0] https://multipass.run/


Big caveat: multipass does not support bridged networking so you can't configure your VM as just another server on a local network. See this issue:

https://github.com/CanonicalLtd/multipass/issues/118


If you're running Linux, virt-manager works fine for a lot of scenarios.

If you want to provision a server as a VM host, Proxmox free version is pretty good but you have to manually update it.


virtualbox is fine (but don't know your needs exactly).


We have actually blocked virtualbox.org at the domain level at my enterprise because of the licensing issues.


I wonder if that would even be defensible in court. The licence surely covers the use of the software in question, not to be a carrier of the telemetry data to report usage of such software.


Even if the use of presumably open and free VirtualBox was defensible in court, that wouldn't stop the strong potential of time consuming and expensive defense against the Oracle audit machine. I would recommend never installing anything from Oracle, period.


You may have to pay for other people's work, and that's even more scary for OSS freeloaders.


I used to use virtualbox but I became afraid of being trolled by Oracle using gradually changing license terms a few years back and stopped updating.

I'm curious if anyone knows of a table summarizing these products and what their licensing would mean for a laptop you may take to work, etc?


A framework I wanted to trial provided VB VMs instead of containers, definitely made me stop for a bit and think if I wanted to use VB (ended up using it anyway).


On Linux, I’ve entirely replaced Vbox with virt-manager and QEMU.

As a bonus, virt-manager can connect to remote libvirt/QEMU instanced over SSH, making it easier to manage a small “farm”.

On Windows I find myself happy enough with Hyper-V too.

I really don’t miss virtualbox at all.


Second that - Hyper-V is my preferred way to run a Linux dev machine on a Windows machine. Killer feature: dynamic memory (a VMs memory footprint grows and shrinks with its needs).


As a (part time) qemu developer, why do you think VirtualBox is preferable, eg. what are the feature gaps that qemu doesn't provide, or what could qemu do better? (And by "qemu" I include the broader free ecosystem like virt-install, virt-manager, etc)


I think part of it is that it is a complex ecosystem to understand. What is qemu, what is KVM, what is virt-manager, how does it all fit together. It is actually not hard to use but it is confusing to understand at first, what is used for what etc.


Either you are into it, and you know, or the need to create a VM has just arose and you want to quickly do it. In the later case from my Fedora 31 system I search for "Vir"(tual), it tells me about "Boxes", I open it... and it can't be simpler. I end up with a Virtual machine with QEmu/KVM without ever having to know what QEmu/KVM is, as far as random user knows "yesterday I had problems with VirtualBox kernel modules, so I created a VM with Boxes".


This.


Pointy-clicky GUI for people who don't live the #VMLife and just occasionally want to throw some graphical OS in a VM and mess around in it for a few minutes, without having to read any man pages. I know Qemu has GUI interfaces available, but the key there is that it's plural, as in there's more than one. VBox is just the one, entire thing, all one part, no thinking required or choices to make, just start it and go.

(for the record I've done some Linux KVM/Libvirt management of VMs on servers so I'm not entirely without a clue, but VBox runs everywhere I am and is my go-to for low value messing about, especially now that all that stuff has long ago fallen out of my head. If I had to do anything serious or non-interactive I'd not be looking at VirtualBox for it.)


I used VirtualBox and the last time I installed Linux I gave Gnome Boxes a try to run a Windows VM every once in a while and I haven’t felt the need to go back to VirtualBox.


Shared folder support is lacking. I have to use NFS to share any folders in VMs when using QEMU and virt-manager. Which isn’t necessarily bad but it’s an extra config step. The built in method (which uses Plan9 I think?) is a huge headache in terms of setting up permissions. Out of the box it never works right and there isn’t any straightforward documentation on getting it configured properly.

VirtualBox, VMware and Parallels all offer much better shared folder options that are built in.


virtio-fs should fix the problems with 9p. It offers better performance and conformance with POSIX.


Awesome, that's great to hear.


There's a built in method? I've been using virt-manager/libvirtd/qemu for a while now and haven't run across it...


In virt-manager if you go to Add Hardware -> Filesystem it lets you add a shared folder there.


Thanks!


As someone who moved from vbox to QEMU (and is happy about it)...

Virtualbox is one product, one package. That’s easy to sell, install, understand and google when you need help.

Virt-manager, libvirt, QEMU and kvm... Takes more time to understand, and googling it when you need help requires you to partially understand it. Kinda chicken and the egg.

Also with Vbox I get the VMs desktop scaling to my Vbox-window, as opposed to the other way around, which I get with QEMU. That still annoys me slightly.


I have spent a month trying to understand various tools around qemu. Using virsh is easy. Using qemu directly is a nightmare.


Did you look at virt-manager or (if using GNOME) Boxes?


Not really. At the time I was toying with a headless server.


With VirtualBox, Windows guests can be configured to use 3d acceleration with just installing guest additions. With qemu (virt-manager), it's a major pain in the ass. I spent a couple of hours trying to figure it out, and it got me nowhere. So thanks for nothing. I prefer solutions that work, and currently it's VirtualBox.


I'd like to see some improvements to virt-manager. And has zfs storage pools actually been implemented yet? Last time I checked it still doesn't work. I can however create zvols and use those, which is fine for me.

Other than these somewhat small things qemu is the fantastic, much appreciation for your work!


The GUI, it is much more easier and faster to setup a VM.


Virt-manager is basically the same UI as VirtualBox with the same dead-easy, wizard-based VM setup. Plus the virt-manager running on my desktop can simultaneously drive KVM running locally and on many different servers.


qemu is linux only?


No, it can run on Linux, macOS, and Windows.

https://www.qemu.org/download/


qemu/kvm is linux only


FEAT>> Nested virtualization on intel. This is a big deal, for dev and testing. Congrats to the devs, thank you. You can now run a hypervisor hosting real vms at decent speeds inside VB.


Looks like a lot of Graphics related upgrades/fixes. I desperately hope this makes the experience better, onto downloads!


Is it allowed by Apple to set up a macOS version N virtualbox guest on macOS version N host?

Because I'm trying and I can't imagine how their OS could be more hostile toward me doing it...


You're now allowed to run up to two macOS guests in VMs as long as you're running on Apple hardware.

It's pretty painless with VMWare Fusion.


Last I checked (a year or so ago) virtualisation of Mac OS was acceptable to the licensing agreement, only on Apple hardware.


What are the highlights of the new versions?

Also

>Linux host: Drop PCI passthrough, the current code is too incomplete (cannot handle PCIe devices at all), i.e. not useful enough

does this affect usb drives and devices?


Interesting how the Windows download went from (VirtualBox 6.0.14) 163 MB to (6.1.0) 107 MB. Wonder why...


It could have something to do with this:

Virtualization core: Drop recompiler, i.e. running VMs now needs a CPU supporting hardware virtualization


If only they could come up with a WSL2 Hyper-V workaround.


Its not just WSL2, its anything that makes use of hyper-v like docker for windows IIRC


The release notes for 6.0 (the release prior to this one) contain:

“Added support for using Hyper-V as the fallback execution core on Windows host, to avoid inability to run VMs at the price of reduced performance“

Is that the workaround you’re looking for? It seems like it comes at a cost, but workarounds often do.


FWIW I was excited about this in 6.0 but never actually got it to work with Hyper-V. It may be a hardware issue on my side (my CPU is ~6 years old and doesn’t support some VM features) but I’ve also seen a lot of other people say that 6.0 changed nothing for them in regards to Hyper-V compatibility.


If only Hyper-V didn't screw all other virtualization solutions.


How about you just use Linux, and then you don't have to run it in a slowed down buggy hypervisor? Also, Docker then works too natively.


I wish I could but several clients only use Windows computers so I have to use the Linux subsystem to make my dev environment a bit more bearable.


This is basically how Microsoft is taking over Linux. It has already started and the few of us that saw it coming since day one can't do anything about that.


Another option is to use Linux and try your best to run essential Windows software using Wine or in a VM, that way you can play in the Windows-world without being committed to it. It "Works For Me"...


Can't do that either. They give you their laptops without access to install extra things unless you call someone from their helpdesk.


[flagged]


If you work in software development you ought to know that "just use X" is often not an acceptable solution for many reasons. Quick example: maybe you develop a windows heavy client with a linux backend and want to test it locally. Then you have a choice to have either (relatively) poorly performing Windows VM or linux VM. As backend is usually way lighter and your IDE is probably Windows native too, you should run this on Windows.


Why not just run inside KVM on Linux, and why use a bloated windows framework and toolkit? Qt is a great example of a cross-platform framework that doesn't require a lot of dependencies. However, you could also just build a PWA. If you're going to use bloated proprietary frameworks, why even use Linux at all?


I hope this is sarcastic because it illustrates my point perfectly. Qt is a great cross platform framework but maybe you are not developing a cross platform application? Maybe you actually prefer native look and feel (I do for example). Maybe you are developing an app that must be published on the Windows store or work in Kiosk Mode (all of which require you to build on top of the native UI framework).

> If you're going to use bloated proprietary frameworks, why even use Linux at all?

You could as well rephrase your question as "Why not use the most appropriate tool for each part of the software?" Linux servers have the advantage of being supported by all major providers (including Microsoft), they scale well, have good security, have low footprint...

Also as much as I dislike Windows I must say that their UI frameworks are not bloated and arguably work better than cross platform solutions. You mentioned PWA's which come with an enormous bagage (e.g.: they are throwing native look and feel completely out of the window).


I think this is what the parent means by "just use X". You are saying to someone to change their whole development environment to Qt. (I like and have developed a commercial product in Qt)


...and applications you want to run


And lots of telemetry too. It's a mixed-bag really.


Can you clarify what you mean?


I believe the problem is that if you're running WSL2, you're automatically running Hyper-V, which monopolizes hardware virtualization on the machine, so you can't run VirtualBox, VMware, etc.


VMware are doing some work to integrate with the Windows Hypervisor platform (https://docs.microsoft.com/en-us/virtualization/api/hypervis...). IIRC they have a release coming early next year that will allow VMware Workstation and Hyper-V to coexist. I suspect other tools also need to support that if they want to run side-by-side with Hyper-V.

EDIT: More info at https://blogs.vmware.com/workstation/2019/08/workstation-hyp... and https://techcommunity.microsoft.com/t5/Virtualization/VMware....


Wait, it's not a kernel personality anymore?


They've moved away from that due to complaints about I/O performance. There was no way to "fix" it without the hyper-V shim.

https://devblogs.microsoft.com/commandline/announcing-wsl-2/


WSL was a failed attempt by Microsoft, WSL2 will not be any better. Look at the problems it is causing for people already, and it isn't even GA yet.


WSL2 now uses an actual virtualized linux kernel because the performance and compatibility are both better.


I'm confused how the performance can be better. There's two competing kernels that both think they're running the system, how can that not be slower than mapping some POSIX calls over?

I mean I trust that it's true, and I'd love to understand why :D


Because there's fundamental issues with POSIX use cases and NT's VFS(well, IFS), and cache layers.

Basically the block cache on NT exists between user space and the filesystem, not the filesystem and the block device. For metadata heavy ops (like open(), stat(), etc.) the regular cache isn't in play, and the little caches in the NTFS driver aren't nearly as smart as the regular cache layer. You could stick a cache between NTFS and the IO driver, but that would mean heavily changing the IFS interface, and heavily changing the NTFS driver itself. Unfortunately, the NTFS driver has been referred to as "a purple opium-fueled Victorian horror novel that uses global recursive locks and SEH [Structured Exception Handling] for flow control" by a kernel dev. I can't even imagine how scary adding a cache layer under it might be.


It's because there's some serious mismatches in how a lot of the APIs work that causes it. Raw compute performance is slightly slower this way, but the better match for IO and other systems make the overall performance and experience much much better in the end.


That's odd because NT debuted with a Posix "personality," so it must have been taken into account with the original design. Processor independence was another goal, though abandoned for a long time.

In other words, they should have taken this into account unless the personality thing was just for show.


This is covered in https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem. Version history:

The POSIX subsystem was replaced in Windows XP and Windows Server 2003 by "Windows Services for UNIX", (SFU) which is based in part on technology Microsoft acquired by buying Interix. SFU was removed from later versions of Windows 8 and Windows Server 2012. SFU is logically, though not formally, replaced by the Windows Subsystem for Linux (WSL) in the Windows 10 Anniversary Update and Windows Server 2016 Version 1709 respectively.

I agree that this was originally mostly for show since the customer base was very specific. That was a different time and place from now. I guess WSL started as an experiment to see how they could serve customers, was validated to some degree, and now they need to perfect it. A lot of related work on the Windows Console is now open source so I take that as a demonstration of how serious they are, but I don't expect it all to be open source. Maybe they'll surprise us.


Neither are running the system. When you install HyperV your Windows installation is virtualized, so both Windows and WSL are running as VMs.


Sort of. The Windows side has direct access to the hard drive, AFAIK.


WSL2 uses hypervisor in a way which makes Virtualbox (or any other VM manager) unusable.


The same happens with Device Guard/Credential Guard, it monopolizes the hypervisor.


HyperV is different virtualization technologoy compared to Virtuakbox and most others. It actually virtualizes everything, whereas others typically are a level higher up. It seems both at the same time often doesn't work that well.


WSL is a Microsoft project, it's not the sole responsibility of Oracle to maintain a WSL alternative.


I don't think the comment you are responding to means that Oracle should make something like WSL. It is probably saying that WSL2 requires hyper-v to be enabled which prevents Virtualbox from running, and it would be good if Oracle had a workaround for this.


This. Vbox won’t run if Hyper-V is enabled, and Docker / WSL2 won’t work without Hyper-V. True for me on vbox 6.0.14, it just crashes the VM with a cryptic error.

Workaround is not easy, hyper-v had a different feature set for networking and shared folders (not sure the latter is directly possible) as well as using different disk image formats.


Why would Oracle fix Microsoft's bugs and crappy implementation?


That's _Intel's_ implementation - only one hypervisor may control Virtualization even on your beloved Linux e.g.: https://unix.stackexchange.com/questions/149416/run-avd-and-... or just search on how people can't run kvm and vbox at the same time.


It seems to me that Oracle is doing well in cloud, may not be too long before they beat the number 4 Google.


I mean, this has little to do with the article, but it's also a bonkers claim. Doing well? Oracle Cloud is a literal punchline and has no argument for its existence, let alone its use, beyond "we're Oracle, now be a dear and lean back so we can get at your delicious throat bits".

What would a bunch of extremely legacy technology--and this is a great example, between OS-supported virtualization in Windows and OS X getting good and virtualization solutions having already been just fine on Linux for a long time, VirtualBox hasn't had a meaningful reason to exist for going on five years now--and the worst reputation in the industry do to leapfrog Google Cloud? (If they're even actually "number 4" in the first place.)


Not trying to defend the claim itself but it is related:

From article:

- Implemented support for importing a virtual machine from Oracle Cloud Infrastructure - Extended support for exporting a virtual machine to Oracle Cloud Infrastructure, allowing the creation of multiple virtual machines without re-uploading. Also added option to export a VM to the cloud using the more efficient variant "paravirtialized", and to specify free-form tags for cloud images


> Also added option to export a VM to the cloud using the more efficient variant "paravirtialized"

So they don't seem to be very serious about multi-tenancy?

(Spectre and Meltdown are more or less considered the nails in the coffin of Xen para-virtualisation for multi-tenant environments).


Fair point. I replaced "nothing" with "little".


Punchline? Oracle isn’t the biggest cloud provider but it’s naive to say they are a punchline. Oracle Cloud may not be used much amongst the startups or app/web dev crowd here on HN, but other parts of large enterprises are indeed eating up Oracle Cloud just as they ate up Oracle on-prem apps in past years.


So I spent time in the also-ran cloud space, ejecting from it as soon as I was able. What you characterize as "eating up", the places I've been have understood this to be "receiving desperate discounts to consider". Oracle and IBM are do-nothings. They're competing for a market segment predominantly with Azure (not AWS or Google), doing so really poorly, and have no compelling value prop.


From what I see at my consulting clients, the main areas where Oracle competes aren’t with Azure. The Oracle Cloud isn’t about spinning up VMs or web servers (though yes they do have those features), but about running enterprise apps where Oracle is still, much to the disappointment of many, the market leader. Some examples of this would be Oracle Identity Manager (which is absolutely awful but is still actually the only IdM solution really capable of scaling with massive enterprise companies) and of course ERP. Oracle ERP Cloud alone is a several billion dollar revenue source for them and is growing extremely rapidly.


> Some examples of this would be Oracle Identity Manager (which is absolutely awful but is still actually the only IdM solution really capable of scaling with massive enterprise companies)

The "massive enterprise company" I work for doesn't use Oracle IdM ...

It was used at the previous company I worked for, but it had endless problems and I think it was only bought as part of a very badly-run "buy an expensive 'enterprise content management platform and then not use it properly' initiative".

It's main feature seemed to be to import identities from LDAP servers into an Oracle database fronted by a very poorly performing non-compliant LDAP server (or, you could say, selling Oracle Database licenses).


How large is your company, in terms of number of people? I’m talking about companies with hundreds of thousands of managed identities/employees. OIM is typically the only IdM software capable of scaling that high (though it doesn’t come without its issues).

OIM certainly has much more features, and just by the virtue of being the largest/supported by the largest tech company, tends to have the most features and integrations of any IdM solution, which is another reason it’s favored by large companies that actually need that scale. Other companies with smaller numbers of people or less need for edge-case integrations typically go with something more user-friendly like SailPoint (and others are still stuck on IdM solutions of yesteryear like some of MS’s old offerings).


I can't imagine any greenfield project using Oracle technology today unless they are already an Oracle shop and at that point it's not really greenfield, is it?


In the security space I do have experience with many customers who are looking into greenfield implementations of stuff like Oracle Identity Manager.


Is Oracle Identity Manager superior to other offerings? What is the compelling aspect of it?

Genuinely curious. As much as I enjoy bashing Oracle, I like learning new things about technology :-).


So I brought up OIM because I have some personal experience with it and similar software. It’s main selling point is that it is extremely performing and scalabale, and it is so big (and supported by such a large company) that it has ready-made integrations with most other enterprise apps (and can be extremely flexible if you have a custom apps). These are pretty attractive qualities to giant, global companies with hundreds of thousands of employees and hundreds/thousands of apps to manage.

Competitors like SailPoint are typically more user friendly, easier to implement (as long as your implementation only integrates with common apps and doesn’t require deep customization) and comes from a generally friendlier software company, but it isn’t able to keep up performance/stability wise once you start moving above 100k-ish managed users.

The performance landscape is changing slightly now that other IdM providers are taking advantage of clouds as well for better scaling, but it’s taking some time for them to rearchitect applications to fully do so.


Thank you for the thoughtful reply.


Your comment doesn't have any relation to the post, but most of the growth in Oracle Cloud for the last few years, was Oracle's commission structure for sales pushed it hard. So many companies were pushed hard to license cloud and then backport the license to regular licenses.


What does this have to do with Oracle Cloud?


Many of the features relate to integration between VirtualBox and Oracle Cloud.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: