Page 1 of 1

Technologies for virtualization

Posted: 25. Nov 2016, 15:56
by jack_brf
Hello,

I will buy a new laptop. I never play games. So I am thinking to do not buy a GPU.

I am using the virtualization technologies (mostly virtualbox, sometimes vmware...) too much. For example:

- I use at guest machine (inside vm) minimum windows 10+ and ubuntu 16+
- inside vm (guest) I also use Android emulator
- inside vm (guest) I also use Windows phone emulator (this is not supporting at the moment on virtualbox, for now I am using VMWare)
- maybe I will start to use KVM or someting...

My question is:

1- is the GPU important for virtual machines (virtualization technologies) ? It is recommended to buy GPU? What is the disadvantages for virtualization, if I will not buy GPU ?

2- Which technologies should I look when I buy CPU? For exmaple VT-x for Intel, AMD-v for AMD are important. Can you give me other keywords?

Thanks in advance

Re: Technologies for virtualization

Posted: 25. Nov 2016, 19:10
by mpack
jack_brf wrote:I will buy a new laptop. I never play games. So I am thinking to do not buy a GPU.
Games are not the only things which use graphics. Unless you do nothing except Excel and Word in sub-HD res then a GPU will be helpful. However that doesn't mean a secondary card necessarily. I do engineering 3D modeling for fun and profit on my PC (using SketchUp, 3D printing which involves OpenGL, and work related 3D viewing) and a good graphics card makes a huge difference to performance. A VM doesn't access the GPU directly, but if 2D/3D acceleration is enabled then it will be accessed indirectly (via OpenGL), so yes a GPU can make a difference there too.
jack_brf wrote:- I use at guest machine (inside vm) minimum windows 10+ and ubuntu 16+
Personally, I feel that Windows 10 is too much trouble for a VM at the moment. I would suggest that Win7 should be your minimum.

Note that some of the other features you mention are not supported, e.g. if I understand you right then they (Android, Windows Phone Emulator) may require nested virtualization, which VirtualBox does not support.
jack_brf wrote:Which technologies should I look when I buy CPU?
Today, my minimum spec would be Intel i7 (I don't like AMD), which of course has VT-x. 64bit Windows host OS. 4 real cores (don't count hyperthreads), 16GB RAM, 256GB SSD + 1TB HDD. Note that this is for a general purpose PC that will be good at VMing, though that is not its only role. I prefer desktops for performance reasons, I don't use a laptop (*).

(*) I do use tablets when I need portable computing (I have two tablets: Android and Win10), but only for Internet browsing from my sofa, controlling drones etc. And my phablet phone is Android, so ditto.

Re: Technologies for virtualization

Posted: 26. Nov 2016, 12:26
by jack_brf
mpack wrote:
jack_brf wrote:I will buy a new laptop. I never play games. So I am thinking to do not buy a GPU.
Games are not the only things which use graphics. Unless you do nothing except Excel and Word in sub-HD res then a GPU will be helpful. However that doesn't mean a secondary card necessarily. I do engineering 3D modeling for fun and profit on my PC (using SketchUp, 3D printing which involves OpenGL, and work related 3D viewing) and a good graphics card makes a huge difference to performance. A VM doesn't access the GPU directly, but if 2D/3D acceleration is enabled then it will be accessed indirectly (via OpenGL), so yes a GPU can make a difference there too.
I am not using also Excel or Powerpoint with image files. I am not even use 3d things for developing... So, here I want to ask:

- which part (cpu or gpu) enables hardware acceleration?
- 2d/3d acceleration can be enabled (it is possible) with onboard graphic card?

mpack wrote: Note that some of the other features you mention are not supported, e.g. if I understand you right then they (Android, Windows Phone Emulator) may require nested virtualization, which VirtualBox does not support.
I know it is not about virtualbox but can you please tell me which feature I need on CPU for nested virtualization (maybe if I will use WMVare or KVM)? The feature list is here:
h t t p s : / / a r k . i n t e l . c o m /products/87719/Intel-Core-i7-5850HQ-Processor-6M-Cache-up-to-3_60-GHz

** Generally I am not able to buy fast laptop. But I want features enabled (to use emulators vs..) even I accept that virtual machines will be slow.

Re: Technologies for virtualization

Posted: 26. Nov 2016, 13:13
by mpack
jack_brf wrote: So, here I want to ask: - which part (cpu or gpu) enables hardware acceleration?
- 2d/3d acceleration can be enabled (it is possible) with onboard graphic card?
By definition, graphics "acceleration" means that the CPU is relieved of this burden, so you can't accelerate with the CPU. However, even a basic motherboard includes a graphics chipset, usually by Intel, so even in the absence of a proper GPU you can still have 2D and 3D graphics acceleration. Sort of. It won't be as good (for one thing it still shares RAM with the CPU), but if you aren't gaming, or viewing big 3D models in real time, or driving a super-HD display then you don't need graphics performance to be particularly good. Also, if it's a desktop then you can always add a graphics card later if you need it.
jack_brf wrote: I know it is not about virtualbox but can you please tell me which feature I need on CPU for nested virtualization
It's not about having extra hardware features, it's whether the OS or software in question supports it. VMWare I believe does support nested virtualization, meaning it makes VT-x available to guests. Hyper-v and VirtualBox doesn't (too many potential support headaches I guess, plus nested virtualization is always going to perform poorly). I don't know about any others.

Re: Technologies for virtualization

Posted: 26. Nov 2016, 14:02
by jack_brf
mpack wrote:
jack_brf wrote: So, here I want to ask: - which part (cpu or gpu) enables hardware acceleration?
- 2d/3d acceleration can be enabled (it is possible) with onboard graphic card?
By definition, graphics "acceleration" means that the CPU is relieved of this burden, so you can't accelerate with the CPU. However, even a basic motherboard includes a graphics chipset, usually by Intel, so even in the absence of a proper GPU you can still have 2D and 3D graphics acceleration. Sort of. It won't be as good (for one thing it still shares RAM with the CPU), but if you aren't gaming, or viewing big 3D models in real time, or driving a super-HD display then you don't need graphics performance to be particularly good. Also, if it's a desktop then you can always add a graphics card later if you need it.
the minimum requirement of every software is graphic acceleration. thats why I need it. not because to be faster or something. let it work slow. but I need to run the softwares.
So I will look for motherboards if they supports 2D and 3D graphics acceleration, or I will buy a GPU which is the cheapest with 2D and 3D graphics acceleration.

Re: Technologies for virtualization

Posted: 26. Nov 2016, 14:49
by mpack
2D and 3D acceleration are more virtualization terms, a PC retailer won't know what you're talking about. If the host PC can play full HD movies smoothly then it has at least 2D accelerated graphics. Make sure any graphics card is a respected make, even if cheap. You don't want to be struggling with the crappy drivers on a cheap clone. Better not to have a card at all. Graphics acceleration is not a requirement of all software, but so far you've only told me what software you don't want to use, so I can't comment more on that.

Re: Technologies for virtualization

Posted: 27. Nov 2016, 07:12
by jack_brf
mpack wrote: but so far you've only told me what software you don't want to use, so I can't comment more on that.
(I will be happy if yu answer the questions below)

I researched for some app which I will use:

** windows phone emulator
source: https://www.visualstudio.com/en-us/prod ... rements-vs
A processor that supports Client Hyper-V
Hardware-assisted virtualization.
Second Level Address Translation (SLAT). (which feature is this ? h t t p s : / / a r k . i n t e l . c o m /products/87719/Intel-Core-i7-5850HQ-Processor-6M-Cache-up-to-3_60-GHz )
Hardware-based Data Execution Prevention (DEP).
hyper-v ( is this the same with Client Hyper-V ? )

** Office 2016
source: https://products.office.com/en-us/offic ... nts#SUITES
cpu with SSE2
Graphics hardware acceleration (3d or 2d ?)

** Android Emulator
source: https://developer.android.com/studio/in ... quirements
VT-x
IntelĀ® EM64T (IntelĀ® 64) (is this the 6th line of the "advanced technologies" of: h t t p s : / / a r k . i n t e l . c o m /products/87719/Intel-Core-i7-5850HQ-Processor-6M-Cache-up-to-3_60-GHz )
Execute Disable (XD) Bit functionality
(I could not find what needs the latest android images)

** skype, windows 10, genymotion emulator, visual studio
needs nothing more than above.

Re: Technologies for virtualization

Posted: 27. Nov 2016, 12:22
by socratis
Just sticking to the "Using VirtualBox" theme of the topic, two things to keep in mind:
  1. Nested virtualization is not supported, i.e. you can't have a virtual machine inside a virtual machine.
  2. Anything that uses/enables Hyper-V will prohibit the use of VirtualBox. VT-x can be used by multiple virtualizers, if they "play nice" with each other and take turns using it. Microsoft's Hyper-V doesn't (or anything that uses it), they want exclusivity. So do several antivirus (especially real-time scanning), debuggers (installed with VisualStudio), hardware emulators (AndroidStudio:? WinPhone:yes, Genymotion:no), etc. So, keep that in mind in case VirtualBox fails.

Re: Technologies for virtualization

Posted: 27. Nov 2016, 13:10
by socratis
Update
I downloaded the AndroidStudio. It looks like it's using Intel's Hardware Accelerated Execution Manager, HAXM (???). This, as suspected, uses VT-x as well for the emulation. I do not know if it requires exclusivity, what underlying technologies it uses, or if it works in parallel with VirtualBox. What I mean "in parallel" is that if you can have both of them installed, not both of them running.

Unfortunately it will not run on a VM and I really don't want to install it on my systems just to reply. So, unless someone else uses it/is willing to install it, I'll leave the AndroidStudio as a question mark...

Re: Technologies for virtualization

Posted: 27. Nov 2016, 16:11
by jack_brf
For now, I am using my company's laptop. VMWare (latest stable) can run android emulator and Windows phone emulator inside guest OS. I am working for my project at the moment.