Turn old desktop into eGPU?  

  RSS
FourteenMonkeys
(@fourteenmonkeys)
Active Member

1. There are a lot of old desktops out there with motherboards with two PCIe slots and a power supply suitable for running a higher-end discrete AMD or NVIDIA GPU.  
2. Many of them have BIOS or UEFI that enable booting from a PCIe device, such as an SSD.
3. There are already TB3 PCIe cards for desktops.

Therefore, it should be possible to create a bootable TB3 PCIe card that uses an old PC to host another high-end GPU and turn that old PC into an eGPU enclosure, where your laptop or other client device controls the GPU through the TB3 card and the PC is slaved to the client.  The power supply would obviously need to be sufficient.  Everything would run off the firmware/chipset on the TB3 PCIe card, and any OS on the system's hard drive would be ignored.  The system CPU would just be passing the signal from the TB3 card to the GPU and vice-versa.  (I don't think there's a direct connection between two PCIe slots.)

I don't know about any such card on the market now.  Here's the question:  if you could buy a PCIe/TB3 card for $100 that could turn an old PC into an eGPU for a TB3-enabled laptop, would you buy it?

The pros are that it would be far cheaper than any of the existing eGPU devices on the market, assuming you already have your suitable old PC.  The cons are that it would use more energy and be far larger, and maybe not be as performant.  I'm not sure about the throughput of going through the system's existing CPU.  

Unless this is a stupid idea for some technical reason I'm unaware of -- like routing through the CPU makes it too slow -- then this might make a good Kickstarter.  I assume I'm not the first to think of this.  Has this ever been attempted before?

ReplyQuote
Posted : June 16, 2018 4:54 am
Yukikaze
(@yukikaze)
Prominent Member Moderator
Posted by: FourteenMonkeys

1. There are a lot of old desktops out there with motherboards with two PCIe slots and a power supply suitable for running a higher-end discrete AMD or NVIDIA GPU.  
2. Many of them have BIOS or UEFI that enable booting from a PCIe device, such as an SSD.
3. There are already TB3 PCIe cards for desktops.

1. An old desktop with a power supply that can run a high end discrete video card is worth a couple of dozen dollars. Let's say 35$.
2. The capability of an old system booting from a PCIe storage device is less common than you think.
3. Yes, and they only work on select specific motherboards. They also cost a few dozen dollars as well. Let's say 50$ (they are actually more expensive, but let's low-ball).

We are at 85$.

Posted by: FourteenMonkeys

Therefore, it should be possible to create a bootable TB3 PCIe card that uses an old PC to host another high-end GPU and turn that old PC into an eGPU enclosure, where your laptop or other client device controls the GPU through the TB3 card and the PC is slaved to the client.  The power supply would obviously need to be sufficient.  Everything would run off the firmware/chipset on the TB3 PCIe card, and any OS on the system's hard drive would be ignored.  The system CPU would just be passing the signal from the TB3 card to the GPU and vice-versa.  (I don't think there's a direct connection between two PCIe slots.)

You are making a lot of assumptions. Most of these are enough to kill this off on their own, but assuming we ignore that, it is still quite a list:
1. The card works in the old system as a TB3 card. It won't because these old systems won't support a TB3 card since they lack the special motherboard header required in addition to the PCIe slot. Motherboards that do support these expansion cards are few, and not cheap, even used.
2. There is a trivial way to make the protocol work. There isn't. A TB3 controller is essentially a PCIe switch with extra bells and whistles. It has the downstream side, which is enumerated by it, and it has the upstream side which enumerates it. In your scenario, it has two sides, and both are upstream: The host the card is in will enumerate it in its PCIe chain, and the host connected via the TB3 will try do the same. That just won't work. PCIe devices or switches that can be enumerated by two different hosts do exist, but they are not consumer devices, and they definitely aren't the TB expansion cards, TB3 controllers and consumer video cards you are talking about.
3. Getting the bootable storage is trivial. With off the shelf parts, how will it connect together? But in any case, your flash storage will make it a more expensive than the low-ball 50$ I mentioned. Let's add 10-15$.
4. To send messages between two PCIe devices (in this case the TB3 controller card and the GPU in another slot), you need either a system with a PCIe root complex that supports that feature (and by far not all do, especially not among older systems), or to actively send the traffic through the CPU itself, somehow.
5. Minor, but still: An old system might not have two Gen3 PCIe slots. As a result your TB3 link, even if this were feasible, would be downgraded to PCIe Gen2.
6. You can just build a card to your liking. No, you can't. Either you use off-the-shelf parts (which won't work for all the reasons above), or you are trying to build a custom design, which means buying TB3 controllers from Intel and getting your device certified. That will drive your cost way up.

We are at about 100$ (although I did count the base system here, but I am also low-balling everything else), and missing any potential licensing fees, and ignoring the technological difficulty of this, which if possible to overcome would cost quite a bit to develop.

Posted by: FourteenMonkeys

I don't know about any such card on the market now.  Here's the question:  if you could buy a PCIe/TB3 card for $100 that could turn an old PC into an eGPU for a TB3-enabled laptop, would you buy it?

The pros are that it would be far cheaper than any of the existing eGPU devices on the market, assuming you already have your suitable old PC.  The cons are that it would use more energy and be far larger, and maybe not be as performant.  I'm not sure about the throughput of going through the system's existing CPU. 

No, I won't. Because it won't be 100$. Assuming off the shelf parts without any development time, you won't meet a 100$ price point as I illustrated above. Throw in actually having to develop something here, because none of this works natively (or at all, but let's assume it does), and you end up with way over 100$ due to development and licensing costs.

It won't be cheaper than buying a Powercolor Devil Box when it is under 200$ with rebates/sales (the record a few months back was 130$), and it will be much larger, and eat up a lot more power.

For 100$, just get this.

Posted by: FourteenMonkeys

Unless this is a stupid idea for some technical reason I'm unaware of -- like routing through the CPU makes it too slow -- then this might make a good Kickstarter.  I assume I'm not the first to think of this.  Has this ever been attempted before?

The reason it wasn't attempted before is because it simply isn't how PCIe works.

My eGPU Zoo - Link to my Implementations.
Want to output [email protected] out of an old system on the cheap? Read here.
"Always listen to experts. They'll tell you what can't be done, and why. Then do it."- Robert A. Heinlein, "Time Enough for Love."

ReplyQuote
Posted : June 16, 2018 5:27 am
Haoshiro
(@haoshiro)
Eminent Member

Theoretically you might simply be able to write a specialized driver that receives data externally (tb3, etc) and passes it to the GPU and then passes the results back to the "host" PC.  But at that point you'd have both machines booted so what would be the point? Sure you could offload GPU while letting the host CPU be the front runner but you'd also be introducing a lot of overhead to the entire process.

I'd be surprised if something like this hasn't been done before but I don't think it's a *better* solution.  The best solution is what I think we are moving towards, being able to buy an external gpu, plug it into any computer, and go.  Simple plug and play.  I think we are headed there fast but there is going to be a community of people like this with older problematic hardware that takes some elbow grease for a long time! 😉

death to self

ReplyQuote
Posted : June 18, 2018 3:56 pm
FourteenMonkeys
(@fourteenmonkeys)
Active Member
Posted by: Yukikaze

 

For 100$, just get this.

 

Okay, maybe I'm trying to reuse too much old tech, but you've just demonstrated that $100 is a feasible price point because that kit from eBay is $100 and it includes a power supply.  If you swap the DC input on that board for an internal PSU connection and retool it into a larger format with micro-ATX holes, a standard-size I/O shield for the TB3 input, and the PCIe x16 slot in the normal top position, then you'd have a motherboard replacement unit that would turn an old PC case (with PSU) into an eGPU.  You wouldn't be using the original MB at all, you'd be replacing it with the new unit that handles TB3 to GPU traffic.

You could also add fan headers, SATA support for drives, and network/USB I/O -- just like the custom boards in the DevilBox or many of the other ones.  And because you've got the entire case to play with, you'd have plenty of room for cooling or sound suppression.  

New eGPU units are $250+, but there's a sizeable crowd who is (a) willing to tinker and (b) has lots of leftover hardware from other builds.  I bet if you put together a motherboard replacement unit for, say, $85 that would turn an old PC case into an eGPU, a lot of people would buy it.  It would only cannibalize the part of the eGPU market that's already tinkering, e.g., the readers here.  Someone who wanted a book-sized, plug-and-play unit is obviously not the target demographic.

ReplyQuote
Posted : June 19, 2018 2:18 am
Yukikaze
(@yukikaze)
Prominent Member Moderator

We are arguing the price point a bit too much. The reality is that it is simply impossible to do what you suggest, 100$ or not.

My eGPU Zoo - Link to my Implementations.
Want to output [email protected] out of an old system on the cheap? Read here.
"Always listen to experts. They'll tell you what can't be done, and why. Then do it."- Robert A. Heinlein, "Time Enough for Love."

ReplyQuote
Posted : June 19, 2018 2:41 am
Haoshiro
(@haoshiro)
Eminent Member

I can't really see the utility in this even if it was possible and was cheap. It sounds like the target audience is people who don't need an eGPU nor have any practical use for one but just want to play around.  Well they can just get a GDC Beast for $50 and a Dell PSU for $10, or grab a replacement board like that and run it without a case.

Ultimately who is going for eGPUs?  Laptop users. If someone is tossing the desktop in favor of a laptop why would they keep it around? That market seems so niche that it doesn't exist. 🙁

death to self

ReplyQuote
Posted : June 19, 2018 1:35 pm
4chip4
(@4chip4)
Estimable Member

It's a bit unclear why would you want to go through a (full blown PC) motherboard? The TB3 eGPU boards are doing exactly what you describe - but then you are not using a *desktop* PC but using desktop PC parts (box, PSU, GPU) -> which is exactly what the eGPU enclosures are doing. The complexity added by having to route through a real PC is simply pointless (if it's an old PC).

Long story short - when the market becomes large enough, we might start seeing mini-ITX format TB3 eGPU boards, but currently that would be a niche of a niche market making it unviable cost-wise. The reason we have these kitchen-sink-with-batteries-included eGPU enclosures is exactly to spread the cost of these custom boards.

2017 HP Spectre x360 15 i7-8550U GTX150 + [email protected] (HP Omen Accelerator) + Oculus Rift + Win10 [no guide] HP Omen Accelerator Thunderbolt 3 enclosure legs stand removal walkthrough
Employed by HP, but my posts and opinions expressed on this forum are my own.

ReplyQuote
Posted : June 20, 2018 12:38 pm