
3D support for X11 guests - eshizhan
https://www.virtualbox.org/wiki/X11Guest3D
======
justabystander
Virtualbox 3D progress has been unfortunately slow for a long time. It was
kind of anticipated with Oracle's acquisition, as their laser focus on legal
engagements and consulting pushes a lot of technical projects to the back
burner.

I'd love to see a bit more alignment between VirtualBox and Qemu. Even though
KVM and Qemu's virtualized graphics acceleration is still a WIP, having a
shared code base could accelerate the project on things like SPICE
([https://www.spice-space.org/download.html](https://www.spice-
space.org/download.html)) and Virgl
([https://virgil3d.github.io/](https://virgil3d.github.io/)). Unfortunately, I
think it uses a lot of Linux-specific technologies (e.g. KVM, Gallium), so the
likelihood of sharing at that level seems pretty low. Although, supposedly
Gallium isn't locked into Windows.

Theoretically, if we could agree on a common host-guest interface for a
virtual graphics adapter, it could share the guest implementations and host
implementations could be added as needed. And it could be reused in multiple
projects. But it always seems that this is the tech that never gets sufficient
cross-project collaboration. And given the many differences between vendor
hardware, a portable interface has been difficult. Maybe Vulkan will provide
enough low-level functionality to ease the abstraction?

------
hedora
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...)

~~~
emeraldd
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.

~~~
XorNot
I find this baffling when KVM is much more amenable to being scripted from the
command line.

~~~
predakanga
KVM isn't an option on OS X or Windows - in those cases, VirtualBox is the
most mature free VM software available.

~~~
fulafel
Windows and OSX both come with native hypervisors now. Those are what eg
Docker "Native" runs on

~~~
dagw
At least on Windows I find that Virtual box gives a better interactive desktop
experience when running Linux as a guest.

~~~
Jare
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.

------
hamburglar
I don't understand how this is a "dilemma." It's like saying, "on one hand, I
really need to mow my lawn. On the other hand, I _really don 't want to_. It's
a real dilemma!"

~~~
ChristianBundy
I think it's more akin to a free lawn mowing service that's having trouble
cutting new types of grass.

It's like saying "On one hand, we really want to cut your grass for free. On
the other hand, cutting new types of grass takes a significant amount of time
that we don't have."

I get that it's really nice to have your cake and eat it too, but unless
you're paying for said-cake I'm not sure that your critique is very accurate.

~~~
hamburglar
Don't get me wrong; I'm not demanding they fix this bug. They don't have the
resources to prioritize it, and hey, that's their prerogative. It's a free
product, after all. I just think calling it a dilemma is weird and makes it
sound like there's some counter-argument to fixing the problem beyond "we
don't have time."

------
petecox
Obvious question, why not just run an X11 server on the host?

Perhaps Oracle and Microsoft (WSL) can collaborate on supporting an X11 server
(ones already exist) for Windows 10.

~~~
emeraldd
That would work, but perform like caro. There are a large number of effects
that need shared memory tricks to work efficiently in X. So, any "modern"
desktop is going to be iffy running that way.

------
eshizhan
In some ways, many Linux beginners will choose to use VirtualBox to learn
knowledge. If there is no good user experience with graphics hardware
acceleration, we may lose many of the open source community supporters.

------
cpncrunch
I finally gave up on virtualbox and bought vmware instead for my mac. It works
much better.

------
tcrews
Never worked well and we turn it off in our Vagrant boxes.

If you need 3D support in a VM on your workstation, use VMware Workstation
12... it's awesome (but Vagrant support sucks).

~~~
bhouston
We switched to lxc for vagrant, it is a amazing both for GPU support, speed of
startup, and low memory usage. Would never go back to running full VMs via VB
or VMware.

You could wait years for some 3D support in VB, or you could just side step
the problem and go with lxc.

~~~
sandGorgon
Could you talk about how do you set this up (and how you use it) ?

I'm assuming that this is LiNux only.

------
eshizhan
[https://www.virtualbox.org/ticket/14102#comment:42](https://www.virtualbox.org/ticket/14102#comment:42)

[https://github.com/atom/atom/issues/11574](https://github.com/atom/atom/issues/11574)

------
harrygeez
I tried running Arch Linux on both VirtualBox and VMware Player on my Windows
machine at work and Compton's performance is terrible. It's strange because it
runs so well on VMware Fusion on my MacBook. Can someone recommend a better
way to virtualize Linux desktop with composition in Windows?

~~~
robinduckett
Use VMWare workstation?

~~~
wila
Nah, VMware Player and VMware Workstation use the exact same engine.

If you are having performance problems with VMware Player and are using either
AVG of Avast antivirus then the problem might be the antivirus. See also [0]

[0]
[https://communities.vmware.com/thread/553759](https://communities.vmware.com/thread/553759)

~~~
i336_
I was very curious so I read through that thread.

One person found that turning Avast's Behavior Shield off helped.

But with AVG... wow. AVG ships with a disabled-by-default "Use HW assisted
virtualization" option buried in its settings. As in, install AVG and it turns
that off systemwide until you turn it back on. Yay!

------
mrmondo
Virtualbox is so far past dead to me, terrible networking issues and
performance, dreadfully poor IO performance and oracle to top it off.

------
bhouston
Switch from vb to lxc/docker and you get great GPU driver support, even CUDA.

~~~
ansible
Really?

I was at one point trying to get GPU passthrough working with LXC and I could
never get programs to actually run. Ubuntu 16.04, CUDA 7.5 or maybe 8.0, and a
cheap GTX 730.

Maybe I'll have to try again. I was also trying this so that I could run my
desktop environment in a container too.

~~~
vetinari
There is no passthrough in LXC, because it is containerization, not
virtualization. You are running the same kernel and kernel modules for both
systems.

~~~
ansible
Yes, I had installed the Nvidia drivers on both the host system and the
container. The CUDA programs run on the host, but didn't inside the container,
even after creating the proper device nodes in /dev in the container.

~~~
vetinari
My guess would be, that the user space driver uses additional mechanism to
communicate with the kernel module. I don't thing that it hauls large data
buffers via device files; I would try strace to see, where it fails.

