Ubuntu Hyper-V Guest Display Resolution Win 10 + 15.04

79,587

Solution 1

Edit /etc/default/grub with your editor of choice. Remember to use sudo:

For example:

sudo nano /etc/default/grub

Change this line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

To this.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"

Then in a console type:

sudo update-grub
reboot

Unfortunately, this is the highest resolution you can use for Linux Hyper-V guests.

Other virtualization solutions have guest additions which allow for higher resolutions like VMware and VirtualBox.

Note: If you have added the RemoteFX 3D Video Adapter in your VM settings you may have to remove it in order for this change to work. And do reboot your ubuntu guest for it to take effect.

Solution 2

Since this question was asked (re ~ Ubuntu 15.04) things have progressed significantly with regards to Hyper-V & Ubuntu 18.04.1 with regards to ‘Enhanced Session Mode’.

There are two approaches currently:

A. New System ~~ Optimized Ubuntu Desktop images available in Microsoft Hyper-V gallery

B. Existing System ~~ manually configure xRDP to support ‘Enhanced Session Mode’

Here are the details:

Option A)

  1. In Hyper-V, on your server & select [Quick Create]
  2. In the [Create Virtual Machine] dialog, select [Ubuntu 18.04.1 LTS] && then [Create Virtual Machine]
  3. Then complete the standard Ubuntu installation options
  4. ‘Enhanced Session Mode’ will prompt you to setup screen resolution, local resources, etc.
  5. Note/Caution ~ if you have problems using drives, then you may want to de-select the [Printers]

Here are the links to where I sourced the information:

Optimised Ubuntu Desktop images available in Microsoft Hyper-V gallery

Run Ubuntu virtual machines made even easier with Hyper-V Quick Create

Option B)

  1. Modify Ubuntu 18.04 to use xrdp

    1.1 Get the scripts from GitHub

    sudo apt-get update
    sudo add-apt-repository ppa:git-core/ppa
    sudo apt update; sudo apt install git
    git clone https://github.com/jterry75/xrdp-init.git ~/xrdp-init
    

    1.2 Make the scripts executable and run them...

    cd ~/xrdp-init/ubuntu/18.04/
    sudo chmod +x install.sh
    sudo ./install.sh
    reboot
    

    1.3 <After Reboot> Run script again to finish setting up VM

    cd ~/xrdp-init/ubuntu/18.04/
    sudo ./install.sh
    
  2. Shutdown Ubuntu VM

  3. Register Ubuntu Session ~ run this command on host PC using powershell with admin rights:

    Set-VM -VMName YourUbuntuVMNameHere -EnhancedSessionTransportType HvSocket
    
  4. Restart VM

  5. Connect/Login to XRDP from Hyper-V (note ~ enter username - must be lowercase)

  6. Note/Caution ~ if you have problems using drives, then you may want to de-select the [Printers]


Here is the link to where I sourced the information:

Solution 3

For some reason, changing the grub config doesn't work on my Surface Book either (and I saw another Surface user complain about the same issue). I haven't found a solution yet, but here's something I can work with:

Install an X-Server for windows (e.g. xming), login to your virtual machine using ssh and set the DISPLAY variable (export DISPLAY= < your host ip>). You can also add that line to your ~/.bashrc to have it execute automatically when you login, otherwise you'll have to do that for each session.

This allows you to start your linux gui programms from ssh and work with them as if they were running natively on your host (much faster too, at least in my experience).

For convenience, I create an internal virtual switch in hyper-v and set up network sharing with that virtual device, so that my host always has the IP 192.168.137.1. This allows you to access the internet in the VM while having a static IP for your host.

Another solution which also works and gives you the full linux desktop experience (albeit slower than with X-forwarding over ssh): Install xrdp on linux as described here and use windows' remote desktop client to connect to your virtual machine. This will give you your native resolution, but is still a bit slow due to software rendering.

Share:
79,587

Related videos on Youtube

Bob Brunius
Author by

Bob Brunius

Updated on September 18, 2022

Comments

  • Bob Brunius
    Bob Brunius over 1 year

    I've got a Hyper-V on a WINDOWS 10 Surface and I'm using Ubuntu 15.04 as a guest OS. I've successfully resized the Ubuntu screen in a Hyper-V with Windows 8 and 14.04 using the recommendations found in these forums. In the current case however I've had no luck resizing. With the huge pixel count on the Surface 4 it make the guest Ubuntu a real pain in the ass to use.

    I'd welcome any suggestions.

    Screen shot of Hyper-V client

  • MattSlay
    MattSlay over 7 years
    the folder is named "default", not "defaults", and it's "video=", not "video-". So, the correct line would be: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1920x1080"
  • mhouston100
    mhouston100 over 7 years
    I also had to add 'sudo apt-get install linux-image-extra-virtual' to get the HyperV display driver
  • Matt West
    Matt West over 6 years
    Doesn't work using Hyper-V under Windows 10 and either Mint or Elementary. 9/2017.
  • E. Moffat
    E. Moffat over 6 years
    I had a RemoteFX video adapter added to my VM (generation 2). I had to remove the RemoteFX video adapter to get this to work.
  • Herohtar
    Herohtar almost 6 years
    This solution worked for me on my Gen 1 VM, but only after removing the RemoteFX adapter from the settings as @E.Moffat mentioned.
  • PhonicUK
    PhonicUK about 5 years
    I'm getting Set-VM : A parameter cannot be found that matches parameter name 'EnhancedSessionTransportType'. when I try and do this.
  • Paulo Raposo
    Paulo Raposo almost 5 years
    Just worked for me hosting Kubuntu 18.04 on Windows 10.
  • andrew lorien
    andrew lorien over 4 years
    I don't have admin rights on my work computer. But I was still able to run the Set-VM command.
  • Stuart Aitken
    Stuart Aitken about 4 years
    Quick note: You need to disable auto-login in Ubuntu, otherwise xrdp login will fail.
  • Anduin
    Anduin almost 4 years
    Seems not working on Ubuntu 20.04.
  • Steffen Roller
    Steffen Roller almost 4 years
    The question for "Enhanced Mode" never comes up. It seems it's activated but I can't find settings for it anywhere :-(.