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.

Blu-ray / DVD ROM Passthrough

Featured Replies

Wanted to add my two cents to this. I just built a server a week ago and purchased unRaid. Blu-ray ripping was going to be a big part of it - running Plex, ripping the blu-rays to it and running storage...all inside the one box.

 

I initially tried the SATA to USB3 method (Anker brand), but didn't have much luck. No USB devices seemed to mount under i440fx, but they did if I swapped to Q35...however had a ton of performance loss as a result. The blu-ray drive also wouldn't mount at all on the internal USB3 header, but did when plugged into a USB2 (again, performance losses that were unacceptable).

 

I then tried the direct passthrough method suggested by jonp earlier in this thread and it worked like a charm. I'm a bit of a newbie with Linux and command lines, so I obtained the controller information from the Devices list inside unRaid. Also pasted the information into the XML as an all new virtual machine - as someone stated trying to edit a current VM seems to create issues, this proved to be correct.

 

Like saarg I am unable to use MakeMKV - settled for AnyDVD HD. Same symptoms - reads the disc but then never actually begins ripping. Thankfully didn't experience any lockups or crashes necessitating a reboot.

 

Have not yet tried eschultz's rawio command - will do so later and report back if results are positive. If anyone has any further suggestions I'd love to hear them.

 

Build notes:

unRaid 6.0.1

Windows 7 Enterprise N VM in KVM

SuperMicro X10SRL-F-O

LG Slim Blu-Ray Combo Drive - SATA CT40N

  • Author

I would be surprised if this would work. I have that implemented including rawio but still doesn't work as posted earlier.

Don't want to buy anyDVD or DVDFab...

 

XML here:

<domain type='kvm'>
  <name>Windows7</name>
  <uuid>a8271969-c377-b630-e1e4-cf63b02c6264</uuid>
  <metadata>
    <vmtemplate name="Custom" icon="windows7.png" os="windows7"/>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>2</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='6'/>
    <vcpupin vcpu='1' cpuset='7'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-2.3'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='1'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source file='/mnt/cache/.VMs/Windows7/vdisk1.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/.VMs/ISOs/win7pro64.iso'/>
      <target dev='hda' bus='sata'/>
      <readonly/>
      <boot order='2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/.VMs/ISOs/virtio-win-0.1-100.iso'/>
      <target dev='hdb' bus='sata'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </controller>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x06' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='00:16:3e:a1:bc:a5'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/Windows7.org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='vmvga' vram='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='scsi' managed='no' rawio='yes'>
      <source>
        <adapter name='scsi_host2'/>
        <address bus='0' target='0' unit='0'/>
      </source>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x0d8c'/>
        <product id='0x013c'/>
      </source>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
</domain>

saarg & dirtyofries,

 

Thanks for the info! I actually use AnyDVD HD so it's reassuring that it will work. I'm not quite sure when I'll make the upgrade as I need to continue getting up to speed on everything. In the mean time, thanks!

  • 4 months later...

I guess this is still an open issue  :(

 

I read the whole thread, experienced same things, MakeMKV not working, unraid (6.1.6) going completely unresponsive (no webGUI, no ssh).

I had to hard reset the server to get everything back on its feet :(

 

I'm using a SATA BD-ROM and I thought the BD-ROM was the easy part in all this virtualization journey ::)

At the moment I have no other PC in the house that can rip my discs, as I ditched my old HTPC.

Should I hold my breath for a solution or it's better I bring back the HTPC?

 

I've been able to play movies with AnyDVD-HD installed though.

I guess this is still an open issue  :(

 

I read the whole thread, experienced same things, MakeMKV not working, unraid (6.1.6) going completely unresponsive (no webGUI, no ssh).

I had to hard reset the server to get everything back on its feet :(

 

I'm using a SATA BD-ROM and I thought the BD-ROM was the easy part in all this virtualization journey ::)

At the moment I have no other PC in the house that can rip my discs, as I ditched my old HTPC.

Should I hold my breath for a solution or it's better I bring back the HTPC?

 

I've been able to play movies with AnyDVD-HD installed though.

Why don't you use my makemkv docker?

 

I guess I can give it a try. I noticed your docker before but I will not be able to cover the other cases: audio-cd ripping, data-dvd .iso ripping etc

If you also need those things your only option as of now is to get a external USB drive and pass through a USB controller. I'm not sure it will work only passing through the drive.

In the xen days I passed through a sata controller.    See my SIG.

Same issue here, drive shows up fine in Windows but MakeMKV won't rip correctly.

 

Is this something that can be fixed in the future or is this just a limitation of VM/ODD pass through in general?

Hopefully it can be fixed :)

  • 3 months later...

Has anyone tested whether with the new beta releases the problem is still there?

Has anyone tested whether with the new beta releases the problem is still there?

 

Yes, still the same issue for me in the Beta.

The only way I was able to get it working correctly was to passthrough a complete SATA controller.

  • 1 year later...

Just an FYI ... I followed the steps documented earlier in this thread (editing the XML file for the VM with the values returned by 'lsscsi' for the necessary drive) on 6.4.0 and it works fine on that release, in a Windows 10 Pro VM (10.0.16299, Build 16299). Unfortunately, I did not have a need to use my ASUS BC-12B1ST Blu-Ray drive until about half an hour before posting this, which was after I had upgraded to 6.4.0. So, I cannot answer for certain if this would have worked on a 6.3.x release.

 

However, VM performance was very choppy/laggy through VNC/TeamViewer until I managed to get the Red Hat VirtIO SCSI Controller driver installed ... and I'm talking really laggy/slow. Was almost painfully slow. Had to use keyboard to navigate through Windows because the mouse was just unusable for me, until after that driver was installed.

 

This was on a host with an EVGA SR-2 motherboard (BIOS A58). Drive is attached to one of the on-board SATA2 ports.

 

shot1.jpg

Edited by vmxnet4

Archived

This topic is now archived and is closed to further replies.

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.