Using PCI Passthrough to support old hardware that only has 32bit drivers

For anything relating to music-making on Windows computers, with lots of FAQs. Moderated by Martin Walker.
Post Reply

Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by therobyouknow »

I'm doing some ongoing research into this and hope to follow up as and when I get outcomes (both negative and positive).

I have a desktop PC with hardware that will support PCI passthrough (A CPU - AND - motherboard both with Intel VT-d (directed IO/IOMMU).)

PCI Passthrough means that a guest OS (i.e. 32 bit Windows XP/7/8/10) running inside a Virtual Machine can see the hardware on the host machine. For example I have a Yamaha SW1000XG which only had 32 bit drivers written for it up to Windows XP. However, these drivers work with every 32bit Windows beyond XP, including Vista, 7, 8 and now Windows 10. I have tested with all of them.

https://www.soundonsound.com/forum/view ... 20&t=34405

Being 32bit, there are limitations - no more than 2 or 3Gb RAM can be supported (32bit = 4Gb address space, some of this taken by the OS and devices). I have a 32Gb Windows machine with 64bit Windows 10. I plan to install a 32bit Windows as a guest in a VM and use PCI passthrough to see the Yamaha SW1000XG and run the 32bit drivers on this 32bit Windows guest in the VM. That way - best of both worlds - powerful 64bit apps, 32Gb RAM and older hardware supported as well.

It's also possible to run 32bit Windows as a guest on a host running Linux and do the same. It may even be possible to not use Windows (and avoid the license cost) and instead use ReactOS (reactos.org) which is an open-source Windows-like OS. It's still in alpha but may be stable enough to work with the drivers.

Another virtualisation software called QEMU/KVM is available (for free) that may provide more success in doing the above rather than Virtual Box.

PCI Passthrough has been proven for Graphics Cards being visible to the guest OS so this is encouraging for sound cards.

Currently I have Windows 10 Pro 64bit, Windows 10 Pro 32 bit and Ubuntu 18.04 LTS as boot options on my Desktop PC. To use the Yamaha SW1000XG I boot into Windows 10 Pro 32bit, course, using the Windows XP drivers I installed there, so I know the card works - for comparison when working on PCI Passthrough.

If successful this might resurrect some vintage but good PC sound hardware, bring back some nice sounds, help people get more out of their tech, reduce landfill, good for the environment, good all round!
therobyouknow
Poster
Posts: 33 Joined: Tue Nov 22, 2011 12:00 am
My kit:
Korg M1 Music Workstation Synthesizer (with WaveRex PCM card and m1ram.com batteryless program card),
Fender HMX electric guitar,  
Self built custom PC i7 quadcore 32Gb, SSD W10Pro / Ubuntu Studio (for music-friendly real-time kernel tweaks). Ardour DAW.
SW1000XG in Gigabyte J3455N-D3H / FractalDesign Node 2 W10 32bit XGedit / XG Wizard / XG Manager
MacBook Air M2 13" 24Gb 1Tb
Soundcraft EPM12 Mixer,
2 x Fostex PM0.4n speakers.
Focusrite Scarlett Gen3.

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by Sonic Pervert »

Hey, I'm following this avidly as I have a SW1000XG running in an old Windows XP machine. I'm upgrading to Windows 10 and new mobo, processor etc but would love to keep the SW1000XG and also my M-Audio Delta 66 PCI sound card. I have also considered using a VM somehow but sounds like you're well ahead of me with the research! Please keep us posted!
Thanks,
Tony
Sonic Pervert
New here
Posts: 4 Joined: Fri Mar 07, 2003 12:00 am Location: Chepstow

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by ef37a »

Sonic Pervert wrote:Hey, I'm following this avidly as I have a SW1000XG running in an old Windows XP machine. I'm upgrading to Windows 10 and new mobo, processor etc but would love to keep the SW1000XG and also my M-Audio Delta 66 PCI sound card. I have also considered using a VM somehow but sounds like you're well ahead of me with the research! Please keep us posted!
Thanks,
Tony

Pardon an old valve jockey interfering but, would it not be far easier to just keep the old PCI/XP/Delta rig going and buy/build a stonking W10 machine?
You can link them audiowise via S/PDIF, both ways.

Dave.
ef37a
Jedi Poster
Posts: 19140 Joined: Mon May 29, 2006 12:00 am Location: northampton uk

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by therobyouknow »

Sonic Pervert wrote:Hey, I'm following this avidly as I have a SW1000XG running in an old Windows XP machine. I'm upgrading to Windows 10 and new mobo, processor etc but would love to keep the SW1000XG and also my M-Audio Delta 66 PCI sound card. I have also considered using a VM somehow but sounds like you're well ahead of me with the research! Please keep us posted!
Thanks,
Tony

Great to hear from someone else with enthusiasm for solving this problem.

As in my original post, to do PCI passthrough, BOTH the motherboard and CPU need to support VT-d.

My motherboard is an Intel DQ67SW: https://ark.intel.com/content/www/us/en ... q67sw.html

My CPU is: Intel® Core™ i7-2600 (not 2600K variant).

I bought both off ebay and bought a great fan from quiet PC and I don't even know the PC is on.

Crucially, the Intel DQ67SW motherboard has a PCI port to accept the Yamaha SW1000XG as well as the VT-d support. It's a motherboard that straddles both legacy interfaces and modern ones - a nice combo to my mind!

I have 3 triple boot options installed on this PC: Windows 10 Pro 64bit, Windows 10 Pro 32bit, Ubuntu 18.04 LTS 64bit. This means of course, I bought 2 Windows licenses. There are good deals around online for genuine Windows from OEM kit sellers etc, rather than buying from well known high street outlets at higher prices. So booting into Windows 10 32bit Pro means I can use the SW1000XG as the XP drivers work on this, see my other post on SOS. But that comes with a limitation, that no more than around 2.5-2.9Gb memory available - and I have 32Gb. But still, it's an option to consider. And if you have another computer, like I do - a MacBook Pro then you can use that as your main DAW and control, via MIDI, the desktop with the SW1000XG. So that's an interim or maybe longer term solution to enjoy, while I work out the PCI passthrough in parallel. I'll update again when I know more!
therobyouknow
Poster
Posts: 33 Joined: Tue Nov 22, 2011 12:00 am
My kit:
Korg M1 Music Workstation Synthesizer (with WaveRex PCM card and m1ram.com batteryless program card),
Fender HMX electric guitar,  
Self built custom PC i7 quadcore 32Gb, SSD W10Pro / Ubuntu Studio (for music-friendly real-time kernel tweaks). Ardour DAW.
SW1000XG in Gigabyte J3455N-D3H / FractalDesign Node 2 W10 32bit XGedit / XG Wizard / XG Manager
MacBook Air M2 13" 24Gb 1Tb
Soundcraft EPM12 Mixer,
2 x Fostex PM0.4n speakers.
Focusrite Scarlett Gen3.

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by therobyouknow »

ef37a wrote:
Sonic Pervert wrote:Hey, I'm following this avidly as I have a SW1000XG running in an old Windows XP machine. I'm upgrading to Windows 10 and new mobo, processor etc but would love to keep the SW1000XG and also my M-Audio Delta 66 PCI sound card. I have also considered using a VM somehow but sounds like you're well ahead of me with the research! Please keep us posted!
Thanks,
Tony

Pardon an old valve jockey interfering but, would it not be far easier to just keep the old PCI/XP/Delta rig going and buy/build a stonking W10 machine?
You can link them audiowise via S/PDIF, both ways.

Dave.

Indeed! I could see this as an option. In fact as an interim or maybe longer term one, myself, I'm looking at treating my desktop with the SW1000XG as a MIDI sound module, driven via MIDI from my MacBook Pro, running Ardour.

To go with the sound module theme, there are some nice solutions out there for dinky PCs - https://www.mini-itx.com/ and also from https://up-board.org/upcoreplus with https://www.amazon.co.uk/StarTech-com-P ... B0024CV3SA ( StarTech.com PEX1PCI1 PCI Express to PCI Adapter Card ). Though the latter would be very involved, but potentially achievable!
therobyouknow
Poster
Posts: 33 Joined: Tue Nov 22, 2011 12:00 am
My kit:
Korg M1 Music Workstation Synthesizer (with WaveRex PCM card and m1ram.com batteryless program card),
Fender HMX electric guitar,  
Self built custom PC i7 quadcore 32Gb, SSD W10Pro / Ubuntu Studio (for music-friendly real-time kernel tweaks). Ardour DAW.
SW1000XG in Gigabyte J3455N-D3H / FractalDesign Node 2 W10 32bit XGedit / XG Wizard / XG Manager
MacBook Air M2 13" 24Gb 1Tb
Soundcraft EPM12 Mixer,
2 x Fostex PM0.4n speakers.
Focusrite Scarlett Gen3.

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by Sonic Pervert »

OK so its a while since I wrote my post above but thought I'd give an update. I've made some good progress but have taken a different route to achieve a similar goal.

My 'old' music PC had an Asrock 4coredual-SATA2 mobo with E6600 processor, 2GB of DDR RAM and an assortment of small, old, spinny IDE hard disks and an old Matrox P660 dual-head AGP graphics card. As mentioned previously, the best bits, which I wanted to preserve, were the SW1000XG and M-Audio Delta 66 PCI soundcards.

I've basically kept the same motherboard but maxed it out with the best components it will take. Components that would have cost hundreds of pounds each when the mobo was new are now available for tens of pounds on eBay! So the old mobo now has a Q6600 processor, 4GB of DDR2 RAM (more on this in a minute), a small fast SATA SSD for OS duties and a big, fast SATA HDD for music storage.

I decided not to change the graphics card and, instead, access the PC via Remote Desktop. This means I can use my non-music-PC monitors, mouse and keyboard and save some desk space.

Like therobyouknow, I have a triple boot configuration as follows:
1. Original XP OS with Sonar 7, FL Studio, SW1000XG, Delta 66 and a ton of software that won't work on Windows 10.
2. Windows 10 (32 bit) OS with Sonar 7, FL Studio, SW1000XG, Delta 66.
3. Windows 10 (64 bit) OS with Cakewalk by Bandlab, FL Studio and Delta 66 but sadly no SW1000XG.

Its a shame Cakewalk by Bandlab is only available for 64 bit, otherwise I could do without the third boot option and use the latest version of Cakewalk with the SW1000XG.

Remote desktop works flawlessly when booting to Win10 but not so well with XP, since my monitors are different resolutions and XP only supports a rectangular remote desktop.

Biggest issue I had was the memory upgrade. Officially, the mobo only supports upto 2GB but I found out about an unofficial BIOS from the german pctreiber website that enables up to 4GB (3.5GB usable). It also has a couple of other goodies such as better (much quieter) fan control. Unfortunately, my first attempt at flashing the BIOS was only semi-successful and I ended up bricking the machine. It refused to boot from any of the devices I selected in the BIOS (tried SSD, HDD, USB, DVD but couldn't find a floppy to try) so I couldn't revert it back to the original working BIOS!! Fortunately, the mobo has a removable BIOS chip and I found somebody on eBay who would flash the original BIOS onto a chip and post it to me for £8. To my delight, it worked, and to my even greater delight my second attempt at flashing the pctreiber BIOS with '/-BC' option also worked! So it can now access 4GB of RAM and has a much quieter fan! So far, everything seems very stable with no BSODs (I am writing this post on it so touch wood).

I've written a little batch file that uses the 'bcdedit /default' to allow you to change the default boot selection and restart from Remote Destop, which means you don't need a keyboard and monitor attached at boot time, so I can reboot from Win10 (32) to Win10 (64) and vice-versa, Win10 (either) to XP but not (yet) XP to Win10.

Hope this gives another possible solution for anybody in the same position with old PCI soundcards! I haven't yet experimented with virtualisation and pass through but very much doubt that my old mobo supports it.

cheers,
Tony
Sonic Pervert
New here
Posts: 4 Joined: Fri Mar 07, 2003 12:00 am Location: Chepstow

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by Kubist »

therobyouknow wrote:There are good deals around online for genuine Windows from OEM kit sellers etc, rather than buying from well known high street outlets at higher prices.

Always best to check the future of your license - With Windows 10, a "high street" or retail license can be transfered between motherboards but with OEM license, the license may die with a major hardware change (mobo yes, hard drive no).

I came to W10 with a free upgrade from my Windows 7 (from Scan or Dabs) on a DVD and have recently transfered motherboard with ease.

I am interested in the plenty of quality old kit on Ebay which faded out due to lack of support for OS changes. It seems that W10 may be helping to resurrect these.

mLan was the future of music (for a couple of years) and it seems there is a W10 solution.
Any other kit in a similar position ?
Kubist
Posts: 1 Joined: Wed Aug 14, 2019 1:53 am

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by therobyouknow »

Update on my own project, contributing to this thread I started.

I've now put the SW1000XG in a separate PC running Windows 10 Pro 32bit - read the details below because I'm very pleased so far with this new approach and would like to share for your benefit. I abandoned the PCI Passthrough approach because I haven't been successful.

I tried several attempts with Linux kernal boot/MMIO settings, using a version of VirtualBox that experimentally supports PCI passthrough. My motherboard chipset and CPU apparently fully support the necessary virtual extensions, so it seems like it could be the implementation or that the virtualisation software hasn't been fully implemented to support this.

I custom built the new PC to house the SW1000XG. The concept was essentially to treat this PC as a hardware sound module (that so happens to be full PC, as side benefit). Given that this PC has a single primary purpose, I wanted the smallest physical form factor as possible.

The components are as follows

Very good looking PC case from Fractal Design, model Node 202 (bought via Amazon):
https://www.fractal-design.com/products ... 202/black/

Gigabyte J3455N-D3H bought from here:
https://www.mini-itx.com/~J3455N-D3H.
- Fanless design, with low power but versatile built in quad core Celeron - more than adequate AND, essentially features the old original PCI slot for the SW1000XG.
(I should say it had been a bit of pain searching for hardware supporting original PCI - which search engines want to suggest PCI-E etc. Search engines don't seem to have a standard way for saying "without", sometimes the hyphen/negative "-" before a term works, but not always). Mind you, Mini-itx's own filters whilst on site seemed to work well.

Corsair sf450 power supply

PCI riser ribbon cable to connect the SW1000XG to the motherboard, because the case slot is at right angle to the motherboard: https://www.amazon.co.uk/32bit-Extender ... B07L7JZFXR

Samsung 840Pro 128Gb SSD SATA drive (re-used from previous project).

Crucial RAM CT102464BF160B 8 GB DDR3 1600 MHz CL11 Laptop Memory. Only about 1.8Gb of this was being reported as being available in Windows 10 Pro 32bit running on this machine. But I bought the 8Gb in case I wanted to also use the machine for something else like a media or file server or some smart device, on Ubuntu etc.

I was able to transfer my Windows 10 Pro 32bit license from the original PC where I had the SW1000XG to this new PC by first associating my Windows user with my Microsoft Account so that the key is stored as a digital signature in my Microsoft online (cloud account), then removing the license key with an administrator command in cmd terminal. Then I created an official 32bit W10 ISO DVD from Microsoft, attached an optical drive via USB to the new machine, booted with the DVD and installed W10, logged in with my Microsoft account and it activated successfully.

As I had done before, I installed the SW1000XG windows XP driver I had kept, via the Windows 10 update hardware in the Device Manager and that installed successfully.

Later I'll install the copy of XGEdit or a similar app I bought and run in compatibility mode which I believe I was successful before, so that I can select SW1000XG sounds etc, have more access to its facilities.

I hope this is useful to you folks doing the same sort of thing. The machine runs great, virtually silent and Windows 10 32bit is swift.

Absolutely no affiliation What. So. Ever, with any of the product vendors mentioned. I want to contribute my experience of choosing components and building to save you time - isn't that what a forum is for?! (looking at you: forum moderators/mods - please don't delete this post like seems to have happened with my waverex post, which again was for honest altruism to share ideas).

Why would I bother with this old soundcard, one might ask? Several good reasons:
- additional sound source now in a versatile setup
- vintage restoration and re-use. We're all about vintage, classic synths, the SW1000XG is over 20 years old! I've had it all that time. Some sounds will be classic; it's not always the latest and greatest that is distinctive
- vintage restoration and re-use (2): taking the mindset of 8-bit guy / 8 bit keys YouTube guy to preserve classic and notable hardware
- fun building and repurposing

It was quite a dusty all soundcard and i haven't cleaned it through fear of ESD but it works fine. I best leave it alone in that regard, but would welcome any definitive advice as to cleaning dust of electronics. My guess is that buying a brush off of reputable electronics vendors such as Farnell, RS, Adafruit, Pimoroni might be a good bet.
therobyouknow
Poster
Posts: 33 Joined: Tue Nov 22, 2011 12:00 am
My kit:
Korg M1 Music Workstation Synthesizer (with WaveRex PCM card and m1ram.com batteryless program card),
Fender HMX electric guitar,  
Self built custom PC i7 quadcore 32Gb, SSD W10Pro / Ubuntu Studio (for music-friendly real-time kernel tweaks). Ardour DAW.
SW1000XG in Gigabyte J3455N-D3H / FractalDesign Node 2 W10 32bit XGedit / XG Wizard / XG Manager
MacBook Air M2 13" 24Gb 1Tb
Soundcraft EPM12 Mixer,
2 x Fostex PM0.4n speakers.
Focusrite Scarlett Gen3.

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by Martin Walker »

therobyouknow wrote: Sun Oct 10, 2021 2:30 pm Update on my own project, contributing to this thread I started.

Absolutely no affiliation What. So. Ever, with any of the product vendors mentioned. I want to contribute my experience of choosing components and building to save you time - isn't that what a forum is for?! (looking at you: forum moderators/mods - please don't delete this post like seems to have happened with my waverex post, which again was for honest altruism to share ideas).

No-one could have been a greater admirer of the SW1000XG than me, so bravo on these efforts to keep yours in active service :clap:

I'm also sure there's no conspiracy in action here re your waverex thread. However, I've just replied to this in your update post with a possible reason for that thread's disappearance;)

https://www.soundonsound.com/forum/view ... 34#p783034

Martin
User avatar
Martin Walker
Moderator
Posts: 22574 Joined: Wed Jan 13, 2010 8:44 am Location: Cornwall, UK

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by therobyouknow »

Martin Walker wrote: Sun Oct 10, 2021 4:41 pm No-one could have been a greater admirer of the SW1000XG than me, so bravo on these efforts to keep yours in active service :clap:

I'm also sure there's no conspiracy in action here re your waverex thread. However, I've just replied to this in your update post with a possible reason for that thread's disappearance;)

https://www.soundonsound.com/forum/view ... 34#p783034

Martin

Thank you so much Martin. That's all good with me, thank you for looking into it.

And additional thought is that with the release of Windows 11, apparent end of life (EOL) of Windows 10 is October 14th 2025. There is not 32bit version of Windows 11. The SW1000XG drivers are for a 32bit OS. So there's a good 4 years of fun with this new setup I've built. I wouldn't bet on this, but we know Microsoft extended EOL with XP, but wouldn't count on the same with W10. Beyond that, I might choose to keep it off the internet, as after all its primary purpose is a sound module, Windows will still work but no security updates after that date. By 2025 The alternate separate use of it as some kind of Linux media server/all-ways on smart home device may enhance that investment of the hardware, when it's not being used as a sound module.

I did also try ReactOS which is a free open source 32bit Windows clone OS to install directly on the new PC I built but the install failed with a blank black screen. This OS is still in alpha and they say some hardware won't work, in particular SATA hardware, so perhaps it couldn't access my SSD to install on for that reason. But by 2025 things may have much improved if it's still going then. Which would potentially mean an ongoing updated supported 32bit Windows compatible alternative beyond 2025, if I feel that is worthwhile compared to just continuing to use W10 32bit beyond 2025.
therobyouknow
Poster
Posts: 33 Joined: Tue Nov 22, 2011 12:00 am
My kit:
Korg M1 Music Workstation Synthesizer (with WaveRex PCM card and m1ram.com batteryless program card),
Fender HMX electric guitar,  
Self built custom PC i7 quadcore 32Gb, SSD W10Pro / Ubuntu Studio (for music-friendly real-time kernel tweaks). Ardour DAW.
SW1000XG in Gigabyte J3455N-D3H / FractalDesign Node 2 W10 32bit XGedit / XG Wizard / XG Manager
MacBook Air M2 13" 24Gb 1Tb
Soundcraft EPM12 Mixer,
2 x Fostex PM0.4n speakers.
Focusrite Scarlett Gen3.

Re: Using PCI Passthrough to support old hardware that only has 32bit drivers

Post by therobyouknow »

Follow up from me - concluding successful project to put SW1000XG in its own dedicated PC - I've put the follow up and further details here on other existing thread about running the SW1000XG in Windows 8 32bit then on 10 32bit: https://www.soundonsound.com/forum/view ... 38#p784138 - this thread would be the better place to conclude this project I think.
therobyouknow
Poster
Posts: 33 Joined: Tue Nov 22, 2011 12:00 am
My kit:
Korg M1 Music Workstation Synthesizer (with WaveRex PCM card and m1ram.com batteryless program card),
Fender HMX electric guitar,  
Self built custom PC i7 quadcore 32Gb, SSD W10Pro / Ubuntu Studio (for music-friendly real-time kernel tweaks). Ardour DAW.
SW1000XG in Gigabyte J3455N-D3H / FractalDesign Node 2 W10 32bit XGedit / XG Wizard / XG Manager
MacBook Air M2 13" 24Gb 1Tb
Soundcraft EPM12 Mixer,
2 x Fostex PM0.4n speakers.
Focusrite Scarlett Gen3.
Post Reply