top | item 14070062

3D support for X11 guests

99 points| eshizhan | 9 years ago |virtualbox.org | reply

73 comments

order
[+] justabystander|9 years ago|reply
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) and Virgl (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|9 years ago|reply
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|9 years ago|reply
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.
[+] raverbashing|9 years ago|reply
> 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.

[+] noselasd|9 years ago|reply
Both XFCE and Gnome 2 runs perfectly fine in Virtualbox.
[+] krzyk|9 years ago|reply
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.
[+] mirimir|9 years ago|reply
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.
[+] Dylan16807|9 years ago|reply
It depends on the window manager. From my experience recently, lightdm without acceleration is snappier than cinnamon with acceleration.
[+] nomercy400|9 years ago|reply
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.
[+] Buge|9 years ago|reply
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.
[+] hamburglar|9 years ago|reply
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|9 years ago|reply
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.

[+] simonh|9 years ago|reply
They mow the grass on a park that's open to us all to use, but they don't have time to mow that bit over there. They're just asking if anyone else has time to do it instead.
[+] dreamlayers|9 years ago|reply
Trolling people in an attempt to get their lawn mowed by others.
[+] petecox|9 years ago|reply
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|9 years ago|reply
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.
[+] hedora|9 years ago|reply
For windows, try mobaxterm. I tried a half dozen x11 servers a few years ago, and it was the best by far.

It works great, modulo 3d acceleration. If I remember right, cut and paste work well, so that (plus a file share for Downloads) gets rid of the need to run a web browser in Linux.

Similarly, it can use the windows wm to manage the x11 windows, so you automatically bypass the linux compositor.

[edit: Also, Hyper-V is extremely fast in this type of setup, because they focus on server performance, and this workload looks like any other network/io intensive server]

[+] skratlo|9 years ago|reply
Can't you already do that? With DISPLAY variable. Although there could be less overhead in running local (guest) X server and stream only GL commands.
[+] eshizhan|9 years ago|reply
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|9 years ago|reply
I finally gave up on virtualbox and bought vmware instead for my mac. It works much better.
[+] tcrews|9 years ago|reply
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|9 years ago|reply
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.

[+] cookiecaper|9 years ago|reply
Same. These days, I usually use my Linux system in a Windows host with raw-disk passthrough and VirtualBox. I've tinkered with the 3D acceleration but all it's done is break things for me.

My experiments with VMWare show that while it does well on some things that VBox struggles with, it has its own areas of weakness/slowness, essentially making it a wash.

When I redo my system in the next few months, I plan on doing a Xen setup with GPU passthrough to Windows and then using Linux in parallel instead of hosted out of VBox.

[+] scw|9 years ago|reply
For the Vagrant VMWare support, are you using the official (paid) Vagrant provider or something else? I've been interested in hearing about experiences of using it.
[+] harrygeez|9 years ago|reply
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?
[+] mrmondo|9 years ago|reply
Virtualbox is so far past dead to me, terrible networking issues and performance, dreadfully poor IO performance and oracle to top it off.
[+] bhouston|9 years ago|reply
Switch from vb to lxc/docker and you get great GPU driver support, even CUDA.
[+] nine_k|9 years ago|reply
... As long as you're running the same OS. Consider OS X and Windows hosts.
[+] mynewtb|9 years ago|reply
Completely different thing. Vb is VMs, lxc is containers
[+] ansible|9 years ago|reply
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.