VOGONS


Retro PCI cards in modern motherboards

Topic actions

First post, by atar

User metadata
Rank Newbie
Rank
Newbie

Now I've already seen two PCI VGA cards which don't work on my Haswell motherboard. Both are S3, one is 86C764 based SPEA Mirage and another one is Miro S3 Vision864 (86C864).
I wonder there are just problems with the VGA cards, or old PCI cards in general.

Is anyone interested in gathering the information how compatible the old PCI cards are? What I gathered so far

                               |440BX|   nForce630a   |C226 (Haswell Xeon E5 v3) 
ATI RAGE Pro | ok | ok | ok
S3 ViRGE DX (86C375) | ok | ok | ok
Hercules Terminator64 (86C765) | ok | ok | ok
Miro S3-Trio64 (86C764X) | ok | ok | ok
SPEA Mirage S3-Trio64 (86C764P)| ok | ok | black screen
Miro S3 Vision864 (86C864) | ok | black screen | black screen

The 440BX test is only needed to make sure the card is working. I'm pretty sure all the old PCI cards are compatible with 440BX.

Q. Why would anyone ever want to plug an old PCI card into a Haswell or Skylake+ MoBo?
A. The modern motherboards have the VT-d feature, allowing pass trough a physical PCI card to a virtual/emulated machine (VirtualBox/kvm/QEMU/...). The virtualized environments don't emulate the old peripherals good enough, but what they emulate/virtualize good are CPUs. The combination of a physical PCI card with a virtualized CPU allows running some software which won't work in a pure emulated environment. Can be useful for running games which only run on the S3 cards, or some hardware-bound software (think some tape streamer devices which only had drivers for DOS, etc).

Specifically I would be grateful for Vision864 and S3-Trio64 (86C764) tests on the newer motherboards. I need them for PowerPC emulation, but they don't work on my VT-d MoBo. I wonder if it's a general problem with the Haswell+ MoBos, or is it just my the one I've got is buggy.

Last edited by atar on 2017-04-06, 20:12. Edited 1 time in total.

Reply 1 of 22, by MERCURY127

User metadata
Rank Member
Rank
Member

Are u enable legacy or csm support in uefi? Try set video priority to pci first, not pcie or internal.
I know not as Haswell+ machines, but my z68 with 3770 ivy bridge work good with all pci cards, except Via USB controller.

Reply 2 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie

Don't have the "pci first" option, but I disabled the internal VGA completely: without a PCI card, even if the monitor cable is attached to the built-in VGA, it beeps the no-VGA sequence.
The three cards - ATI Rage, S3 ViRGE, Hercules Terminator 64 - work ok with the current settings. And even with the two non-working ones, the MoBo doesn't beep the no-VGA sequence - so they are recognised, but don't work. It looks to me like there is really a compatibility issue.

But your experience with ivy bridge is indeed interesting. Have you tried the older S3 cards - the 86c764 or 86c864 ones?

Reply 3 of 22, by MERCURY127

User metadata
Rank Member
Rank
Member

I use s3 trio 64+. It's work good. U check ur s3 with other machines, they work, or possible have hardware problems?

Reply 4 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie

Yeah, as you can see in the table the trio64 works both on a 440BX and nForce PCs, so it's definitely working.
So, you used in your test a Trio64V+ card which is more modern. The Trio64V+ uses a 86c765 chip, which does work on my Haswell PC too. Do you have a non V+ Trio64 card to test?

Reply 5 of 22, by MERCURY127

User metadata
Rank Member
Rank
Member
atar wrote:

The Trio64V+ uses a 86c765 chip, which does work on my Haswell PC too. Do you have a non V+ Trio64 card to test?

yes, sorry... its 765.
I will look in my collection, may be i have two more non-765 s3... 😀

Reply 6 of 22, by ynari

User metadata
Rank Member
Rank
Member

It's an interesting idea, but I'm not sure I'd bother with it. VTd works, but it really isn't the same as running on a real PC. Cards which are designed for passthrough (some Quadro) work fine, but need the specific drivers to operate properly. Others, such as a PCI-e Matrox G550, only work if they're the primary graphics card, otherwise the BIOS doesn't initialise and it's detected but doesn't work.. Many other cards, although they work fine with a bare metal os, simply do not work in VTd - graphics cards really are pretty much the worst case scenario for virtualisation.

Xen/KVM support VGA with VBE 2, or QXL if you're using Spice. They're probably not much worse than an old S3 card..

Reply 7 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie

Well, it seems that with PCI cards the passthough is simpler than PCI-e. All the cards I have which work with the C220 motherboard also work in guest. The trick here to find the ones which work on the host. As for QXL - it is indeed a good adapter, but the OS I'm targeting - AIX - doesn't support it.

Reply 8 of 22, by Ampera

User metadata
Rank Oldbie
Rank
Oldbie

I have an old 4-port 8 drive Fastrak EIDE controller in my machine, which I need to take out one of these days as there is no support for Windows 2016, only Windows XP and below.

Reply 9 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie
Ampera wrote:

I have an old 4-port 8 drive Fastrak EIDE controller in my machine, which I need to take out one of these days as there is no support for Windows 2016, only Windows XP and below.

If it works with VT-d motherboards/CPUs, it should be possible to pass it through to a guest OS. But you'll still need the Windows XP or below running as a guest. Not sure if such a setup makes a lot of sense though. It may be easier to get a compatible IDE controller.

Reply 10 of 22, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie

I'm now using a Turtle Beach Santa Cruz on a Windows 98SE VM running on the VMware ESXi 5.0 hypervisor. The motherboard is an Asrock X58 Extreme. Earlier I also tested a Yamaha YMF744. Both cards works, but FM synth and Sound Blaster emulation doesn't.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 11 of 22, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
ynari wrote:

It's an interesting idea, but I'm not sure I'd bother with it. VTd works, but it really isn't the same as running on a real PC. Cards which are designed for passthrough (some Quadro) work fine, but need the specific drivers to operate properly. Others, such as a PCI-e Matrox G550, only work if they're the primary graphics card, otherwise the BIOS doesn't initialise and it's detected but doesn't work.. Many other cards, although they work fine with a bare metal os, simply do not work in VTd - graphics cards really are pretty much the worst case scenario for virtualisation.

Xen/KVM support VGA with VBE 2, or QXL if you're using Spice. They're probably not much worse than an old S3 card..

AMD/ATI PCIe cards usually works on ESXi, but there isn't any way to disable the emulated VGA so it always ends up as a secondary adpter. I have used AMD cards in Ubuntu and Windows 7 VM's. Using open source drivers in Ubuntu required me to modify the kernel so the BIOS for the card could be loaded off the hard drive.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 12 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie

I start to think the PCIe->PCI Bridge may be the problem. My board has the ITE 8892E bridge.

Reply 13 of 22, by mattrock1988

User metadata
Rank Member
Rank
Member
atar wrote:

I start to think the PCIe->PCI Bridge may be the problem. My board has the ITE 8892E bridge.

Exactly. To expand upon your point... Native PCI support was ditched, post Ivy Bridge and Panther Point chipsets. All PCI from Haswell on is purely bridged over PCIe, which introduces numerous compatibility issues with older cards.

Retro PC: Intel Pentium III @ 1 GHz, Intel SE440BX-2, 32 GB IDE DOM, 384 MB SDRAM, DVD-ROM, 1.44 MB floppy, Nvidia GeForce 4 Ti 4600 AGP, Creative SoundBlaster AWE64 Gold, Aureal Vortex 2
I only rely on 86box these days. My Pentium 3 PC died. 🙁

Reply 14 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie

Ordered an Asmedia 1083 PCIe-> PCI converter. Let's see if it works any better than ITE 8892E.

Reply 15 of 22, by Rhuwyn

User metadata
Rank Oldbie
Rank
Oldbie

I have been wanting to put together an All-In-One Retro gaming machine by using a product called UnRAID and passing through diffrent video adapters to diffrent VMs. Most people I have asked think that passing through older GPUs may not work like some would like it to, but as far as I can tell no one has tried it with older cards yet. If anyone does anything like this before I get to it. I'd love to see it.

Reply 16 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie
Rhuwyn wrote:

If anyone does anything like this before I get to it. I'd love to see it.

S3-Trio64V+ pass through works with qemu just fine. Actually all the PCI cards which work in my host (see the first post) can be passed through, but I tested the Trio64V+ most extensively. Unfortunately it doesn't quite cut it for my use case: I need a Vision864 compatible card. That's not a problem of passing the card through though, it's the card itself.

Reply 17 of 22, by ynari

User metadata
Rank Member
Rank
Member

Also, PCI cards for passthrough are usually an incredibly bad idea because there's no isolation between them - *all* PCI cards have to be passed through to the same VM. PCI-e cards may or may not be isolated from each other depending on their root port and the chipset.

Reply 18 of 22, by atar

User metadata
Rank Newbie
Rank
Newbie

I don't see how it makes it an incredibly bad idea. Say, I have just one PCI card to pass through, but if I had more they would have been retro too (after all they are PCI), so giving them to the guest OS does perfectly make sense. YMMV though.

Reply 19 of 22, by ynari

User metadata
Rank Member
Rank
Member

It's fine provided you only want to pass all the PCI cards through to one VM. Typically VM boxes want to pass through to separate VMs, or only pass through one card out of a selection.