Improving Celeron J1900 gaming performance by connecting external graphics card to PCIe x1 2.0 slot

Check out the new site at https://rkblog.dev.

After building and testing a fanless PC with quad core Celeron J1900 it's time for some experiments - using PCIe x1 slot available on the Asrock motherboard.

Low power Bay Trail, Celeron or AMD APU Athlons, Semprons are storming the market allowing users to create quiet or even fanless PCs for multimedia or daily home use. Most of motherboards offer PCIe connect, but as a limited to x4 (AMD) or x1 (Intel) version. We can connect a USB3 or Firewire 800 PCIe controller to it, but can we use an external graphics card to improve the gaming performance of such low power quiet PCs? Can PCIe x1 2.0 can provide enough bandwidth for the GPU to perform at a good or acceptable level? Or maybe can it give some extra features like CUDA cores or multiple display support that can be used to some specific tasks?

In this article I'll test and compare three basic and cheap graphics cards I got from local bidding site quite cheap. Will Celeron J1900 be able to run games faster and what will be the difference between x1 and x16 on a classical motherboard?

Why would you need an external graphics card in a small mini ITX?

There can be few reasons, for example support for multiple displays (digital signage, displaying monitoring data), or maybe for supporting high resolution display. Second reason could be games. 10-35W CPU won't be a gaming champion but still maybe with an external mid-range GPU it will allow plaing moderately demanding games? Using classical PC with PCIe x16 won't be much more expensive, but still maybe we want something small and quiet?

Aside of gaming we may want to use the GPU computing power in our home server, for some OpenCL, CUDA using code, or maybe we want to do some CAD/engineering work with a basic Nvidia Quadro GPU? Or maybe we just want to mine some Bitcoins from time to time?

On the other side sometime it's just easier to get 1155/1150 or FM2/AM3 motherboard with PCIe x16 and a not-so-expensive Pentium or AMD APU. Really good GPU will require strong power supply so a low power small case won't be able to handle them anyways. Using GPU with PCIe x1 and a low power board is challenging.

Problems and challenges

If the motherboard has a x16 connector or open smaller one (no plastic blocking the end of the PCIe connector) then we can connect a x16 GPU directly to the motherboard. If not we have to use a riser cable to connect GPU with the motherboard.

Intel Bay Trail-D or Celerons like 1007U have PCIe x1 on the motherboard. New low power AMD Semprons and Athlons or even old E-350 often have x16 connector but working as a x4. Integrated graphics will handle most multimedia and some gaming, entertainment. A nice low power, quiet and compact solution. Adding external GPU may make it bigger, and more noisy. First of all we will need stronger PSU to power the GPU. If the PC takes 40-50W and GPU also then we need almost double that - 180-200W or more. Such power is available only from ATX power supplies. They can be quiet but they aren't small (and not very cheap).

Such power supply will need a bigger case designed to hold it. First type of cases are cubes (SilverStone SG06, Cooler Master Elite 120/130 etc.) that are lower than typical PC Tower case, but are also wider. They often have a PCIe slot for connecting something directly to the motherboard. Second type of cases are those designed for using risers. They can be flat and quite wide (Casetronic C350, C138 and many other, MHero-L-R) or cube-alike like Morex 6610.

Also the graphic card we want to use shouldn't be super-powerful. PCIe x1 won't allow you to get all of that expensive performance. Also it will use a lot of power which means heat and cooling noise. PCIe x1 has 4 Gbit/s, while x16 offers 8 GB/s of bandwidth (PCIe 2.0).

Bicoin mining accessories for the rescue

It's actually possible to use a small PC case and keep the GPU outside of the case and power it by external power supply. First of all there is Bitcoin mining with multiple GPU for which PCIe x1 to x16 risers are used. The data is transfered via USB3 cable (connected to the PCIe x1 slot, not to USB). The power is separated and provided via Molex or SATA power cable. There are also AC/DC power bricks that end with Molex connector so it's possible to power the GPU from a separate power supply (or with additional ATX power supply with some connector hacking to turn it on). If we move the riser USB cable out of the case then we will be able to connect the external GPU only when we need it without dismounting the PC.

In rare cases there are cases... that have a Molex plug moved outside - like MHero-S-R. That would make powering easier but the AC adapter would have to be quite strong and the GPU low power.

USB3 PCIe x1 - x16 riser

USB3 PCIe x1 - x16 riser

Graphics card mounted to the riser

Graphics card mounted to the riser

Bitcoin mining rigs use multiple such risers to handle multiple GPUs outside the PC case for better cooling. It can also be handy for small PCs which don't have PCIe x16 available.

Test setup

I've used that USB3 riser and three graphics cards I got cheap second hand - AMD HD 6450, Nvidia Quadro FX 580 and FX 3700. The AMD HD6450 is still on the market, 1 GB of RAM and quite low end but decent performance. The Quadro are quite old but due to their longer support they are still supported by current Nvidia Linux drivers. FX 580 is not listed as supported in 334 driver but is listed for 331. FX 3700 is listed for both. That GPU is also the strongest and requires additional 6-pin power plug (and I had to use a 600W ATX power supply for it to work with PCIe x16. Did not work with basic 400W ATX power supply). As Quadro aren't designed for gamin less people is searching for them so it's possible to buy them cheap and do some benchmarks, play a bit with them.

HD6450, nvidia FX 580 and FX 3700
HD6450 mounted in the riser

Among current GPU cards we have GT630 which can be found as fanless. Also AMD has a lot of fanless models, but before picking compare their performance (on passmark.com or other site) as most of them is quite basic GPUs. If you want an older one be sure it's still supported and has like no less than 512 MB or RAM.

The first part of benchmarks was done with Celeron J1900 on an Asroc mini ITX board with PCIe x1. The second part was done on Gigabyte GA-H61MA-D3V motherboard and Pentium G840 (and few with G2030) to compare x16 and x1 on the same PC.

Results

For most of the benchmarks I've used Phoronix benchmarks so you can easily redo those benchmarks and compare results:

Celeron J1900 with external GPU on PCIe x1

Celeron J1900 Game benchmarks

Celeron J1900 Game benchmarks

J1900HD6450FX 580FX 3700
OpenArena1618,728,659,53
Reaction Quake 32955,1755,43109,7
Urban Terror28,135,631,735,53
Xonotic Low63,777,399,03102,52
Xonotic High24,6833,9644,1662,56
Xonotic Ultra16,5323,9217,0638,02
Xonotic Ultimate9,9616,3810,1223,74
CoreBreach FSAA 4x4211659157
ET: Quake Wars Demo12,5318,223,8738,63
Nexuiz0,9124,227,7143,36
Nexuiz HDR119,1320,5727,47
World of Padman59,276,63103,73111,7
Smoking Guns72,9392,1391,87126,97
SuperTuxKart60,8263,7556,354,39
Tremulous58,679,974,476,13
Unigine Sanctuary4,4211,0110,2928,65
Unigine Tropics4,949,1310,9328,11

I've used quite low-end and old graphics cars and even those did improve the gaming performance of Celeron J1900. This SoC has Ivy Bridge graphics but only 4 EU while HD 4000 has 16. On passmark FX 580 and the HD 6450 are below HD 4000 while FX 3700 is above it so you may get some generic order of performance for those cards. Also drivers, OpenGL implementations and other optimization may affect results more than raw GPU performance would suggest.

With HD 6450 the power usage jumped up to 56W (from like 35W). With FX 580 I got up to 66,5W of energy used. With FX 3700 it was much higher - 130W. The GPU was extremely noisy at max load as the temperature was also quite high, quite close to 100C under peak load (Xonotic Ultimate quality).

More modern cards will have lower power usage so the performance increase won't require much power. On the other hand if the GPU won't be noticeably better it will improve the FPS only slightly. If the game is bit to slow on J1900 then with external GPU it should be quite playable. It it's more demanding increasing FPS from 5 to 10 FPS won't help.

GPU Benchmarks

It's quite hard to tell what given benchmark will test, but most of them is focused on OpenGL performance. In those tests Nvidia GPU were best, AMD second sometimes good, sometimes poor. On CPU based renders J1900 won:

QGears2

QGears2 - for OpenGL external GPU provide performance boost over integrated graphics

GpuTest

GpuTest

SPECviewperf - CAD/3D benchmarks

Nvidia Quadro line is designed for engineering work, like CAD, 3D, professional applications. There is one phoronix benchmark that tests such performance - SPECviewperf 10. It's even used by Nvidia to provide comparison of computing power of their Quadro cards. I've run the benchmark and Quadro cards won, even with my laptop with GT 740M:

Nvidia Quadro wins in SPECviewperf benchmarks

Nvidia Quadro wins in SPECviewperf benchmarks

Aside of winning by Quadro cards there is a big difference between J1900 and G840 which in general have similar performance, but G840 has much higher frequency so single core performance may have affected it (RAM is in both cases 1333 MHz), or some unknown differences on the PCIe line etc.

Browsers benchmarks

Browsers can use some GPU acceleration for some features like multimedia. I've run Octane benchmark and checked what chrome://gpu says about each GPU.

Octane benchmarks

Octane benchmarks

The differences aren't bit and may even fit within some margin of error. Chromium lost performance with external GPU, while Firefox slightly increased the scope with increasing GPU computing power. The most interesting may be hardware acceleration. Chromium listed such results:

Intel HD Graphics:
  • Canvas: Software only, hardware acceleration unavailable
  • 3D CSS: Unavailable. Hardware acceleration unavailable
  • Compositing: Software only, hardware acceleration unavailable
  • CSS Animation: Software only, hardware acceleration unavailable
  • Flash 3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D Baseline profile: Unavailable. Hardware acceleration unavailable
  • Video: Software only, hardware acceleration unavailable
  • Video Decode: Software only, hardware acceleration unavailable
  • Video Encode: Software only, hardware acceleration unavailable
  • WebGL: Unavailable. Hardware acceleration unavailable
HD 6450, fglrx:
  • Canvas: Software only, hardware acceleration unavailable
  • 3D CSS: Hardware accelerated
  • Compositing: Hardware accelerated on all pages and threaded
  • CSS Animation: Accelerated and threaded
  • Flash 3D: Hardware accelerated
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D Baseline profile: Unavailable. Hardware acceleration unavailable
  • Video: Hardware accelerated
  • Video Decode: Software only, hardware acceleration unavailable
  • Video Encode: Hardware accelerated
  • WebGL: Hardware accelerated
Nvidia FX 580:
  • Canvas: Software only, hardware acceleration unavailable
  • 3D CSS: Hardware accelerated
  • Compositing: Hardware accelerated on all pages and threaded
  • CSS Animation: Accelerated and threaded
  • Flash 3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D Baseline profile: Unavailable. Hardware acceleration unavailable
  • Video: Software only, hardware acceleration unavailable
  • Video Decode: Software only, hardware acceleration unavailable
  • Video Encode: Hardware accelerated
  • WebGL: Hardware accelerated

Intel lacks hardware acceleration for those web features. Nvidia is much better, while AMD drivers provide even Flash 3D and video acceleration. It's hard to tell how that would affect browser performance. Probably on some feature rich websites that would matter (HTML5 video, Canvas based games and applications).

Comparing PCIe x16 with x1

Unigine benchmarks

Unigine benchmarks

Games benchmarks

Games benchmarks

Among Unigine benchmarks only Heaven showed noticeable difference. This benchmark seems quite specific as for example FX 3700 didn't looked quite stressed with it while the other two made it very loud and hot.

Among other games we see that some drop by even 50% while other keep the same result. HDR Nexuiz may need more bandwidth to pass more HDR data, but Urban Terror is quite surprising. Xonotic looses 15-20% depending on quality setting. Lightweight games seems to keep their x16 score on x1.

Bitcoin mining

Having CUDA enabled GPU you can use it with CudaMiner

CudaMiner benchmark

CudaMiner benchmark

Summary

The tests showed that it's possible to connect external GPU to PCIe x1. It's even possible to provide power to that GPU from an external AC/DC adapter and keep that GPU outside of small PC case. The gaming performance increases, although top shelf demanding games could still be unplayable without very good external GPU which then could be limited by x1 bandwidth. If you need more features from silent PC from time to time then such wicked construction has some reasons.

Those tests also show that there is a lot/some room for improvements of the integrated graphics in low power Intel chips. The Bay Trail-D is focused on low power consumption, while stronger graphics on some Bay Trail-D+ would be more handy for more demanding home multimedia PCs. It's not even HD 4000 which is/was quite good. Braswell success was said to use Broadwell GPU so maybe we will get much better graphics with them.

I didn't tested AMD new Sempron and Athlons. The best of those APUs have better graphics and the external GPU improvements would be smaller, but also they offer PCIe x4 and not x1 so there is more room for external graphics computing power flow.

My thoughts

There is and will be a big push for low power CPU+GPU integrated SoC from Intel, AMD and even Nvidia. We will see more motherboards and mobile devices using them. The TDP will go down, while computing performance may be kept at some level. Current mini ITX boards have those limited PCIe slots which for me is rather pointless as many small cases don't have room for PCIe cards. It's much better to move it outside to the I/O shield as ExpressCard connector - which was available for some Intel Atom industry boards. ExpressCard can handle various controllers just like PCIe x1 as it's almost the same thing. There are USB3, Firewire 800, ESATA, Ethernet, 3G and many other ExpressCard cards.

Also if the PCIe can handle external graphics then why not use MXM slot which now is used in some laptops with exchangable graphics cards. That could allow keeping compact design, while integrating more powerful graphics. MXM would require a lot of work - creating a motherboard standard that would handle them (you need more power, the motherboard must be able to switch between integrated and external GPU including it's image outputs, and radiators, heat pipes, fans must be somehow integrated with the design as some MXM GPUs can be very power hungry (like 100W).

RkBlog

Linux and programming, 26 May 2014


Check out the new site at https://rkblog.dev.
Comment article
Comment article RkBlog main page Search RSS Contact