2011 15" Lenovo Thinkpad W520 (Q 1000M) [2nd,4C,Q] + GTX 970 @ 2Gbps-EC2 (EXP GD...
Clear all

2011 15" Lenovo Thinkpad W520 (Q 1000M) [2nd,4C,Q] + GTX 970 @ 2Gbps-EC2 (EXP GDC 8.x ) + Win10 1909 & Linux Ubuntu 20.04B  


Bug Hunter
Active Member
Joined: 4 months ago

Well, it all started when a friend told me about a game, which I got, and
found that even though it claimed a 1GB minimum video requirement, my 2GB
Quadro 1000M internal Discrete graphics was "too little video memory". The
expresscard version of EXP GDC Beast seemed to fit my needs and budget, so I
got one and tried it with a borrowed 1GB GT640. This was enough to play the
game, but did not have a high enough CUDA compute capability to run
Tensorflow. Decision time between a 2GB GTX750TI and the 4GB GTX970 (which was
in the high range of "not recommended" cards). I felt I could handle any
tweaking necessary to get the GTX970 working, so that's what I ordered.
Surprise, no tweaks necessary, just replace the GT640 and everything still

Laptop specs
* 2011 15" Lenovo Thinkpad W520
* BIOS/firmware 1.42 version.
* Ram 12GB DDR3 10600 memory
* hdd 750GB SATA3 MBR (Ubuntu 18.04, Windows) + sdd 60GB SATA3 UEFI (Ubuntu 20.04)
* 1920x1080 laptop display
* Intel I7 2760QM 2.4GHz/3.5GHz 4c/8t
* Integrated graphics Intel hd3000, discrete graphics Nvidia Quadro 1000m
* Ubuntu 18.04, Ubuntu 20.04, Win10 Pro 1909

eGPU hardware
* EXP GDC Beast 8.0, expresscard to 16x PCIe1.1 ($40 on sale)
* Dell Portable 220w power supply D220P-01 POWER SUPPLY P/N:MK394 ($20)
* 1G GT 640 for testing (loaner)
* 4G GTX 970 ($109)
* Additional power cable splitters ($20) used to provide the GTX970 with two 6 pin
power plugs from the 6 pin EXP GDC output.
Total $189 incl. taxes and shipping.

Hardware pictures



Installation steps

Ubuntu Linux (both 18.04 and 20.04B)
Start with a system running Ubuntu 18.04 using discrete graphics ( Quadro 1000m) with the Nvidia 390 drivers. No xorg.conf file was present. Reboot to
BIOS/UEFI settings and disable the internal Quadro 1000m by selecting integrated graphics. Insert MSI GTX970 into EXP GDC adapter, attach additional
power cable splitters from the adapter's 6 pin output to the GTX970 two 6 pin inputs. Attach the 8 pin power to the adapter, and insert the expresscard
cable into the W520 slot. Power on the W520: the power transformer light should go from yellow (standby) to green. The EDC adapter light should be
green, and the GTX970 fans should run. Booting Ubuntu should work normally, with the primary display on the W520. If an HDMI screen is attached to the
GTX970, it should default to a screen extension to the right of the primary. The position of the screens may be readjusted with the Display Settings. The
W520's Display Port is disabled when the internal Quadro is disabled. Run the Software and Updates program and select the Additional Drivers tab to update
the Nvidia drivers from 390 to the offered 435 (on Ubuntu 18.04) or to the 440 driver (on Ubuntu 20.04). Reboot and the new drivers should be in use. Check
with the nvidia-smi program. Shutdown and suspend should work, with the adapter power supply automatically going into standby.

Windows 10 Pro 1909
With the EXP GDC attached as above, reboot and select Windows 10 1909, which was running on the internal Quadro 1000M -- it automatically switches to the external GTX970. From the device manager, select the GTX970 and update the driver -- be patient, this takes a long time and no progress bar is shown. No other Windows changes were necessary. The various reported problems with a 4G card were not present, maybe because the GTX970's memory is broken up into a 3.5G and a 0.5G section. The EGC adapter ran successfully first with a 1G GT640, before trying the 4G GTX970. No problems at all with either card. Better power cabling would be possible with custom cables, but the off-the-shelf splitters and extension worked.


The default 1920x1080 laptop display was used, no external display attached to the card.

$ glxgears from Ubuntu 1804
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
5465 frames in 5.0 seconds = 1092.981 FPS
5569 frames in 5.0 seconds = 1113.740 FPS
4721 frames in 5.0 seconds = 944.008 FPS

CUDA-Z Report
Version: 0.10.251 64 bit http://cuda-z.sf.net/
OS Version: Ubuntu 20.04B Linux 5.4.0-21-generic #25-Ubuntu SMP Sat Mar 28 13:10:28 UTC 2020 x86_64
Driver Version: 440.64
Driver Dll Version: 10.20 (440.64)
Runtime Dll Version: 6.50

Core Information
Name: GeForce GTX 970
Compute Capability: 5.2
Clock Rate: 1240.5 MHz
PCI Location: 0:5:0
Multiprocessors: 13 (1664 Cores)
Threads Per Multiproc.: 2048
Warp Size: 32
Regs Per Block: 65536
Threads Per Block: 1024
Threads Dimensions: 1024 x 1024 x 64
Grid Dimensions: 2147483647 x 65535 x 65535
Watchdog Enabled: Yes
Integrated GPU: No
Concurrent Kernels: Yes
Compute Mode: Default
Stream Priorities: Yes

Memory Information
Total Global: 4043 MiB
Bus Width: 256 bits
Clock Rate: 3505 MHz
Error Correction: No
L2 Cache Size: 48 KiB
Shared Per Block: 48 KiB
Pitch: 2048 MiB
Total Constant: 64 KiB
Texture Alignment: 512 B
Texture 1D Size: 65536
Texture 2D Size: 65536 x 65536
Texture 3D Size: 4096 x 4096 x 4096
GPU Overlap: Yes
Map Host Memory: Yes
Unified Addressing: Yes
Async Engine: Yes, Bidirectional

Performance Information

Memory Copy
Host Pinned to Device: 185.442 MiB/s
Host Pageable to Device: 164.738 MiB/s
Device to Host Pinned: 199.052 MiB/s
Device to Host Pageable: 198.363 MiB/s
Device to Device: 63.2417 GiB/s
GPU Core Performance
Single-precision Float: 4040.53 Gflop/s
Double-precision Float: 131.251 Gflop/s
64-bit Integer: 274.549 Giop/s
32-bit Integer: 1206.73 Giop/s
24-bit Integer: 886.531 Giop/s

Generated: Sun Apr 5 20:00:02 2020



The EXP GDC allowed using cards with a higher CUDA compute capability (CC) than the native Quadro 1000M, which is only 2.1. 2.1 allows up to CUDA 8.0,
but is not sufficient for Intel's Deep Neural Networking installation (needing 3.0). The GTX970 with a CC of 5.2 allows up to CUDA 10, DNN, and Tensorflow.

I was pleasantly surprised at how easy installation was of the new hardware.  The GTX970 was in the higher range of not recommended cards, maybe since the
PCIe1.1 is obviously a bottleneck for this card. No tweaking of any operating system was needed to use the external graphics cards, and the only firmware
change was to disable the discrete graphics. In particular, there were no TOLUD PCI memory issues caused by the W520's 32 bit history. I am happy with
the upgraded graphics and CUDA capability.


This topic was modified 3 months ago

2011 15" Lenovo W520 (quadro 1000M) (2nd,4C,Q) + Nvidia GTX970 @ {2Gbs-EC,mPCIe} (EXP GDC Beast 8.0 ) + Ubuntu 18.04 & 20.04 & Win10 1909

2011 15" Lenovo Thinkpad W520 (Q 1000M) [2nd,4C,Q] + GTX 970 @ 2Gbps-EC2 (EXP GDC 8.x ) + Win10 1909 & Linux Ubuntu 20.04B [build link]  

Noble Member Admin
Joined: 4 years ago

@bug_hunter , the Lenovo W520 should have an expresscard Gen1 / AUTO BIOS setting. AUTO being the Gen2 mode. Worth testing to see if can get a reliable performance improvement.

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table

2015 15" Dell Precision 7510 (Q M1000M) [6th,4C,H] + GTX 1080 Ti @32Gbps-M2 (ADT-Link R43SG) + Win10 1803 [build link]  

Bug Hunter
Active Member
Joined: 4 months ago

@nando4, A good thought, but on Automatic, without an external screen, I only got a black screen. With an external, I got an Ubuntu login screen (on the laptop), but no keyboard/mouse, so no login possible.  Maybe my EXP GDC Beast 8.0 is too old for gen 2.  Anyway, resetting the BIOS expresscard value back to gen1, got everything working again.  I'd just realized I'd never applied the BIOS 1.46 patch, I'm still at 1.42, the pre Win 10, so that may have something to do with it also.  I'm trying to find if the 1.42 -> 1.46 BIOS upgrade will cause me problems with the TOLUD/PCI memory.  Maybe I was just lucky/lazy never to have run the patch.  Thanks for all your good work on that issue, without which I'd have been really resultant to have taken a chance on the GTX970, and settled for a 2B GTX750TI.


2011 15" Lenovo W520 (quadro 1000M) (2nd,4C,Q) + Nvidia GTX970 @ {2Gbs-EC,mPCIe} (EXP GDC Beast 8.0 ) + Ubuntu 18.04 & 20.04 & Win10 1909

2011 15" Lenovo Thinkpad W520 (Q 1000M) [2nd,4C,Q] + GTX 970 @ 2Gbps-EC2 (EXP GDC 8.x ) + Win10 1909 & Linux Ubuntu 20.04B [build link]