Ubuntu 14.04 Desktop under Windows 8.1 Hyper-V
Solution 1
The desktop lags because Hyper-V is using software rendering instead of using the GPU:
$ /usr/lib/nux/unity_support_test -p
Not software rendered: no
Unity 3D supported: no
This appears to be because Hyper-V has no 3D GPU acceleration capability. Hyper-V is a server-virtualization techonology that is not meant to be used for virtual desktops:
It is fact that physical servers usually don't come with powerful video adapter cards. Consequently, virtualization technologies limit virtual desktops to run only simple 2-D user-interface's applications. (source)
-
Lack of 3D Accelerated Graphics in guest operating systems. Hyper-v client does not give the option to add virtual accelerated graphics card for guest OSes.
That is not what Hyper-V was designed to do. If you want improved video performance, run over RDP from the host. Hyper-V is not a replacement for VMware Player! (source)
-
Hyper-V was being developed solely for server virtualization and therefore is mainly for developers or IT admins looking to test out multiple environments. (source)
Solution 2
I just installed Ubuntu 14.04 Desktop on Hyper-V and was facing the same problem with performance. Later figured out that Hyper-V allocates 1 Virtual Processor to each Virtual Machine by default. Increased it to 4 and its working fine now.
Solution 3
Read first and make the same VM step-by-step:
Benjamin Armstrong: Ubuntu 14.04 in a Generation 2 VM
One chance versus two that is to alternate your hardware with second video controller and proposition for Hyper-V settings to use separate video thread. Most important part here is BIOS Hyper-V settings. Especially for Hyper-V-specific video device option.
Refer to Enabling virtualization in the system BIOS
Also suggested to include numa=off
parameter, read more about, and also disabling secure boot on guest os. Refer to common guide and optimize your host and guest:
Ubuntu virtual machines on Hyper-V
Quote: The following daemons must be installed manually for Ubuntu distributions:
VSS Snapshot daemon – This daemon is required to create live Linux virtual machine backups.
KVP daemon – This daemon allows setting and querying intrinsic and extrinsic key value pairs.
To install both daemons, please use the following command (at your GUEST UBUNTU):
$ sudo apt-get update
$ sudo apt-get install hv-kvp-daemon-init
Note: Hyper-V-specific video device option available only for 13.10 and 14.04.
VMware Player perfomance & troubleshooting:
Performance Problem on 64-Bit Windows Hosts with Intel EM64T Processors (1082240)
Quote: If your virtual machine exhibits slow performance and high CPU usage, add the following line to the virtual machine's configuration (.vmx) file:
sched.mem.pshare.enable=FALSE
I think what you should to figure out is only details of your configuration. Your problem possible exist any place where VMware Docs able to cover. So please look this complex guide:
Troubleshooting virtual machine performance issues (1008360)
Related videos on Youtube
avo
Updated on September 18, 2022Comments
-
avo over 1 year
Is it possibly to speed up the graphics of Ubuntu 14.04 Desktop under Windows 8.1 Hyper-V anyhow?
I've already decreased the screen resolution and disabled the COMPIZ video effects, but it's still very laggy. It used to work with almost native performance under VMware Player, but I have to move on with Hyper-V.
UPDATE
Can you post the output of /usr/lib/nux/unity_support_test -p
Sure:
OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits) OpenGL version string: 2.1 Mesa 10.1.3 Not software rendered: no Not blacklisted: yes GLX fbconfig: yes GLX texture from pixmap: yes GL npot or rect textures: yes GL vertex program: yes GL fragment program: yes GL vertex buffer object: yes GL framebuffer object: yes GL version is 1.4+: yes Unity 3D supported: no
Also:
avo@Ubuntu-Desktop-VM:~$ lsmod | grep hv hv_netvsc 31255 0 hv_storvsc 17785 2 hv_utils 19003 0 hv_vmbus 50383 6 hyperv_keyboard,hv_netvsc,hid_hyperv,hv_utils,hyperv_fb,hv_storvsc
-
Geo almost 10 yearshave you gone under virtual machine configs and set up all settings to max? (I mean, leave a few processors to the windows 8.1, but the video memory can set to the max available which is 128 mega if im not mistaken).
-
avo almost 10 years@Geo, tks, I will try that and let you know.
-
avo almost 10 years@Geo, I could not find a way to increase the video size. There are no child nodes under
Microsoft Synthetic Video
XML entry. Any ideas? Thanks. -
bain almost 10 yearsCan you post the output of
/usr/lib/nux/unity_support_test -p
-
avo almost 10 yearsI updated the question with requested info, @bain.
-
-
avo almost 10 yearsThanks for your answer. My host BIOS has all the relevant visualization options enabled. Did by chance you mean the Hyper-V guest BIOS? Is there a way to even enter it when the guest is booting? I also couldn't find anything on "Hyper-V-specific video device options", where they are? Any hint would be appreciated.
-
swift almost 10 yearsI mean NOT Hyper-V guest BIOS, but Hyper-V HOST BIOS! Hyper-V-specific video device it is your config at GUEST: what exactly video device should be used. So if you have SECOND video device you can "free" it at HOST and enable it to using at GUEST config. This gain you to using isolated video thread. Config for GUEST exist at your VM player. If you use VMware then you need to look large VMware documentation about. Try install or reinstall VM Tools to your VMware player.
-
swift almost 10 yearsyour Win8.1 is 64 bit?
-
avo almost 10 yearsYes, it's Win8.1 64 bit. I'm not using VMware, I had to switch to Hyper-V. I only mentioned VMware in my question to reinstate that performance was great under VMware. Hyper-V has "Allow NUMA spanning" settings, but turning it off did have any noticeable effect. It doesn't appear that Hyper-V allow to select or alter the video driver for a guest.
-
swift almost 10 yearsoops sorry )) i'm a little blur attention ... do you installed VSS Snapshot Daemon & KVP Daemon ?
-
swift almost 10 yearsupdated for VSS & KVP
-
avo almost 10 years
sudo apt-get install hv-kvp-daemon-init
didn't change anything. Please check the updated question for some more details. -
swift almost 10 yearsDo not mind. And strange that you're talking about Hyper-V Client but runs your guest under VMware:
OpenGL vendor string: VMware, Inc.
So, Hyper-V Client DO NOT REQUIRE VMware under Windows 8.1. Read how to Install Hyper-V and Configure a Virtual Machine I'm sorry, hope it help you. -
swift almost 10 yearsMy view your VMware Player CONFLICTED with Hyper-V infrastructure under Win8.1. My opinion how I could to decide this situation: 1. Remove VMware 2. Reinstall Hyper-V Client 3. Reboot and make sure that Hyper-V services works. 4. Make sure that correctly virtual machines which ready to use and available for download from Microsoft (also Ubuntu) can be started EVEN BY DOUBLECLICK from folder. 5. Run one, two, three machines same time and benchmark your system. Approximately.
-
swift almost 10 yearsBest option for single client is To install Client Hyper-V using the Get-WindowsOptionalFeature cmdlet
-
swift almost 10 yearsthank you. that's educate me alot. feels self temerity due to just now read that Hyper-V do not support GPU virtualization and was have not time to read. think I should to say you about server. maybe we start new +50 bounty? Microsoft said GPU available with RemoteFX infrastructure. Mere need to modify your question and maybe we will catch some luck :)
-
avo almost 10 yearsI don't have many rep points left for another bounty. I need to earn some first :)
-
swift almost 10 yearsI have don't worry ... if you want next bounty for question. there +100 next minimum.