Hacker News new | ask | show | jobs
by hedora 3361 days ago
Without 3d support, basically no-one can use virtualbox, so is the dilemma whether to kill the project or not?

(This is a serious question--what can possibly be more important to average virtualbox users than having a working desktop environment? Virtualbox has always occupied the desktop virtualization niche, so I'm trying to figure out what has changed...)

8 comments

I use Virtualbox daily without ever using a desktop environment in the VM. It's very useful in headless form for development machines when working locally.
I find this baffling when KVM is much more amenable to being scripted from the command line.
KVM isn't an option on OS X or Windows - in those cases, VirtualBox is the most mature free VM software available.
HAXM module and QEMU works fine for me on Windows.
Windows and OSX both come with native hypervisors now. Those are what eg Docker "Native" runs on
At least on Windows I find that Virtual box gives a better interactive desktop experience when running Linux as a guest.
Exactly. A few days using HyperV for my linux desktop guest was enough to convince me that I didn't need Docker for Windows THAT bad. I'm back to Virtualbox.
Portability of VMs shouldn't be overlooked, it's why VMware is still quite relevant and why when that is out of the question Virtual Box is very popular.

If my VMs can't easily be run on any host from backup they tend to be quite useless at the most critical of times.

Do you know of a virtualbox-like manager for xhyve?
While I do love KVM, it takes a lot more to get running properly than installing Virtualbox and Vagrant and being up and running with a whole ecosystem of every type of prebuilt box you could imagine.
Yep, the last time I tried to get a KVM machine going I had to hack XML files to get the correct SCSI controller just so I could mount an ISO. It's 3 clicks in VirtualBox.
That's not KVM that's libvirt which uses the XML files. KVM can be configured entirely from command line parameters.
virt-manager makes it much easier

https://virt-manager.org

Have you ever used VBoxManage?
I've tried to use VBoxManage, but mostly to no avail. I have some full-system backups with not-exported virtualbox vm's in them, and usually have to hand edit a bunch of undocumented xml to make them start. I guess vagrant makes this sort of thing better, somehow, but I'm moving everything I possibly can to docker, and then I'll deal with the remaining desktops using some other technology (maybe vagrant, maybe not).

As a light user of virtualbox, I get the impression using anything but the gui is really hard compared to other virtualization tools.

For instance, auto-starting raw-disk vms at boot on windows is a pain, and hyper-v is free. Its only real downside is lack of gui support for linux guests.

Similarly, you need to stand up separate backup infrastructures for your desktop and virtualbox, or you will be told "you're doing it wrong" when you try to restore.

I guess I could try to write a script to get a crash-consistent export of running virtualbox vms, but the host file system (btrfs, zfs, etc) already does an adequate job of that, so this is just useless administrative overhead and disk space waste from my point of view.

Anyway, when win8 came out, virtualbox couldn't handle the new start menu, and windows guest vdi was my only remaining use case for it at the time.

It is a shame, VirtualBox was my go-to vm solution for years, specifically for its debian/ubuntu host support (unlike vmware) and good desktop guest support (unlike all the other options).

I doubt that I'd even try to pull VMs out of a full-system backup without restoring it first. Over my head, for sure.

I've used VBoxManage to create, manage and control VMs on remote headless hosts. And work with VRDC desktops. Easy.

Backup/restore of host system should have nothing to do with VirtualBox. It's just files. But then, I use Debian hosts. For backups, I tend to use LUKS-encrypted SSDs via USB, and just copt the full VM folder. Works perfectly.

Vagrant. Many of us still have and use Vagrant.
vagrant is completely modular though... i use vagrant with libvirt/qemu at work for nested VMs
How do you set up a two-way synced directory in Vagrant without virtualbox?

IME, you can't.

I'm not a vagrant user, but your question intrigued me. A quick skim of the documentation for the vagrant-libvirt module shows a synced folders section[0], which appears to support configs for NFS and 9pfs for two-way sync. Do those not work? I use vanilla libvirt, and I've had great luck with exposing my development directories to VMs using the 9pfs resource sharing. If the vagrant plugin isn't doing that, then it may just be a small bug in the libvirt XML file they're generating. Or am I totally off-base?

[0] https://github.com/vagrant-libvirt/vagrant-libvirt#synced-fo...

"can't" is a strong word.

why can't you do it in the user space within those VM's, communicating over a network adapter? If you don't care about putting on a raincoat, going outside to the Internet, and launching it up into the cloud, you can just install dropbox and get a sync'd directory without additional work. Obviously this is extra unnecessary overhead, two times, but for your use case you may not care.

you can alternatively roll your own solution though it might take you an hour or two. think about rsync over a local network adapter.

I realize these are hackish solutions but if it's stupid but it works, it's not stupid.

on the plus side you will control that traffic. having directory syncing that breaks the VM abstraction opens leaks due to potential oversights in how it's coded.

if I were in your predicament I would work around it.

You don't even have to rule out DEs wholesale. Lightweight ones like XFCE run quite well with no 3D support.
> Without 3d support, basically no-one can use virtualbox

What? I can only laugh at such a statement

Don't use hyped up desktop managers that need 3D to work.

My personal laptop (1 GHz celleron) doesn't even have graphics drivers compiled and just uses the efi framebuffer. It's really great! It runs cool and performs well, software graphics are underrated. Just don't run ridiculous stuff like GNOME that's full of crazy animations every time you do something simple
Hmmm. I have a 2016-vintage celeron 3050 (think macbook, but $189 with half as many cores) and even on bare metal, web browsing is unusably slow without hw acceleration. Sites like HN load instantly, but amazon product pages take 10's of seconds after ~2 tabs.

This is with firefox (they also broke 3d acceleration in linux); chrome is OK, and so is firefox if I force enable video acceleration and ignore the severe visual artifacts.

FWIW, Chrome is still a bit sluggish on a 12 core xeon with no GPU, but it is usable (unlike Firefox on the same VM).

Anyway, I used to get away with no gpu acceleration on my laptop, but it became untenable in ~ dec 2016. It still sorta works on the server-side web browser.

Amazon pages are sluggish even on a my core i7 machine with hardware acceleration that I use for gaming. I really don't think that's a good benchmark.
Try using 16-bit color depth instead of 32-bit
It should be an option. 3D hardware is the best way we have to accelerate 2d these days.
Both XFCE and Gnome 2 runs perfectly fine in Virtualbox.
Likely everything except GNOME 3.
Gnome 3 too, in X11 mode.

In Wayland mode, only if you are very patient. I'm not. Virtualbox support for Wayland is not there.

Why do you need 3d acceleration for using a system? GUIs work perfectly without any 3D acceleration. Are you planing on playong games? If so it is not a good idea in any VM.
I use a minimalist window manager, but I think I am in the minority, even among software engineers that use linux as their primary development environment. This almost works, except web browsers are extremely GPU heavy these days, so JavaScript laden sites (jenkins, amazon, news) often become unusable with more than ~10 tabs.

Anyway, most engineers at work use unity because it is the default, and it is a non-starter without hardware acceleration. We site-licensed vmware, and it seems to work OK.

The last time I checked, the second most common choice is fvwm. It sorta works out of the box and isn't unity. Also, it can run on the big server VM's, unlike unity (there is no 3d acceleration in the server kvm instances...)

Another common choice is to do everything via console, productivity be damned. (There are some highly productive console users, but they tend to put linux on their laptops on day one anyway)

Wow, Unity on a VM? I haven't seen that, actually I haven't seen any Linux user in my current and previous employers that would start any X apps on a VM.

Why start a browser there? Is it for testing the web pages in different environments? If not, then wouldn't it be more reasonable to start it on a bare metal (the machine you connect to the VM)?

But it might be my bias, I'm one of those that install Linux on a company laptop on day one :) so I'm most efficient in the console.

I have fine desktop environments without 3D. Maybe I'm just totally old-school, but I've never even felt the need for 3D on physical machines. But then, I use VMs mainly with VPN chains and Tor, for isolation and compartmentalization. If I really needed a 3D desktop environment, I'd use a dedicated box, and route through whatever anonymization path needed, using another box as multi-VM router.
Same. For the first time, because of VB, I have a Windows machine that I didn't wipe Windows from. I spend almost all my time in VBox. And I get to play with other distros risk-free.

But then, I spend most of my time in vim and localhost web pages.

I hope they get the help they are asking for- I wish I could do it. I think it's a great program and it would be great if it were here for a while.

It depends on the window manager. From my experience recently, lightdm without acceleration is snappier than cinnamon with acceleration.
It is free (compared to VMWare). It is easy to start with (compared to, say, Docker) It allows you to 'simulate' an architecture with multiple machines. Doing it all on one machine will have dependencies you didn't expect (eg shared env, everything localhost). It allows you to run a server application without cluttering your dev machine.
I've used a default Ubuntu desktop install in VirtualBox and it seems to work (though a little laggy). I haven't tried playing video games in it.