Jump to content
EwinRacing Flash Series Gaming Chairs
Tech Inferno Fan

eGPU experiences [version 2.0]

Recommended Posts

So I was previously using a GTX460 as my eGPU connected to my laptop via PE4L v2.1b. It died and I now have a GTX750Ti connected to my laptop. I bought this adapter but it doesn't seem to work. It's rated at 12V and 6A so it should meet the power requirements. The plug fits in correctly as well. So I'm currently using my Corsair CX430 power supply that I was previously using. I'm a bit ignorant about power supplies. Since the GTX750Ti requires less than half the wattage of the GTX460, does that mean the power supply won't consume as much electricity?

Share this post


Link to post
Share on other sites
On 2/15/2016 at 1:32 AM, aldimeola81 said:

 

I have now also tried a PE4C, with all combinations of sw1 sw2 switch settings. So I have now tried two adaptors.

I have now also converted from GPT to MBR with and installed Setup 1.3. 

Setup 1.3 does not detect the eGPU either.

Is my brand new GPU dead on arrival? Only thing I can think of now.

In device manager you don't see any device with error 12 under graphics card when the egpu is connected? Have you well inserted the express card into the laptop? Try to check under security in bios if express card slot has been disabled.. And get back to normal supply connection,with pe4C at least the egpu must start by himself, so remove all egpu delay. Install and start lenovo system update for update your drivers and common modules, update the bios, after that, if the card will be recognized but you get error 12 you can pass to second step Bye

 

Hi aldimeola81,

Thanks for the response. Turns out the GPU was totally DOA as I suspected. I took it to work (haha) and stuck it a desktop--still didn't work at all. Returned the GPU, was sent a new one, it worked fine right away (well after an hour of playing with pci compaction--iGPU+eGPU with eGPU forced to 32 bit is the only thing working). I was so happy to see that error 12, such an improvement over getting not even a spin of the fan. Also, thanks to nando who helped me to realize that the card was simply DOA.

Share this post


Link to post
Share on other sites

Hi, hoping for some troubleshooting tips.

 

My setup:

  • EVGA GTX 970 
  • EXP GDC 7.0A with a Dell DA-2 PSU 
  • Lenovo W530
  • Windows 10

I previously had a GTX 670 working with the same setup and some tinkering using DIY eGPU Setup 1.30, but no luck with the new 970 (so far).

 

When I plug in the eGPU to the power and express card slot and boot the laptop the lights turn on and the fans spin.

DIY eGPU Setup detects the card.

I perform the same steps that worked with my 670 in combination with a DSDT override (initiate eGPU, ignore dGPU, perform 32bit compaction on iGPU+eGPU, disable dGPU). There are no apparent errors.

When I chainload to Windows the GTX 970 does not appear in the device manager and is not a detected display.

 

I notice that when I use the "!Show State" -> "!NVidia-nvflash" command, the card is not listed ("No NVIDIA display adapters found"). It doesn't appear there after doing "Initialize" -> "eGPU" either.  

 

Is that absence from the NVidia-nvflash list a clue? Any other thoughts?

 

Thanks!

SCN000.BMP

10de13c2.bin

10de13c2.bin

config.zip

Share this post


Link to post
Share on other sites
5 hours ago, hugh said:

Hi, hoping for some troubleshooting tips.

 

My setup:

  • EVGA GTX 970 
  • EXP GDC 7.0A with a Dell DA-2 PSU 
  • Lenovo W530
  • Windows 10

I previously had a GTX 670 working with the same setup and some tinkering using DIY eGPU Setup 1.30, but no luck with the new 970 (so far).

 

When I plug in the eGPU to the power and express card slot and boot the laptop the lights turn on and the fans spin.

DIY eGPU Setup detects the card.

I perform the same steps that worked with my 670 in combination with a DSDT override (initiate eGPU, ignore dGPU, perform 32bit compaction on iGPU+eGPU, disable dGPU). There are no apparent errors.

When I chainload to Windows the GTX 970 does not appear in the device manager and is not a detected display.

 

I notice that when I use the "!Show State" -> "!NVidia-nvflash" command, the card is not listed ("No NVIDIA display adapters found"). It doesn't appear there after doing "Initialize" -> "eGPU" either.  

 

Is that absence from the NVidia-nvflash list a clue? Any other thoughts?

 

Thanks!

SCN000.BMP

10de13c2.bin

10de13c2.bin

config.zip

 

nvflash provided with Setup 1.30 doesn't detect the new GTX9xx cards. There is no newer DOS-only nvflash from NVidia to allow it either.

 

GTX970 requires more PCIe config space than your GTX670. 32-bit PCI compaction will not be enough.  If using a DSDT override then you should be setting a endpoint=56.25GB and performing a eGPU or iGPU+eGPU compaction.

Share this post


Link to post
Share on other sites
On 2/20/2016 at 6:40 AM, Tech Inferno Fan said:

 

nvflash provided with Setup 1.30 doesn't detect the new GTX9xx cards. There is no newer DOS-only nvflash from NVidia to allow it either.

 

GTX970 requires more PCIe config space than your GTX670. 32-bit PCI compaction will not be enough.  If using a DSDT override then you should be setting a endpoint=56.25GB and performing a eGPU or iGPU+eGPU compaction.

And if you then get error 12, force the eGPU (not iGPU, oops) into 32 bit space. This is what I just got working for me with gtx 950 and lenovo w530.

Edited by griffinator
  • Thumbs Up 1

Share this post


Link to post
Share on other sites

I'm not giving up on this yet.

eGPU: PE4C v3.0 ExpressCard

Cards: GT800, GTX 560ti

Power: Dell DA-2 Power brick

Laptops: HP EliteBook 8440p, Lenovo Thinkpad T60

 

I put out another laptop to test, this one a Thinkpad T60

I finally got a reaction!, not the one I expected, but is a small progress.

This laptop has Arch Linux, will put windows on it to try.

I connected the egpu, plugged it to power, then turn on the laptop

The egpu didn't power on (card fans were off), and it didn't show with lspci

I force powered it, the card started spinning full force, and I got dmesg output on the laptop, this:

 

[  175.960967] pciehp 0000:00:1c.2:pcie04: Card present on Slot(4)
[  178.563357] pciehp 0000:00:1c.2:pcie04: Link Training Error occurs
[  178.566501] pciehp 0000:00:1c.2:pcie04: Failed to check link status

SO, unlike the HP Elitebook 8440p, I'm finally getting at least something that shows that the egpu isn't completely dead.

 

So I turned the laptop and the egpu off. Then changed PERST switch to 9.8 secs delay, turn on the egpu, then the laptop

On the initialization I got some stuff on the dmesg output, here:

 

[    0.174742] pci 0000:00:1c.2: [8086:27d4] type 01 class 0x060400
[    0.174869] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.174933] pci 0000:00:1c.2: System wakeup disabled by ACPI
.
.
.
[    0.196886] pci 0000:00:1c.2: PCI bridge to [bus 04-0b]
[    0.196893] pci 0000:00:1c.2:   bridge window [io  0x6000-0x7fff]
[    0.196899] pci 0000:00:1c.2:   bridge window [mem 0xe8000000-0xe9ffffff]
[    0.196908] pci 0000:00:1c.2:   bridge window [mem 0xe4100000-0xe41fffff 64bit pref]
.
.
.
[    0.253156] pci 0000:00:1c.2:   PCI bridge to [bus 04-0b]
[    0.253161] pci 0000:00:1c.2:   bridge window [io  0x6000-0x7fff]
[    0.253168] pci 0000:00:1c.2:   bridge window [mem 0xe8000000-0xe9ffffff]
[    0.253174] pci 0000:00:1c.2:   bridge window [mem 0xe4100000-0xe41fffff 64bit pref]
.
.
.
[    0.372070] pcieport 0000:00:1c.2: Signaling PME through PCIe PME interrupt
[    0.372076] pcie_pme 0000:00:1c.2:pcie01: service driver pcie_pme loaded
.
.
.
[    0.372322] pciehp 0000:00:1c.2:pcie04: Slot #4 AttnBtn- AttnInd- PwrInd- PwrCtrl- MRL- Interlock- NoCompl- LLActRep+
[    0.372355] pciehp 0000:00:1c.2:pcie04: service driver pciehp loaded

But still didn't show on lspci

 

I'll put window to this laptop, and maybe setup 1.3 to keep testing, but at least I know the PE4C is not completely dead.

Maybe it is indeed damaged, but on the HP I never got any reaction that showed the PE4C was detected, not in windows (10) nor in linux.

 

@Tech Inferno Fan Could I have an opinion on these readings? I'm pretty competent on software, but not on hardware...

Share this post


Link to post
Share on other sites
1 hour ago, Cloudbyte said:

I'm not giving up on this yet.

eGPU: PE4C v3.0 ExpressCard

Cards: GT800, GTX 560ti

Power: Dell DA-2 Power brick

Laptops: HP EliteBook 8440p, Lenovo Thinkpad T60

 

I put out another laptop to test, this one a Thinkpad T60

I finally got a reaction!, not the one I expected, but is a small progress.

This laptop has Arch Linux, will put windows on it to try.

I connected the egpu, plugged it to power, then turn on the laptop

The egpu didn't power on (card fans were off), and it didn't show with lspci

I force powered it, the card started spinning full force, and I got dmesg output on the laptop, this:

 


[  175.960967] pciehp 0000:00:1c.2:pcie04: Card present on Slot(4)
[  178.563357] pciehp 0000:00:1c.2:pcie04: Link Training Error occurs
[  178.566501] pciehp 0000:00:1c.2:pcie04: Failed to check link status

SO, unlike the HP Elitebook 8440p, I'm finally getting at least something that shows that the egpu isn't completely dead.

 

So I turned the laptop and the egpu off. Then changed PERST switch to 9.8 secs delay, turn on the egpu, then the laptop

On the initialization I got some stuff on the dmesg output, here:

 


[    0.174742] pci 0000:00:1c.2: [8086:27d4] type 01 class 0x060400
[    0.174869] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.174933] pci 0000:00:1c.2: System wakeup disabled by ACPI
.
.
.
[    0.196886] pci 0000:00:1c.2: PCI bridge to [bus 04-0b]
[    0.196893] pci 0000:00:1c.2:   bridge window [io  0x6000-0x7fff]
[    0.196899] pci 0000:00:1c.2:   bridge window [mem 0xe8000000-0xe9ffffff]
[    0.196908] pci 0000:00:1c.2:   bridge window [mem 0xe4100000-0xe41fffff 64bit pref]
.
.
.
[    0.253156] pci 0000:00:1c.2:   PCI bridge to [bus 04-0b]
[    0.253161] pci 0000:00:1c.2:   bridge window [io  0x6000-0x7fff]
[    0.253168] pci 0000:00:1c.2:   bridge window [mem 0xe8000000-0xe9ffffff]
[    0.253174] pci 0000:00:1c.2:   bridge window [mem 0xe4100000-0xe41fffff 64bit pref]
.
.
.
[    0.372070] pcieport 0000:00:1c.2: Signaling PME through PCIe PME interrupt
[    0.372076] pcie_pme 0000:00:1c.2:pcie01: service driver pcie_pme loaded
.
.
.
[    0.372322] pciehp 0000:00:1c.2:pcie04: Slot #4 AttnBtn- AttnInd- PwrInd- PwrCtrl- MRL- Interlock- NoCompl- LLActRep+
[    0.372355] pciehp 0000:00:1c.2:pcie04: service driver pciehp loaded

But still didn't show on lspci

 

I'll put window to this laptop, and maybe setup 1.3 to keep testing, but at least I know the PE4C is not completely dead.

Maybe it is indeed damaged, but on the HP I never got any reaction that showed the PE4C was detected, not in windows (10) nor in linux.

 

@Tech Inferno Fan Could I have an opinion on these readings? I'm pretty competent on software, but not on hardware...

 

Something I do on linux is I add "pci=realloc" in order for my eGPU to work. I'm guessing it fixes the memory allocation or something. I'm not sure what bootloader you use but I use GRUB so you just have to edit /boot/grub/grub.cfg. On this laptop with Ubuntu installed, the line to modify is "linux    /vmlinuz-3.18.7 root=/dev/mapper/ubuntu--vg-root ro  splash tpm_tis.interrupts=0 i915.i915_enable_fbc=1 $vt_handoff"

Share this post


Link to post
Share on other sites

Hey Guys! I'm new here.

 

I have an Asus G750JM with a thunderbolt port and an iGPU and dGPU (GTX 860m)

 

I wanted to know if I made an egpu for it would it work with the iGPU and dGPU or would I have to disable my dGPU in the bios or something? (I'm fine with disabling it as long as I can use the iGPU and eGPU)

 

Thx Guys! any info regarding this is appreciated!

Share this post


Link to post
Share on other sites
15 hours ago, Tech Inferno Fan said:

f using a DSDT override then you should be setting a endpoint=56.25GB and performing a eGPU or iGPU+eGPU compaction.

 

Success. Big sigh of relief. Thanks @Tech Inferno Fan for your help!

 

To recap, this is what worked for me to get a GTX 970 working with a EXP GDC 7.0A and a Lenovo W530 with Windows 10:

  • Do a DSDT override.

Then in DIY eGPU Setup:

  • Ignore dGPU
  • Set compaction target to 56.25GB
  • Perform compaction on eGPU + iGPU 
  • Select eGPU + iGPU to go to 32 bit (or just eGPU)
  • Disable dGPU
  • Chainload to Windows
Edited by hugh
  • Thumbs Up 2

Share this post


Link to post
Share on other sites
7 hours ago, yithar7153 said:

 

Something I do on linux is I add "pci=realloc" in order for my eGPU to work. I'm guessing it fixes the memory allocation or something. I'm not sure what bootloader you use but I use GRUB so you just have to edit /boot/grub/grub.cfg. On this laptop with Ubuntu installed, the line to modify is "linux    /vmlinuz-3.18.7 root=/dev/mapper/ubuntu--vg-root ro  splash tpm_tis.interrupts=0 i915.i915_enable_fbc=1 $vt_handoff"

 

I'm using grub2. I tried this with a live linux (arch) on the HP, and still wasn't detected by lspci.

However, I found out in linux, that powering on the card before hotpluggin it gave me a few errors:

 

[12900.711389] pciehp 0000:00:1c.1:pcie04: Card present on Slot(1)
[12903.314393] pciehp 0000:00:1c.1:pcie04: link training error: status 0x1001
[12903.316363] pciehp 0000:00:1c.1:pcie04: Failed to check link status

This is the first time I get a reaction on the HP laptop.

 

I googled a bit, and the second line "link training error: status 0x1001" is related to being unable to hotswap pci-e devices.

So, I'm sloooowly making progress, at least I managed to obtain a reaction to the PE4C from the HP Elitebook 8440p.

 

I'm now convinced the PE4C is probably ok, but the laptops' expresscard slots may be missconfigured or something.

 

Getting closer.... won't give up.

 

I also attach some screens from Setup 1.3 on the HP Elitebook 8440p

Here the egpu isn't detected.

Do anyone have any sugestion for this?

SCN000.jpg

SCN001.jpg

SCN010.jpg

SCN011.jpg

Share this post


Link to post
Share on other sites
1 minute ago, Cloudbyte said:

 

I'm using grub2. I tried this with a live linux (arch) on the HP, and still wasn't detected by lspci.

However, I found out in linux, that powering on the card before hotpluggin it gave me a few errors:

 


[12900.711389] pciehp 0000:00:1c.1:pcie04: Card present on Slot(1)
[12903.314393] pciehp 0000:00:1c.1:pcie04: link training error: status 0x1001
[12903.316363] pciehp 0000:00:1c.1:pcie04: Failed to check link status

This is the first time I get a reaction on the HP laptop.

 

I googled a bit, and the second line "link training error: status 0x1001" is related to being unable to hotswap pci-e devices.

So, I'm sloooowly making progress, at least I managed to obtain a reaction to the PE4C from the HP Elitebook 8440p.

 

I'm now convinced the PE4C is probably ok, but the laptops' expresscard slots may be missconfigured or something.

 

Getting closer.... won't give up.

 

I also attach some screens from Setup 1.3 on the HP Elitebook 8440p

Here the egpu isn't detected.

Do anyone have any sugestion for this?

 

 

Pls try hardwiring the PSU to be permanently on rather than switch on only when the eGPU is detected as described at  https://www.techinferno.com/index.php?/forums/topic/8947-mpcieec-egpu-troubleshooting-steps/

Share this post


Link to post
Share on other sites
11 hours ago, hugh said:

 

Success. Big sigh of relief. Thanks @Tech Inferno Fan for your help!

 

To recap, this is what worked for me to get a GTX 970 working with a EXP GDC 7.0A and a Lenovo W530 with Windows 10:

  • Do a DSDT override.

Then in DIY eGPU Setup:

  • Ignore dGPU
  • Set compaction target to 56.25GB
  • Perform compaction on eGPU + iGPU 
  • Select eGPU + iGPU to go to 32 bit (or just eGPU)
  • Disable dGPU
  • Chainload to Windows

Awesome! Sorry about the typo earlier, I meant to say just that... sending eGPU to 32 bit so iGPU doesn't take over. I didn't need to do a dsdt override first though.

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Hi, 

I have the EXP GDC Beast, windows 8 and the 780 Gigabyte Ghz Edition, but I keep error 43.

I'm French and my computer is in French too, do I need to do anything about that ?

I bought Setup 1.30, but I have no idea what to do... Can somebody help me plz ?

 

Acer aspire 5750g

RAM 8.00 Go

Intel i5-2430M 2.4Ghz

GTX 780 Ghz

PSU 300w

EXP GDC Beast 

 

 

Thanks, 

MrSbarre

 

Share this post


Link to post
Share on other sites
Awesome! Sorry about the typo earlier, I meant to say just that... sending eGPU to 32 bit so iGPU doesn't take over. I didn't need to do a dsdt override first though.

Gotcha. Maybe I can get away without the DSDT override then. But it was such a massive pain to do I want to believe it was necessary.

Nice laptop you got there :)

  • Thumbs Up 1

Share this post


Link to post
Share on other sites

Successfully set up an eGPU on my HP620 laptop that has basic integrated graphics. The video card is: EVGA Geforce GTX 460 FPB, it connects through express card to the laptop. But the eGPU is slow. In Sony Vegas, when using only the CPU, 1 minute of video is rendered in 2:00, with the GPU it is 2:40. Strange result from such a card. In Xilisoft converter, the results are the same. Xilisoft sees CUDA, it is active, yet no difference to when CUDA is off. Could speed be improved somehow? I am not sure if it relates to the problem, but GPUID-Z doesn't see the video card, it reports openCL error, however Geeks3D can. Is it possible the drivers have issues, and that reduces the speed? Nvidia control panel is present, external monitor has image on it, so it seems the card is doing the job. Why is it that slow then?

Share this post


Link to post
Share on other sites

Hi everyone. I have a laptop with a core 2 duo t7200 CPU along with 3GB of ram. I'm planning to go the egpu route with an exp gdc expresscard adapter along with a 750ti. I wanted to know that by how much will the t7200 bottleneck in games? What about in gta v? 40-50 fps is good for me. I'll be playing on 1080p with settings at med-high. Thanks.

Share this post


Link to post
Share on other sites

Hi,

So I tested a lot of options in Setup 1.30, (all the compaction too), but all of them send me to this error :

 

http://hpics.li/9848ffc

 

May somebody know what do to ?

- I did a DSDT Override by the way -

Edited by MrSbarre
Fail

Share this post


Link to post
Share on other sites
3 minutes ago, MrSbarre said:

Hi,

So I tested a lot of options in Setup 1.30, (all the compaction too), but all of them send me to this error :

 

http://hpics.li/9848ffc

 

May somebody know what do to ?

- I did a DSDT Override by the way -

 

Pls email me your devcon.txt file. I suspect you have a non-English entries which then act as exclusion zones preventing any allocation from happening.

Share this post


Link to post
Share on other sites

First it is if anyone here is running an egpu with this laptop

 

Second after using intel extreme tuning utility my gpu got locket at 405mhz even when the temp is low and wont go any further than that? I can't download the unlocked vBios yet since I'm new here, anyone got any ideas to fix this? Even when I'm using ThrottleStop and Nvidia Inspector the gpu clock is stucj there. The memory clock moves, thanks. 

Edited by Jankychopii

Share this post


Link to post
Share on other sites

Dear Tech Inferno Fan

 

First, I want to specify that my English is not very good.

Despite every attempt at the computer, I couldn't get a successful result.

Computer specifications:


Toshiba A305-S6872
Processor: 2.0GHz Intel Core 2 Duo T5800

Memory: 3GB at 667MHz

Graphic: Mobile Intel® 4 Series Express Chipset Family
System: Windows 10

 

Graphic card: MSI GT430

 

PCI-E cable when I connect my computer won't open.
Is it possible to run?

if I buy eGPU Setup is it possible to run if you?

Thanx.

Share this post


Link to post
Share on other sites
47 minutes ago, Nayir said:

Dear Tech Inferno Fan

 

First, I want to specify that my English is not very good.

Despite every attempt at the computer, I couldn't get a successful result.

Computer specifications:


Toshiba A305-S6872
Processor: 2.0GHz Intel Core 2 Duo T5800

Memory: 3GB at 667MHz

Graphic: Mobile Intel® 4 Series Express Chipset Family
System: Windows 10

 

Graphic card: MSI GT430

 

PCI-E cable when I connect my computer won't open.
Is it possible to run?

if I buy eGPU Setup is it possible to run if you?

Thanx.


 

Setup 1.30 can help with detection of the eGPU as well as correct error 12 if you have it. It's suggested you work through https://www.techinferno.com/index.php?/forums/topic/8947-mpcieec-egpu-troubleshooting-steps/

Share this post


Link to post
Share on other sites

Hey people of techinferno!

 

I recently got a Dell E6420 for 100 euro off a buddy of mine. So i decided to buy an EXP GDC Beast[V8.0] with Expresscard adapter. Been looking at eGpus for a while so said id try it out. 

I had a HD 7850 in a box under my bed so it seemed only right to put it to use. 

 

Specs:

cpu - i5-2520M

gpu - 7850 1Gb

Ram - 6Gb 1333Mhz

 

I have had some problems though. 

It booted first time and had no problems getting it up and running, I used firestrike to test it as i had the 7850 benched in a PC previously.

After some OCing i got the graphics score to about 83%~ the performance of it at stock(in a PC running at full speed). Core 860 -> 1050 , memory 1200 -> 1275.

Which i thought was great for x1 vs x16.

 

Unfortunately i found this synthetic bench to not translate into real world AT ALL. 

My first tick off to this was when i launched Kodi to watch some shows and it crippled my PC to a near standstill where i was recieving 1 Frame per 3 seconds, Being able to stream 1080P videos no problem with the IGP HD3000.

this did not bother me much however it was when i launched a game that i really saw this problem. 

i only play LoL and CS:GO regularly and it truly shocked me to find out these were even unplayable, Despite both reading over 60FPS  the Stutter, screen tearing and FPS drops in general are appalling

The HD3000 IGP runs both these games at much lower FPS but its stable( as in when i shoot in CS or cast a skill in LoL it doesn't stutter or just drop to 5FPS).

 

So basically my eGpu does work, just stutters and drops like crazy. I was just wondering if this is something regular or if i have missed something in setting it up?

 

 

Share this post


Link to post
Share on other sites

Have same thing with Dell E6430.

3Dmark13 FireStrike benchmark was about 1000 points lower with this quadcore i7-3740QM cpu in Dell, than it was with my Lenovo X230 with just i5-3320M.

Same eGPU (PE4L 2.1b+ GTX670 OC).   Ok... bench is lower, no big deal, lets try games.

Tried loading up RYSE- Son of Rome. The FPS was so slow and so much frame drops with Dell e6430- unplayable. Didn't matter that i set ingame graphics to low.

5 minutes later my eGPU setup was connected to Lenovo X230- flawless gameplay. So smooth. Could even play with High graphics option!

So definetly something wrong with Dell +eGPU...

And I bought that Dell for 450 euros (near maxed out specs tough:16GB ram, 256GB SSD,i7-3740QM)! :D To be better eGPU platform than X230...  as I read the E6430 performance thread before buying the Dell.

Edited by viilutaja

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.