OpenELEC VM Template Support


jonp

Recommended Posts

HI,

 

I have a Nvidia GT 730 graphics card that I am using to pass through video and sound.  Video is working without an issue.  Sound was working until the unraid webgui crashed and forced me to reboot.  Now I can not get sound running again.  I've got the GT 730 being passed through, and the sound card comes up as a Nvidia GK208 HDMI/DP audio controller which I've also got passed through.  My usb infrared red receiver is passed through as well and working without issue.  I did find a post earlier, but now can not find it again about creating a sound.conf file .config/modprobe.d with the following line

 

options snd-hda-intel enable_msi=1

 

but this does not seem to be working either now on reboot.

 

Any ideas?

Link to comment
  • Replies 263
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

HI,

 

I have a Nvidia GT 730 graphics card that I am using to pass through video and sound.  Video is working without an issue.  Sound was working until the unraid webgui crashed and forced me to reboot.  Now I can not get sound running again.  I've got the GT 730 being passed through, and the sound card comes up as a Nvidia GK208 HDMI/DP audio controller which I've also got passed through.  My usb infrared red receiver is passed through as well and working without issue.  I did find a post earlier, but now can not find it again about creating a sound.conf file .config/modprobe.d with the following line

 

options snd-hda-intel enable_msi=1

 

but this does not seem to be working either now on reboot.

 

Any ideas?

 

Got it fixed.  Issue turned out to be the selection of the audio output device inside of openelec.

Link to comment

I get the feeling that part of the guide should include using a USB device for control during initial set up.

 

Well, in the wiki I do make mention:  Select any USB Devices you wish to use with the VM (such as a keyboard, mouse, or infrared receiver)

 

That said, I have an issue the option to wait for network in OE doesn't work on the VM.

 

Can you further explain what you mean here?  I'm not understanding.

 

Since I use a MySQL central server if the network isn't up before the program loads it will not load my Movies/TV tabs.

 

So are you saying you want OpenELEC to hold in the boot process until it acquires an IP address?  Is that the net of your request?  If so, that should be a relatively simple adjustment.

 

1) Totally skipped the wiki (I had a reasonable idea of what I was getting into so skipped it, my bad).

 

2) In the OpenELEC Settings addon's Network section there is an option for "Wait for network before starting XBMC" that doesn't seem to happen.

 

3) Effectively, yes, however I have an issue with attempting to enact the same effect on a Kodibuntu VM... since it only happens on startup of the VM, I just make it a point to either change users or reboot the VM currently. I think this may possibly be related to this issue with PXE boot VMs?

 

Going to read up on when/how updates are handled as I need to maintain three installations of Kodi (one Windows VM, one bare metal, and the unRAID OE VM)

 

On the upside, having the VM capability means I actually use most of the CPU in my server! (3 cores for Kodi, 1 for Dockers, and 2 for unRAID)

Link to comment

2) In the OpenELEC Settings addon's Network section there is an option for "Wait for network before starting XBMC" that doesn't seem to happen.

 

Ok, I see what you're getting at.  I don't think those settings work because they would require write access to the virtual disk image for OpenELEC, which is set up to be read-only.  I'll have to discuss with Eric to decide what the best solution for this would be.

Link to comment

Just wanted to say I downloaded and configured the openElec template today (my first VM) and its working fine. :)

 

I did hit some gotchas though, which either I missed from the instructions or maybe are missing from the instructions.

 

1.  When creating the VM you need to have "advanced view" enabled to see the "config folder" field.  I missed setting this and although openElec started I had various error messages on screen!

2.  You do need some kind of usb keyboard attached to go through the initial configuration.  Basically Next, Next, Next will do it to get openElec on the network.  After that Kore will work.

3.  I had not enabled the bridge in network settings but luckily spotted a reply in this thread pointing to that.  Kore would not detect my openElec Kodi until I had enabled the bridge and chosen br0.

4.  I had both my vga monitor AND HDMI connected to my AMD graphics card.  This screwed up display of openElec to my TV and had me scratching my head for a bit.  The display was off centre to the left.  Unplugging the vga monitor and restarting openElec fixed the issue.

 

Other than that all seems to be working well!  Can't believe how easy you made this for us  :)

Link to comment

Hey Jon,

 

I am having a similar issue as the first person to post to this support thread.

 

internal error: process exited while connecting to monitor: 
2015-09-03T15:28:17.870758Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,x-vga=on: vfio: error, group 1 is not viable, please ensure all devices within the iommu_group are bound to their vfio bus driver.
2015-09-03T15:28:17.870773Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,x-vga=on: vfio: failed to get group 1
2015-09-03T15:28:17.870780Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,x-vga=on: Device initialization failed
2015-09-03T15:28:17.870787Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,bus=pcie.0,multifunction=on,x-vga=on: Device 'vfio-pci' could not be initialized

 

Here is the other relevant info that you asked for from the other guy:

 

PCI Devices

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation C222 Series Chipset Family Server Essential SKU LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 730] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)
02:00.0 Serial Attached SCSI controller: LSI Logic / Symbios Logic SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05)
03:00.0 PCI bridge: ASPEED Technology, Inc. AST1150 PCI-to-PCI Bridge (rev 03)
04:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED Graphics Family (rev 30)
05:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
06:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)

 

IOMMU Groups

/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/1/devices/0000:01:00.0
/sys/kernel/iommu_groups/1/devices/0000:01:00.1
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/2/devices/0000:00:14.0
/sys/kernel/iommu_groups/3/devices/0000:00:1a.0
/sys/kernel/iommu_groups/4/devices/0000:00:1c.0
/sys/kernel/iommu_groups/5/devices/0000:00:1c.2
/sys/kernel/iommu_groups/6/devices/0000:00:1c.3
/sys/kernel/iommu_groups/7/devices/0000:00:1d.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.0
/sys/kernel/iommu_groups/8/devices/0000:00:1f.2
/sys/kernel/iommu_groups/8/devices/0000:00:1f.3
/sys/kernel/iommu_groups/8/devices/0000:00:1f.6
/sys/kernel/iommu_groups/9/devices/0000:03:00.0
/sys/kernel/iommu_groups/9/devices/0000:04:00.0
/sys/kernel/iommu_groups/10/devices/0000:05:00.0
/sys/kernel/iommu_groups/11/devices/0000:06:00.0

 

I don't have another slot to move the Video Card to and the SAS controller is hardwired into the motherboard so I can't move that either (This is an AVS-10/4-X). So do I need to do the PCI ACS Override to make this work? What is the disadvantage of using the "Override"? Thanks in advance for your help. I am really excited to use this.

 

-Will

Link to comment

I went ahead and used the "PCI ACS Override" and was able to get the OpenElec VM up and running. Initial the audio was tripping out and causing Kodi to crash every few minutes but rebooting the VM seems to have fixed the issue. Everything seems to be working well now. I don't have any media stored on this machine locally at the moment so I can't comment on any improvement on playback  by avoiding a network connection. I will report back once I get some new drives installed and filled up with content. Regardless, this setup is pretty awesome.

 

Jon, I am still interested in understanding/resolving the "Override" issue if you have a moment to explain/diagnose.

Link to comment

Out of interest... when setting up shares in Kodi in this VM, should I use SMB shares?  Or is there a local mapping available to the unRaid shares?

 

You should have local mapping available. That is one of the advantages of using this VM is the ability to access your shares without using your network.

 

-Will

Link to comment

Just wanted to say I downloaded and configured the openElec template today (my first VM) and its working fine. :)

 

I did hit some gotchas though, which either I missed from the instructions or maybe are missing from the instructions.

 

1.  When creating the VM you need to have "advanced view" enabled to see the "config folder" field.  I missed setting this and although openElec started I had various error messages on screen!

 

Not true.  See image attached.  You probably need to clear your browser cache.

 

2.  You do need some kind of usb keyboard attached to go through the initial configuration.

 

I am still baffled by this as I do not have this same issue.  I am able to use the Kore app right away (no USB keyboard needed).  Still trying to figure out why some folks are having this issue.

 

3.  I had not enabled the bridge in network settings but luckily spotted a reply in this thread pointing to that.  Kore would not detect my openElec Kodi until I had enabled the bridge and chosen br0.

 

I will add a note to the wiki guide to this affect.  Good catch.

 

4.  I had both my vga monitor AND HDMI connected to my AMD graphics card.  This screwed up display of openElec to my TV and had me scratching my head for a bit.  The display was off centre to the left.  Unplugging the vga monitor and restarting openElec fixed the issue.

 

Also will add this note to the wiki but I think there is a setting under the VM under display settings that can force display to a single monitor without having to physically unplug the cable.

 

Other than that all seems to be working well!  Can't believe how easy you made this for us  :)

 

Thanks!  Appreciate the feedback!

openelec_add_vm_page_in_basic_view.PNG.ae3778c1c8e61c2358e9dac7107e1336.PNG

Link to comment

I went ahead and used the "PCI ACS Override" and was able to get the OpenElec VM up and running. Initial the audio was tripping out and causing Kodi to crash every few minutes but rebooting the VM seems to have fixed the issue. Everything seems to be working well now. I don't have any media stored on this machine locally at the moment so I can't comment on any improvement on playback  by avoiding a network connection. I will report back once I get some new drives installed and filled up with content. Regardless, this setup is pretty awesome.

 

Jon, I am still interested in understanding/resolving the "Override" issue if you have a moment to explain/diagnose.

 

In the wiki, I link to this post from Alex Williamson that explains, in detail, what this ACS override is actually doing.  It is incredibly complex to read, but what it boils down to is that with the override applied, it is technically possible that one hardware device could accidentally write to another device's DMA space.  In all my testing thus far, I have yet to see this actually occur where a major issue resulted, and no one in the forums here has reported it as well.  Generally speaking, here's my stance on it:

 

The first course of action should be to try to move the device to a different PCI slot to see if you can coax it into it's own IOMMU group, negating the need for the override in the first place.  If that's not an option or doesn't work, the next step should be to review what other device(s) are in the group with your GPU.  The worst device your GPU could be grouped with would be a storage controller.  So if a GPU and a storage controller are in the same group, this means that it is TECHNICALLY possible for your GPU to write to the DMA of the storage controller causing silent data corruption.  That said, I have never actually seen this happen and if the controller is well-behaved, this shouldn't happen.  Point is, "swim at your own risk" if you choose to enable the override.

 

Alex's post on the matter simply suggests getting hardware that has isolated root ports or purchase Xeon E5 class processor that has native ACS support, which also addresses this issue.  My view is to simply make folks aware of the potential pitfalls and let them decide for themselves if it's a risk worth spending that kind of money to solve.

 

Know that I have multiple systems with the PCIe ACS Override enabled, and so far (knock on wood), I've not witnessed any problems as a result.

Link to comment

Out of interest... when setting up shares in Kodi in this VM, should I use SMB shares?  Or is there a local mapping available to the unRaid shares?

 

You should have local mapping available. That is one of the advantages of using this VM is the ability to access your shares without using your network.

 

-Will

 

No, we do this through SMB, but it's still local.  Yes, it is going through the "network layer" by using SMB, but it's not actually traversing the copper network itself.  The network bridge takes care of that.  All traffic going between the virtual network of the guest and the host is contained to the host.

Link to comment

@ jonp any progress with sleep/standby/hibernation option ??

 

In short, no.  Sleep/Standby/Hibernation support in general is a difficult thing to support.  A lot of this stems back to ACPI and the lack of true standardization in the industry.  Tom and I have had numerous discussions about this, and the reality is that while supporting this would be nice, it's just not realistic as there are too many edge cases to support.  Just the other day there was a thread in the edk2 mailing list which talks about this.  It was in response to someone trying to get a 32-bit build of Windows working as a VM with OVMF.  I realize that's not the same, but ACPI is crucial to supporting sleep/standby/hibernation effectively, so many of the points made below support the difficulty in achieving this.

 

...historically hardware vendors have been insufficiently picky about

creating their ACPI tables, leading to what I have not-so-affectionately named

the "If It Works With Windows, It Must Be Okay" syndrome.

 

I think Microsoft uses their own ACPI implementation in Windows rather than

the Intel reference ACPI CA code. (At the very least I know they have their

own ASL compiler.) Also, the majority of x86 hardware vendors, aside from

Apple, only validate their systems with Windows because they perceive their

target market as being comprised mainly of Windows users. Yes, even today. (Go

count how many machines have Windows logo stickers on them. Now go count how

many have little Linux or FreeBSD logo stickers on them. Big difference, isn't

there.)

 

As a result, ACPI tables or AML code will often have little quirks that don't

seem to bother Windows but which break everything else. In more egregious

cases, the ASL might even be effectively written to say "if (OS == Windows)

{work right} else {swallow own tongue}."

 

Given that ACPI is supposed to be an industry standard, you would think this

wouldn't be a problem. But it's a _big_ and complicated standard, and as with

any big and complicated standard, getting everyone to interpret it 100%

unambiguously is hard. The same is true of UEFI.

 

Some of these issues would be avoided if the hardware manufacturers went to

the trouble of testing their ACPI blobs with the Intel reference code and

tools instead of just the Microsoft ones. But Microsoft has no incentive to

compel logo program participants to do this, and there isn't "UEFI Forum" logo

program (as far as I know). Even if there were, they might not feel obliged to

comply with it anyway, because If It Works With Windows, It Must Be Okay.

 

I'm sorry I can't offer anything constructive to help you solve this

particular problem though (other than be persistent and add lots of debug

instrumentation), but I'm glad to see that at least someone is bothering to

test the 32-bit build.

 

Just thought I'd share...

Link to comment

That's a very nice piece of writing, and a good discovery, thank you!  It accords completely with my own suspicions, after the ACPI reading I've done and all of the ACPI issues I've long seen in our many syslogs.  It needs to be quoted more often.

 

Occasionally I compare syslogs with older ones from the same system, and notice a BIOS upgrade.  Rarely do I see any changes in the number of ACPI issues present, so clearly there was little or no interest in fixing them for the Linux world.  I'd have to hunt, but I don't think I EVER see a syslog without any ACPI issues.  If there are, it's uncommon.

 

When I look through syslogs showing a system that is 'waking up', it is absolutely amazing that a system that looks so broken can possibly return fully and reliably to operational status!  It's improving now, much better than the earlier years, but it still looks scary.

Link to comment

Out of interest... when setting up shares in Kodi in this VM, should I use SMB shares?  Or is there a local mapping available to the unRaid shares?

 

You should have local mapping available. That is one of the advantages of using this VM is the ability to access your shares without using your network.

 

-Will

 

No, we do this through SMB, but it's still local.  Yes, it is going through the "network layer" by using SMB, but it's not actually traversing the copper network itself.  The network bridge takes care of that.  All traffic going between the virtual network of the guest and the host is contained to the host.

 

I'm curious what effect this would have on a shared MySQL DB.

 

If I created my MySQL DB from an OE VM that uses local paths (9p), would standalone OE boxes that access media via SMB understand the paths in the existing DB?

 

Honestly, I never tries because I just assumed that they wouldn't play nicely together.  But since you brought SMB into the conversation in regards to local paths, it started me thinking.

 

John

Link to comment

Out of interest... when setting up shares in Kodi in this VM, should I use SMB shares?  Or is there a local mapping available to the unRaid shares?

 

You should have local mapping available. That is one of the advantages of using this VM is the ability to access your shares without using your network.

 

-Will

 

No, we do this through SMB, but it's still local.  Yes, it is going through the "network layer" by using SMB, but it's not actually traversing the copper network itself.  The network bridge takes care of that.  All traffic going between the virtual network of the guest and the host is contained to the host.

 

I'm curious what effect this would have on a shared MySQL DB.

 

If I created my MySQL DB from an OE VM that uses local paths (9p), would standalone OE boxes that access media via SMB understand the paths in the existing DB?

 

If you're asking me, I honestly have no idea.  Probably easier to try and see than to discuss this theoretically ;-).  That said, making this work would be of interest to me.  How do you do this today with a shared MySQL DB?  I don't take that approach personally, so I need some education in that department.

Link to comment

Out of interest... when setting up shares in Kodi in this VM, should I use SMB shares?  Or is there a local mapping available to the unRaid shares?

 

You should have local mapping available. That is one of the advantages of using this VM is the ability to access your shares without using your network.

 

-Will

 

No, we do this through SMB, but it's still local.  Yes, it is going through the "network layer" by using SMB, but it's not actually traversing the copper network itself.  The network bridge takes care of that.  All traffic going between the virtual network of the guest and the host is contained to the host.

 

I'm curious what effect this would have on a shared MySQL DB.

 

If I created my MySQL DB from an OE VM that uses local paths (9p), would standalone OE boxes that access media via SMB understand the paths in the existing DB?

 

How do you do this today with a shared MySQL DB?  I don't take that approach personally, so I need some education in that department.

 

I don't use local paths in my OE VMs...I use SMB same as the standalone boxes.

Link to comment

Hello,

 

I'm finding 2 problems with the current Openelec VM template.  The first being that the reboot option in its GUI does not appear to work, and I'm at a loss as to how to fix it.  The second issue i'm finding is that after the VM has been left idling for a few hours it seems to lock up and needs to be rebooted.  Ram usage through these times is around 70% and CPU utilization is normally in the range of 5%-10%.

 

Suggestions?

Link to comment

Hello,

 

I'm finding 2 problems with the current Openelec VM template.  The first being that the reboot option in its GUI does not appear to work, and I'm at a loss as to how to fix it.  The second issue i'm finding is that after the VM has been left idling for a few hours it seems to lock up and needs to be rebooted.  Ram usage through these times is around 70% and CPU utilization is normally in the range of 5%-10%.

 

Suggestions?

What kind of GPU are you assigning?  Can you upload your diagnostics?  Tools -> Diagnostics

Link to comment

Hello,

 

I'm finding 2 problems with the current Openelec VM template.  The first being that the reboot option in its GUI does not appear to work, and I'm at a loss as to how to fix it.  The second issue i'm finding is that after the VM has been left idling for a few hours it seems to lock up and needs to be rebooted.  Ram usage through these times is around 70% and CPU utilization is normally in the range of 5%-10%.

 

Suggestions?

What kind of GPU are you assigning?  Can you upload your diagnostics?  Tools -> Diagnostics

 

I am using an NVidia GT 730.

tower-diagnostics-20150904-2149.zip

Link to comment

Hello,

 

I'm finding 2 problems with the current Openelec VM template.  The first being that the reboot option in its GUI does not appear to work, and I'm at a loss as to how to fix it.  The second issue i'm finding is that after the VM has been left idling for a few hours it seems to lock up and needs to be rebooted.  Ram usage through these times is around 70% and CPU utilization is normally in the range of 5%-10%.

 

Suggestions?

What kind of GPU are you assigning?  Can you upload your diagnostics?  Tools -> Diagnostics

 

I am using an NVidia GT 730.

 

What kind of USB device are you assigning to this VM?  I don't think the VM is necessarily crashing, but rather, the USB device you're using to control it is failing to function with it properly.

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.