Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VM Manager Feature requests

Featured Replies

7 hours ago, SimonF said:

I have been able to make some progress with VirGL and have a working solution. Currently working thru deps to add into OS and the Gui changes needed to support.

 

image.png

 

Also will add to gpustat to should QEMU is using the GPU.

 

image.png

This should in theory allow simultaneous use of a physical GPU on multiple docker containers, and multiple VMs using VirGL... as everything runs as a host process.
Great work!

  • Replies 72
  • Views 7.9k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • I have been able to make some progress with VirGL and have a working solution. Currently working thru deps to add into OS and the Gui changes needed to support.     Also will add

  • JonathanM
    JonathanM

    Proper handling of manual edits made to XML.   "Proper" can be debated, but silently discarded or reverted is not a solution.

  • There is a feature being looked at for a future release which is integrated backups, VMs would be part of that.

Posted Images

  • Author

I have working GUI changes and have been testing with two VMs to the same GPU(ARC770) Only support currently in Linux VMs.

 

17341295600555322987316112354320.png

 

Glmark2 results for VM with the GPU passed thru and via virgl.

 

Passthru

=======================================================

glmark2 2021.02

=======================================================

OpenGL Information

GL_VENDOR: AMD

GL_RENDERER: AMD Radeon RX 6400 (radeonsi, navi24, LLVM 15.0.7, DRM 3.57, 6.8.0-49-generic)

GL_VERSION: 4.6 (Compatibility Profile) Mesa 24.3.0-devel (git-9fc8668b66)

=======================================================

 

=======================================================

glmark2 Score: 14334

=======================================================

Virgl

=======================================================

glmark2 2021.02

=======================================================

OpenGL Information

GL_VENDOR: Mesa

GL_RENDERER: virgl (AMD Radeon Graphics (radeonsi, navi24, LLVM 19.1.5, ...)

GL_VERSION: 4.3 (Compatibility Profile) Mesa 24.3.0-devel (git-9fc8668b66)

=======================================================

 

=======================================================

glmark2 Score: 542

=======================================================

 

I don't have any time scales for inclusion into the OS but will not be in 7.0 likely 7.1 or 7.2

 

I would be happy to include packages required to make it work in this thread and instructions for the xml if any one is interested. 

 

Note this is experimental, my test qemu package is 9.2.0 which is greater than stock 9.1.0

 

 

GUI Changes.

 

image.png

 

 

Example XML

 

    <graphics type='spice' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <graphics type='egl-headless'>
      <gl rendernode='/dev/dri/by-path/pci-0000:03:00.0-render'/>
    </graphics>
    <audio id='1' type='none'/>
    <video>
      <model type='virtio' heads='1' primary='yes'>
        <acceleration accel3d='yes'/>
      </model>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </video>



    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' sharePolicy='ignore'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <graphics type='egl-headless'>
      <gl rendernode='/dev/dri/by-path/pci-0000:00:02.0'/>
    </graphics>
    <audio id='1' type='none'/>
    <video>
      <model type='virtio' heads='1' primary='yes'>
        <acceleration accel3d='yes'/>
      </model>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </video>

 

Drivers and RenderGPU added to VM View.

 

image.png

  • Author

Here are the packages if you would like to try on a TEST system. This would need to be on unraid 7rc1. If you have any issue you can reboot to return to stock.

 

Copy to your system and run installpkg for each of them.

 

VM Settings should show vers 9.2.0

 

image.png

 

You will have to do a manual edit for the xml

 

You should not change the existing spice or VNC graphics section.

 

Add this after the spice/VNC one. Change the PCI ID to match your GPU. You will need to have the drivers loaded on the host.

 

    <graphics type='egl-headless'>
      <gl rendernode='/dev/dri/by-path/pci-0000:03:00.0-render'/>
    </graphics>

 

In the video section add the accel3d line.
    <video>
      <model type='virtio' heads='1' primary='yes'>
        <acceleration accel3d='yes'/>
      </model>
    </video>

mesa-24.3.0-x86_64-2.txz qemu-9.2.0-x86_64-1cf_LT.txz virglrenderer-1.1.0-x86_64-1_SFo.tgz

It would be nice to have a VM manager GUI option to increase the video memory for the QXL video driver. The default

<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>

is not enough to support high resolutions.

 

I use

<model type='qxl' ram='65536' vram='131072' vram64='131072' vgamem='65536' heads='1' primary='yes'/>

in my VM config.

 

Something simple that sets these values appropriate for high resolutions would be a nice option.

  • Author
On 12/18/2024 at 6:40 AM, Ancalagon said:

It would be nice to have a VM manager GUI option to increase the video memory for the QXL video driver. The default

<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>

is not enough to support high resolutions.

 

I use

<model type='qxl' ram='65536' vram='131072' vram64='131072' vgamem='65536' heads='1' primary='yes'/>

in my VM config.

 

Something simple that sets these values appropriate for high resolutions would be a nice option.

Still looking at options, but propose something like this. Not tested mulitple screens/heads so may not include.

 

image.png

 

Scheduled snapshots / snapshot retention policies.

  • 2 weeks later...

Please add support for startup delay of vms just like docker. Currently, have unraid boot set to use the ipmi display as i have a Windows 11 vm passed though to the gpu. So when the server starts, you see the text scrolling up then freezes as the vm is then starting up. Would be a lot nicer to add a 30-second delay to show the unraidserver has booted and the ip address listed then the vm starts up, switching the display over to the Windows vm.

  • Author
1 hour ago, Goldmaster said:

Please add support for startup delay of vms just like docker. Currently, have unraid boot set to use the ipmi display as i have a Windows 11 vm passed though to the gpu. So when the server starts, you see the text scrolling up then freezes as the vm is then starting up. Would be a lot nicer to add a 30-second delay to show the unraidserver has booted and the ip address listed then the vm starts up, switching the display over to the Windows vm.

Is GPU bound to vfio? As that driver loading will remove screen from server. Auto start for VMs is handled by libvirt not by Unraid. Option is to create a user script with a delay i.e. sleep 30 and then run virsh start VMName

24 minutes ago, SimonF said:

Is GPU bound to vfio?

I cant see any sign that it is. Looking at the hardware profile, I don't see the words this `This controller is bound to vfio, connected drives are not visible.` next to the gpu.

 

24 minutes ago, SimonF said:

Auto start for VMs is handled by libvirt not by Unraid.

Could unraid (or myself) put in a feature request upstream for it to be added. So that in future the feature gets added, and thus unraid would be able to add support?

For the time being, I guess i write, set script to run at startup of first array only and turn off auto start option
 

sleep 30
virsh start "Windows 11"




 

Edited by Goldmaster

  • Author
3 hours ago, Goldmaster said:

cant see any sign that it is. Looking at the hardware profile, I don't see the words this `This controller is bound to vfio, connected drives are not visible.` next to the gpu.

It would be if you have check the box next to the gpu in system devices.

 

image.png

On 10/5/2024 at 10:11 AM, SimonF said:

There is a feature being looked at for a future release which is integrated backups, VMs would be part of that.

This should go with our saying, but if export/backup is included, please be sure to include import/restore. The backup restoration script from @petchav works great but not without the occasional hiccup.

On 12/14/2024 at 7:04 PM, SimonF said:

You will have to do a manual edit for the xml

 

You should not change the existing spice or VNC graphics section.

 

Add this after the spice/VNC one. Change the PCI ID to match your GPU. You will need to have the drivers loaded on the host.

Sorry for the question: Which and where is the XML file I need to edit? In the Settings->VM Manager page there is no option to display and edit the configuration as XML? I am highly interested in VirGL so.......

(P.s. I changed my account when buying Unraid but I am the one you made happy with the LCD Manager .....😁

Edited by bernieJo

  • Community Expert
12 minutes ago, bernieJo said:

Sorry for the question: Which and where is the XML file I need to edit? In the Settings->VM Manager page there is no option to display and edit the configuration as XML?

Use the switch at the top right to switch to Form View.

44 minutes ago, itimpi said:

Use the switch at the top right to switch to Form View.

Which switch ?? The one on top only changes between form and basic view, no xml available.. 

Bildschirmfoto2025-01-02um14_28_54.thumb.png.d9990d0bed5b9eb593402990e98073e8.png

2 minutes ago, bernieJo said:

Which switch ?? The one on top only changes between form and basic view, no xml available.. 

This one but when you're editing a VM, not in the VM manager settings...

Edited by Kilrah

Ok Thanks, did it and works perfect 😅

  • Author
7 hours ago, bernieJo said:

Ok Thanks, did it and works perfect 😅

So you have virgl working ok? If running on 7 rc2 the Mesa package is no longer required in extras, just qemu and virglrender.

10 hours ago, SimonF said:

So you have virgl working ok?

Well it looks indeed that I am still running on SW rendering, the wheels of the gl demo are spinning but just increase cpu load not gpu load. I do not see a *-render device in the vm... I have installed the 3 (ok now 2) pkg's and am just reinstalling the vm from scratch, I will add the lines in the vm xml and install Ubuntu 2404..  I will let you know.

Edited by bernieJo

Looks better now! the solution was not only add one line in xml at video section but replace my section with the complete entry :

   <video>
      <model type='virtio' heads='1' primary='yes'>
        <acceleration accel3d='yes'/>
      </model>
    </video>

 

Bildschirmfoto2025-01-03um10_45_33.thumb.png.414209fa0c40c0320d01f536fe24184e.png

....and it is real big improvement in performance of the VM's GUI. Really great! I was in doubt if my new N100 board is the right base für my new NAS for having one or the other VM beside Samba and containers. Now I am convinced.

 

So looking forward to have it in the Unraid GUI. 😁👍

On 12/19/2024 at 10:16 AM, SimonF said:

Still looking at options, but propose something like this. Not tested mulitple screens/heads so may not include.

 

image.png

Would it make sense to separate out the number of displays from the memory, as two independent dropdowns?

  • Author
8 hours ago, Ancalagon said:

Would it make sense to separate out the number of displays from the memory, as two independent dropdowns?

Maybe but the back end processing is more simple this way.

Native SR-IOV graphics support and Nvidia vGPU - Licensed support is interesting too me.  I don't know anything about virt Gll you mention it will read about it now. I would love to share a GPU (even if it's just Nvidia approved versions, Tesla etc, using legal licensing etc) to multiple windows vm's simultaneously.  

 

Thanks 👍 

Another helpful option would be a select all / deselect all for logical CPU cores. I often want all logical cores enabled for a VM and for a 16-core/32-thread CPU, this requires a lot of tedious clicking. An option to quickly select 4/8/12/16/20/24/28/etc. cores, that correctly selects the optimal combination of logical cores, would also be nice.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.