14

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
avo
  • 267
  • 1
  • 3
  • 11
  • have 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). – Geo Jul 18 '14 at 13:03
  • @Geo, tks, I will try that and let you know. – avo Jul 21 '14 at 10:09
  • @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. – avo Jul 23 '14 at 07:06
  • Can you post the output of `/usr/lib/nux/unity_support_test -p` – bain Jul 23 '14 at 15:01
  • I updated the question with requested info, @bain. – avo Jul 24 '14 at 05:59

3 Answers3

5

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)

bain
  • 10,860
  • 2
  • 42
  • 48
5

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.

Sunil Urs
  • 151
  • 1
  • 2
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)

Glorfindel
  • 965
  • 3
  • 13
  • 20
swift
  • 3,261
  • 2
  • 22
  • 46
  • Thanks 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. – avo Jul 23 '14 at 07:12
  • I 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 Jul 23 '14 at 10:37
  • your Win8.1 is 64 bit? – swift Jul 23 '14 at 10:43
  • Yes, 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. – avo Jul 23 '14 at 13:46
  • oops sorry )) i'm a little blur attention ... do you installed VSS Snapshot Daemon & KVP Daemon ? – swift Jul 23 '14 at 14:31
  • updated for VSS & KVP – swift Jul 23 '14 at 14:37
  • `sudo apt-get install hv-kvp-daemon-init` didn't change anything. Please check the updated question for some more details. – avo Jul 24 '14 at 05:58
  • Do 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](http://technet.microsoft.com/en-us/library/hh846766.aspx) I'm sorry, hope it help you. – swift Jul 24 '14 at 07:58
  • My 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 Jul 24 '14 at 08:07
  • Best option for single client is [To install Client Hyper-V using the Get-WindowsOptionalFeature cmdlet](http://technet.microsoft.com/en-us/library/hh846766.aspx#BKMK_PSCLIENT) – swift Jul 24 '14 at 08:23
  • believe or not, it's a clean Win8.1 installation, no VMware was ever present on it. The Ubuntu Desktop guest was also installed from scratch. I think it's just the lack of 3D support in Hyper-V linux drivers, as the other answer suggests. I reward you with bounty anyway, as you tried hard to help. Thank you. – avo Jul 25 '14 at 13:16
  • thank 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 :) – swift Jul 25 '14 at 16:11
  • I don't have many rep points left for another bounty. I need to earn some first :) – avo Jul 26 '14 at 01:56
  • I have don't worry ... if you want next bounty for question. there +100 next minimum. – swift Jul 26 '14 at 10:37