Moderator angerthosenear Posted January 2, 2014 Moderator Share Posted January 2, 2014 This is to keep pre-testing for Crossfire out of the main DIY eGPU thread. Keep it consolidated for those interesting a Crossfire link @ 1x in desktop or laptop.My original testing in a desktop (link below), proved useless since the 2nd PCIe slot didn't allow for a 1x link for some reason or another. I don't have any 1x to 16x extender cables so couldn't use any other ports.http://forum.techinferno.com/diy-e-gpu-projects/2109-diy-egpu-experiences-%5Bversion-2-0%5D-50.html#post78257 @sskillz is doing Crossfire testing on his desktop with a 1x to 16x riser (when he gets it in the mail). This will help to prove if it works at all in a 1x link.He got 1x working in his 16x port so just needs the extender to utilize his other 1x port to attempt Crossfire:http://forum.techinferno.com/diy-e-gpu-projects/2109-diy-egpu-experiences-%5Bversion-2-0%5D-51.html#post78558 @jacobsson is donating (to be returned of course) a mPCIe PE4L adapter to me for testing Crossfire @ 1x on a laptop. Going from Sweden -> US so this will take some time to arrive. Hopefully sskillz's testing will be done by then to determine if Crossfire works at all with a 1x link.Read the final report here!! (or scroll through and read how it evolved)http://forum.techinferno.com/diy-e-gpu-projects/5622-%5Bblog%5D-crossfire-testing.html#post82280 Link to comment Share on other sites More sharing options...
Tech Inferno Fan Posted January 2, 2014 Share Posted January 2, 2014 Don't wish to rain on the parade but tunico5 wrote here:Okay I found the answer for the SLI:"Both SLI and Crossfire need more than x4 bandwith to be enabled in both control panels. Tested also on a desk rig (p55) and and I couldn't enable Crossfire under x4-x4 (if I use lower than that I cannot enable crossfire). SLI was tested on techpowerup forum with Hypersli (chipset p67 without SLI certification very similar to my hm65). There on speeds x16-x1 people couldn't enable SLI while when they change their configuration to x16-x4 or x4-x4 the sli tab was enabled. There is a possibility that it is possible to do an x1-x1 with older drivers (192.xx) but I haven't try it yet since I need 9xxx or older cards)"Therefore only possible when TH05 has x4 and connecting to both portsYou guys' testing results will confirm this. The comment seems mostly directed to NVidia's SLI so fingers crossed AMD's Crossfire does enable on two x1 links. Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted January 2, 2014 Author Moderator Share Posted January 2, 2014 Don't wish to rain on the parade but tunico5 wrote here:You guys' testing results will confirm this. The comment seems mostly directed to NVidia's SLI so fingers crossed AMD's Crossfire does enable on two x1 links.Yeah, the vagueness everywhere else with Crossfire is the only hope for this working. That is the only mention I have seen about Crossfire needing 4x+. Is there a way to spoof the #x link? So it'll still be running on 1x but report software wise as 4x/8x/16x? Or would that just cause instability or something. Link to comment Share on other sites More sharing options...
Tech Inferno Fan Posted January 2, 2014 Share Posted January 2, 2014 Yeah, the vagueness everywhere else with Crossfire is the only hope for this working. That is the only mention I have seen about Crossfire needing 4x+. Is there a way to spoof the #x link? So it'll still be running on 1x but report software wise as 4x/8x/16x? Or would that just cause instability or something.There's a read-only link status pci config register on the video card that reports link width. That's the one that GPU-Z reads and reports on which presumably the drivers do too. No way of spoofing it that I'm aware of.Yeah.. I too hope the vagueness in the previously posted quote works in your favor of getting a successful x1 AMD crossfire arrangement working. 1 Link to comment Share on other sites More sharing options...
sskillz Posted January 3, 2014 Share Posted January 3, 2014 There's a read-only link status pci config register on the video card that reports link width. That's the one that GPU-Z reads and reports on which presumably the drivers do too. No way of spoofing it that I'm aware of.Yeah.. I too hope the vagueness in the previously posted quote works in your favor of getting a successful x1 AMD crossfire arrangement working. What's the Kernel API (Win, AMD's) used to read it? Maybe it can be hooked/intercepted? Do you think these two are read from that register using the same API? Edit5: GPU-Z uses a kernel mode driver to read the register: But this program nor windows are able to see the actual .sys file in that temp folder, so I can't try to disassemble it and see how it works. Do you know specifically how do I access the said registers from windows? Even if its from kernel mode? Are you sure it read only? And lastly, Anyone tried ATI Tray tools to enable crossfire? 1 Link to comment Share on other sites More sharing options...
sskillz Posted January 4, 2014 Share Posted January 4, 2014 I've managed to modify some parts of catalyst as seen here (GPU-Z's reading is the real current speed): This isn't just changing a label, at least I hope not. I tried to reach where the Catalyst got the info in the first place, and got to some AdapterInfo structure. It might not be "deep" enough, and there multiple places that store this info. I'm not sure which one might fool Catalyst to allow crossfire(if it blocks it), if even possible. A different way might be to just do what the Enable Crossfire button... I still don't have a 1x-16x to connect a second GPU to test this. 2 Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted January 4, 2014 Author Moderator Share Posted January 4, 2014 I've managed to modify some parts of catalyst as seen here (GPU-Z's reading is the real current speed):[ATTACH=CONFIG]10153[/ATTACH]This isn't just changing a label, at least I hope not. I tried to reach where the Catalyst got the info in the first place, and got to some AdapterInfo structure.It might not be "deep" enough, and there multiple places that store this info. I'm not sure which one might fool Catalyst to allow crossfire(if it blocks it), if even possible.A different way might be to just do what the Enable Crossfire button...I still don't have a 1x-16x to connect a second GPU to test this.Hmm that's interesting. Hopefully you can figure out everything that is going on under the hood. I don't have any AMD GPUs with me to help you look around. Hopefully either Catalyst or some other utility can forcibly enable Crossfire (if blocked).Hopefully your 1x to 16x entender cable arrives next week! Link to comment Share on other sites More sharing options...
sskillz Posted January 12, 2014 Share Posted January 12, 2014 Riser is here, it didn't work for me at first with the monitor plug on the on in the regular 16x slot, only when I moved it to the one on the 1x-16x riser did it work (with and without a CF bridge): But crossfire options isn't available, at least for now :| I think I'm patching the bus lanes only when you open the hardware tab, so it might be too late and the crossfire tab isn't dynamic. Damn riser got here so late that I don't have much time now because we started the semester's exams, I'll update when I'll have some time :/ 2 Link to comment Share on other sites More sharing options...
sskillz Posted January 13, 2014 Share Posted January 13, 2014 anyone wanna try Ubuntu aticonfig tool? Something like the following:Add Multiple GPU chain: <code>aticonfig --cfa --adapter=0,1</code> Switch CF on: <code>aticonfig --cf on --adapter=0,1</code> or <code>aticonfig --adapter=0,1 --crossfire=on</code>. Reboot to take effect. Check if CF is enabled: <code>aticonfig --lscs</code> See the load on the GPUs: <code>watch -n10 aticonfig --adapter=all --odgt --odgc</code> See GPU chain info for each GPU: <code>aticonfig --lsch</code>If anyone wants to try, you can use a Ubuntu LiveCD or USB bootable drive with persistent storage on the same bootable USB drive soyou can install drivers (AMD's).http://www.howtogeek.com/howto/14912/create-a-persistent-bootable-ubuntu-usb-flash-drive/ Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted January 13, 2014 Author Moderator Share Posted January 13, 2014 anyone wanna try Ubuntu aticonfig tool? Something like the following:Add Multiple GPU chain: <code>aticonfig --cfa --adapter=0,1</code> Switch CF on: <code>aticonfig --cf on --adapter=0,1</code> or <code>aticonfig --adapter=0,1 --crossfire=on</code>. Reboot to take effect. Check if CF is enabled: <code>aticonfig --lscs</code> See the load on the GPUs: <code>watch -n10 aticonfig --adapter=all --odgt --odgc</code> See GPU chain info for each GPU: <code>aticonfig --lsch</code>If anyone wants to try, you can use a Ubuntu LiveCD or USB bootable drive with persistent storage on the same bootable USB drive soyou can install drivers (AMD's).Create a Persistent Bootable Ubuntu USB Flash DriveI wouldn't mind trying this. Although, do I need to run Setup 1.x for PCI compaction or a DSDT override? Seeing I have to use both to get it to work in Win7/8.1 would be hard in a Live USB operation. Leaning that I probably won't need to do so. I can try Live USB tonight to see if it works with a single card (R9 280X).Which Ubuntu distro would you recommend I try? Going with 13.10 for now.--Just waiting till I get home, got drivers installed. Link to comment Share on other sites More sharing options...
sskillz Posted January 14, 2014 Share Posted January 14, 2014 I'm not familiar with Ubuntu, but my guess is that any common distribution will work just fine.Although I don't know how to run setup 1.x and boot from there to a linux disk/usb but there is some mention of it in setup 1.x thread.Maybe @Tech Inferno Fan can help. I'm curious if it will work on linux, it won't give us much real gain other then knowing for sure that it is the driver that's limiting it. Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted January 15, 2014 Author Moderator Share Posted January 15, 2014 I'm not familiar with Ubuntu, but my guess is that any common distribution will work just fine.Although I don't know how to run setup 1.x and boot from there to a linux disk/usb but there is some mention of it in setup 1.x thread. Maybe @Tech Inferno Fan can help. I'm curious if it will work on linux, it won't give us much real gain other then knowing for sure that it is the driver that's limiting it. I still have to wait for the the snails working at the post office / customs for the adapter to arrive. I haven't tried Ubuntu with the single card yet. Might not need the DSDT override. I'll test and report back. Hopefully I got the persistent USB thinger working. I've never been able to get it to work Couldn't get Ubuntu to work live at all.. --- What about something like this: https://www.xgamingstudio.com/forum/showthread.php?10-RELEASE-ATI-CrossFire-Xtension-A-way-to-force-crossfire-w-profiles Link to comment Share on other sites More sharing options...
sskillz Posted January 15, 2014 Share Posted January 15, 2014 I still have to wait for the the snails working at the post office / customs for the adapter to arrive. I haven't tried Ubuntu with the single card yet. Might not need the DSDT override. I'll test and report back.Hopefully I got the persistent USB thinger working. I've never been able to get it to work Couldn't get Ubuntu to work live at all.. --- What about something like this: https://www.xgamingstudio.com/forum/showthread.php?10-RELEASE-ATI-CrossFire-Xtension-A-way-to-force-crossfire-w-profiles That's a nice find, why do they never release source code for this types of programs :/ I can't seem to be able to even send him a pm about it. Here's some info on how to setup linux for mining, on a USB disk for example step by step headless linux setup from scratch all the way to LAMP (apache2, mysql & php/perl/python) and ANUBIS cgminer front end : litecoinmining (Of course you don't need the last mining related steps and I would disconnect my hard drive power if there is any chance it will mess with windows boot loader). Link to comment Share on other sites More sharing options...
sskillz Posted January 21, 2014 Share Posted January 21, 2014 Crossfire seems to be working under linux! I've used Universal-USB-Installer-1.9.5.2 to create a live ubuntu of ubuntu-13.10-desktop-amd64.iso with about 2GB persistent data. Then after it boot up (try linux mode), I've opened terminal and used sudu -i and then passwd to set a new root password. I've reopened the terminal and ran the following commands: sudo apt-get install build-essential cdbs dh-make dkms sudo apt-get install execstack dh-modaliases fakeroot libqtgui4 sudo apt-get install ia32-libs ia32-libs-multiarch:i386 sudo apt-get install lib32gcc1 libc6-i386 to install amd driver dependencies (I think the second to last didn't work, but it didn't matter). Then I went to Settings -> software updates -> other -> and installed amd propriety driver (fglrx, not the updates one, not sure if matters). Once it finishes I tried:<code> sudo aticonfig --list-adapters</code>and it showed both cards, Then to remake x config: sudo aticonfig --adapter=all --initial -f and reboot. now my cards were listed as id 0, id 1 so to enable crossfire I've used: <code>sudo aticonfig --adapter=0,1 --cfa </code> to add adapters 0 and 1 to a crossfire chain. now: <code>sudo aticonfig --lsch</code> should say crossfire is disabled on the chain, so to enable it: <code><code>sudo aticonfig --adapter=0,1 --crossfire=on</code></code> reboot. now to verify that its on use: <code>sudo aticonfig --lscs </code><code></code><code>or</code><code></code><code></code><code>sudo aticonfig --lsch</code> I've haven't tried just enabling it in catalyst control panel before setting up the chain and all (It does enable and disable it after I already had a chain). Heres screeshots: benchmarks: * Crossfire Off, Basic preset on fullscreen (that's why it says custom, windowed mode is crashing after 2-3 secs): * Crossfire Off, Extreme preset on fullscreen (that's why it says custom, windowed mode is crashing after 2-3 secs): * Crossfire On, Basic preset on fullscreen (that's why it says custom, windowed mode is crashing after 2-3 secs): * Crossfire On, Extreme preset on fullscreen (that's why it says custom, windowed mode is crashing after 2-3 secs): I was running at full screen so I couldn't see gpu usages, also there aren't many benchmarks that I could find for linux. and I was running of a USB stick. Before it crashes on windowed mode, I've seen about 30% GPU usage on the second adapter, but it crushes so fast that I don't know if it might get higher. heaven GPU model field says x1 GPU adapters... but there is performance gain, weird. I might make it output to a file so I could see it, but I think its more important that it does work, just windows version of catalyst doesn't allow you to enable it! My config is 2x HD6950 (shaders unlocked), one is on a 1x-16x riser, the other has its lanes taped to work on 1x in a 16x slots. Here's windows single card (opengl, fullscreen) for comparison: 6 Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted January 21, 2014 Author Moderator Share Posted January 21, 2014 Crossfire seems to be working under linux!SWEET!!!!!!!!!I'll attempt to meetup with my friend so I can borrow his card so I can attempt Cfire externally. I'll have a spare drive so I'll use an installed version of Ubuntu for testing.I guess if I can get that working properly, we just gotta figure out how to force enable Cfire in Windows. There doesn't so happen to be a commandline based setup similar to aticonfig in Windows is there? 1 Link to comment Share on other sites More sharing options...
sskillz Posted January 21, 2014 Share Posted January 21, 2014 I'm not sure what to try next, I can view the IL (.NET) assembly of some of win Catalyst CCC implementation using Reflector, and edit them using Reflexil. This isn't the driver, but it might have control over what we want. This is how I modified the reading but I've only patched them at the hardware info button click.Looking at the assemblies code I haven't found any obvious place to patch it, there are a number of references to crossfire (add all the assemblies and do a search) [ATTACH=CONFIG]10670[/ATTACH] But I'm not so good with .NET (and AMD naming) to really understand whats going on, so I'm calling anyone who knows this stuff to help us understand (with Reflector for example) what CCC is doing, where does it disables the option? and on what terms?, where does the kernel module (driver) comes into play? and with what interface? Just a dump of what I've gathered so far:ATI.ACE.CLI.Aspect.CrossFireX.Graphics.Dashboard.DB_CrossFireXForm is the CCC Dashboard crossfire tab,ATI.ACE.CLI.Caste.Graphics.Shared.SGraphicsAdapter is a interface to the graphics adapter, it has bus speed, features and so on.. ATI.ACE.CLI.Foundation.SCaste is a type of SCAA which has a VisibilityToATI member which seems to be one of the factors if a feature is supported or isn't, it also has a Feature array, which has a ".CF" feature to determine whether DB_CrossFireXForm will be visible to the adapter. ATI.ACE.CLI.Aspect.PowerXpress.Graphics.Shared.SPowerXpress is a type of SCAA, and is referenced a lot with relating to different features, including crossfire.the enable crossfire button (probably same reciever for both the disable and enable button), some of this doesn't make sense (intergrated ?) private void btn_Click(object sender, EventArgs e) { if (this.Disposed_) { throw new ObjectDisposedException(FORM_NAME); } if (!this.isUpdateUI && (this.SCrossFireX_ != null)) { Button button = (Button) sender; GpuAssignment discrete = GpuAssignment.Discrete; string name = button.Name; if (name != null) { if (!(name == "btnEnableCFX")) { if (name == "btnConfigureHK") { string groupName = (this.IDBAspect_ != null) ? this.IDBAspect_.Adapter.InstanceName : string.Empty; if (this.IDBForm_ != null) { this.IDBForm_.LaunchHotkeyManager(groupName, CrossFireX.lbStrMenuText); } } } else { GpuAssignment current = this.SCrossFireX_.GPUAssignmentFeature.GpuStatus.Current; if (GpuAssignment.Integrated == current) { discrete = GpuAssignment.Discrete; } if (GpuAssignment.Discrete == current) { discrete = GpuAssignment.Integrated; } else { LogMessages.LogError("Show wrong mode currently, thus can't change mode!"); } IPowerXpressAspect iAspect = this.SCrossFireX_.IAspect as IPowerXpressAspect; if (iAspect != null) { iAspect.TransitGPU(discrete); } } } this.SCrossFireX_.IAspect.Put(this.SCrossFireX_); } } internal DB_CrossFireX(HAdapter adapter, SPowerXpress sPowerXpress) : base(SPowerXpress.AspectName, adapter, SGraphicsCaste.CasteName) { if (sPowerXpress == null) { LogMessages.ReportNullArgumentAndThrowException("sPowerXpress"); } this.SAspect = sPowerXpress; SGraphicsAdapter sAdapter = adapter.SAdapter as SGraphicsAdapter; if (sAdapter != null) { this.IsWorkStation_ = sAdapter.IsWorkstation; } string casteName = SGraphicsCaste.CasteName; string str = string.Concat(SPowerXpress.AspectName, ".CF"); if (DB_CrossFireX.CrossFireXKey_ == null) { string[] strArrays = new string[] { casteName, str }; DB_CrossFireX.CrossFireXKey_ = Localisations.NewILocalisationKey(strArrays); } if (DB_CrossFireX.ToggleCrossFireXHKKey_ == null) { string[] strArrays1 = new string[] { casteName, str, "Toggle between High and Low Power ASIC" }; DB_CrossFireX.ToggleCrossFireXHKKey_ = Localisations.NewILocalisationKey(strArrays1); } if (DB_CrossFireX.EnableCrossFireXHKKey_ == null) { string[] strArrays2 = new string[] { casteName, str, "Tranist to Highter Power ASIC" }; DB_CrossFireX.EnableCrossFireXHKKey_ = Localisations.NewILocalisationKey(strArrays2); } if (DB_CrossFireX.DisableCrossFireXHKKey_ == null) { string[] strArrays3 = new string[] { casteName, str, "Tranist to Lower Power ASIC" }; DB_CrossFireX.DisableCrossFireXHKKey_ = Localisations.NewILocalisationKey(strArrays3); } }EnableCrossFireX relating to "Tranist to Highter Power ASIC" makes no sense... private void btn_Click(object sender, EventArgs e) { if (this.Disposed_) { throw new ObjectDisposedException(FORM_NAME); } if (!this.isUpdateUI && (this.SCrossFireX_ != null)) { Button button = (Button) sender; GpuAssignment discrete = GpuAssignment.Discrete; string name = button.Name; if (name != null) { if (!(name == "btnEnableCFX")) { if (name == "btnConfigureHK") { string groupName = (this.IDBAspect_ != null) ? this.IDBAspect_.Adapter.InstanceName : string.Empty; if (this.IDBForm_ != null) { this.IDBForm_.LaunchHotkeyManager(groupName, CrossFireX.lbStrMenuText); } } } else { GpuAssignment current = this.SCrossFireX_.GPUAssignmentFeature.GpuStatus.Current; if (GpuAssignment.Integrated == current) { discrete = GpuAssignment.Discrete; } if (GpuAssignment.Discrete == current) { discrete = GpuAssignment.Integrated; } else { LogMessages.LogError("Show wrong mode currently, thus can't change mode!"); } IPowerXpressAspect iAspect = this.SCrossFireX_.IAspect as IPowerXpressAspect; if (iAspect != null) { iAspect.TransitGPU(discrete); } } } this.SCrossFireX_.IAspect.Put(this.SCrossFireX_); } } public static void Check(HAdapter adapter) { SPowerXpress sAspect = adapter.SAdapter.IAdapter.GetSAspect(SPowerXpress.AspectName + FLAVOR) as SPowerXpress; if ((sAspect != null) && sAspect.VisibleToATI) { DB_CrossFireX item = new DB_CrossFireX(adapter, sAspect); if (adapter.AspectList != null) { adapter.AspectList.Add(item); } } } FLAVOR = ".CF"; I'll try and patch this function and report back, Edit: didn't work. I should test if any of this code even gets called and with what parameters, but reflexil isn't too flexible. Maybe there is a better way, higher level way (kernel interception).Source code for AMD tools (e.g ati tray tools) which are related to or can enable crossfire will also help.Hacking forums where we can ask for help too :) 2 Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted February 1, 2014 Author Moderator Share Posted February 1, 2014 LAPTOP eGPU CROSSFIRE SUCCESS!!!!!!!!!!!!!!!!!!!!!!!!Pictures and full writeup coming soon (few hours from now).Note, the performance gain,,,, well, isn't really worth all the extra money for the setup. Got a 35% increase (Unigine Heaven Basic preset) from a single card setup -> Crossfire. Might as well just get a nicer card. Almost no increase for Unigine Heaven Extreme preset.I followed the same steps as @sskillz used on his desktop setup here:http://forum.techinferno.com/diy-e-gpu-projects/5622-%5Bblog%5D-crossfire-testing.html#post80974Not sure about Windows Crossfire external. But the setup steps would be the same if @sskillz can figure it out. I sadly have to return all the hardware, so I cannot do any future tests. Link to comment Share on other sites More sharing options...
Khenglish Posted February 1, 2014 Share Posted February 1, 2014 Yeah multi-card setups add PCI-E strain. I remember someone with tri-sli 680s posting big gains in some games when moving from pci-e 2.0 to pci-e 3.0, and that was on x16 links.Have you looked into setting up x2 links on your laptop? If you have the right port config and can dump and flash the firmware, I can write you the firmware mod for it. Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted February 1, 2014 Author Moderator Share Posted February 1, 2014 Yeah multi-card setups add PCI-E strain. I remember someone with tri-sli 680s posting big gains in some games when moving from pci-e 2.0 to pci-e 3.0, and that was on x16 links.Have you looked into setting up x2 links on your laptop?Can't with my laptop, could with my boss's laptop, but not enough for dual x2 link (got 3 PCI-E slots, 4th slot I think is USB based).Would be neat to see however. Link to comment Share on other sites More sharing options...
Khenglish Posted February 1, 2014 Share Posted February 1, 2014 Can't with my laptop, could with my boss's laptop, but not enough for dual x2 link (got 3 PCI-E slots, 4th slot I think is USB based).Would be neat to see however.Setting the master card to x2 should give a boost. If you can figure out your read/write access then the rest is easy. 1 Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted February 1, 2014 Author Moderator Share Posted February 1, 2014 Setting the master card to x2 should give a boost. If you can figure out your read/write access then the rest is easy.I also was only able to run the cards at PCIe 1.0. I can't get Setup 1.x to chainload to Ubuntu. Ubuntu isn't using UEFI that I know of, it just refuses to chainload. Not sure what that's about.I'm sure PCIe 2.0 would've had a much more significant boost to performance. Link to comment Share on other sites More sharing options...
Khenglish Posted February 1, 2014 Share Posted February 1, 2014 I also was only able to run the cards at PCIe 1.0. I can't get Setup 1.x to chainload to Ubuntu. Ubuntu isn't using UEFI that I know of, it just refuses to chainload. Not sure what that's about.I'm sure PCIe 2.0 would've had a much more significant boost to performance.Oh wow that was 1.1? Yeah 2.0 would help tremendously. Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted February 2, 2014 Author Moderator Share Posted February 2, 2014 For this experiment, I'm using my boss's Dell Latitude E6420 that he has let me borrow in the past here: http://forum.techinferno.com/diy-e-gpu-projects/2109-diy-egpu-experiences-%5Bversion-2-0%5D-52.html#post80638 i7-2620M 8GB RAM I have Ubuntu 13.10 installed on my Samsung 840 Evo 120GB drive for this experiment (the mega-fast booting was great for the countless number of reboots I had ;D ) As you saw (if you checked it out), the mPCIe slot has a slight edge on performance for whatever reason, this also might be an indication of an lower # PCIe slot (or w/e you want to call it - earlier in PCIe chain). Only the card plugged into the mPCIe slot (vs ExpressCard) was able to be the primary card. I have my friend's R9 280X and another's 7970 for testing. The 7970 is hooked up via mPCIe to @jacobsson 's PE4L-PM060A (thanks for letting me borrow your adapter!), and the R9 280X hooked up via my PE4L-EC060A. NOTE: The ports are operating at a Gen1 link (PCIe 1.0), this certainly hurts performance. But since we are concerned about the performance change / if there is one, this isn't an overly pressing matter. Hardware pics here: Initial single card setup: Closeup of both cards hooked up: Both cards running Unigine: Software As I stated just a moment ago, I'm using Ubuntu 13.10 for testing since this is the only way (for now hopefully) that it is possible to forcibly enable Crossfire on unsupported systems with something under the minimum 4x link per card. Laptops (that are concerned about eGPUs) don't have Crossfire support and certainly don't have 8x worth of spare PCIe lanes to give 4x link per card. After nearly pulling my hair out fiddling with driver installs (Ubuntu + me + driver installs = bad day), I got the correct fglrx drivers installed and actually working. I then followed the steps @sskillz used here: http://forum.techinferno.com/diy-e-gpu-projects/5622-%5Bblog%5D-crossfire-testing.html#post80974 NOTE: you must use 'aticonfig' using 'amdconfig' might get the Crossfire option to show up in Catalyst Control Center (CCC), but it will drop Cfire upon reboot. Using 'aticonfig' will (after much fiddling) persist between reboots. I had the same issue as @sskillz with Unigine Heaven crashing when running in windowed mode. So tests are run by selecting 'Basic' (to change to those presets), the selecting 'Custom' and then 'Full Screen' option so it runs fullscreen. Same for the 'Extreme' preset. Single card (R9 280X) performance: Basic: Extreme: Here are some random terminal pictures and whatnot. This will also show that some commands will show Crossfire enabled while others do not. Also that CCC shows no Cfire while it may be enabled. Honestly, no idea what is exactly going on here - much hair pulling probably. Crossfire results (what you are actually curious about ;D ): Basic: Extreme: As you can see, there is a significant enough gain in the basic preset to show that the Crossfire is working. The performance gain in the extreme preset is pretty lackluster. This might be due to the PCIe 1.0 based link on the cards (2.5GB/s instead of 5GB/s a Gen2 port would provide). I cannot get the ports to run at a Gen2 port since I cannot chainload without blackscreening and many issues from going to Setup 1.x -> Ubuntu. Ubuntu seemed to have installed itself in an odd fashion (becomes a boot device separate from the drive). ---- Crossfire, it can work via eGPU (in Ubuntu for now), but as for my opinion on the matter. You might as well instead of buying two cards+adapters, buy one very nice card and a single adapter. They performance (and setup) would be much better. So, all-in-all, it is doable. Certainly not worth it. -- If you are hardware manufacturer for eGPU components, contact me if you attempt to make a SLI/Crossfire unit. I would be very interested and glad to test (if possible). 2 Link to comment Share on other sites More sharing options...
sskillz Posted February 12, 2014 Share Posted February 12, 2014 CROSSFIRE IS WORKING ON WINDOWS!What a night. my first psu (old 400W) has blown/burned in the past weak and I replaced it with a 730W one, and this last one when I was just a hour ago while I was testing my new 290x with the laptop.Since I planned on buying a second PSU to replace the 400W that has just blown, I've said I'll put the two 6950 in the desktop PC with this new PSU I bought two days ago to replace the first and I said I'll try mining a little. Booted windows and so the second GPU can't be used to mine as its locked to low clocks and shows disabled incatalyst. Found some thread with the same problem and they said it's because I don't have dummy plug on one of the cards and op saying catalyst 13.4 legacy worksanyways (without the dummy plug). I've installed it and it asked me about crossfire! I answered yes/next and it said a crossfire bridge isn't connected, connected itand voilla! crossfire!TL ,DR: crossfire HD6950 on two 1x links works on catalyst 13.4 legacy (64bit)AMD Radeon HD 6950 video card benchmark result - AMD Phenom II X4 20,Gigabyte Technology Co., Ltd. GA-MA770T-UD3PNow there is something to compare to, for example to see what have changed in catalyst code to see if it can be enabled!BF4 dx11 ultra, test range:two x1 PCI-E 2.0 HD6950 crossfire disabled: 24fpstwo x1 PCI-E 2.0 HD6950 crossfire enabled: 37fpsone x1 PCI-E 2.0 290x: 90fpsBF3 ultra, empty caspian border server, (this one seems to be much more affected by pci bandwidth, for example with x1.2 290x I get 45-70fps where it should be much higher):two x1 PCI-E 2.0 HD6950 crossfire disabled: 25-27fpstwo x1 PCI-E 2.0 HD6950 crossfire enabled: 45-60fps feels there is some microshuttering (I'm not sure, never had crossfire, 45 feels like 30-40, I think)one x1 PCI-E 2.0 290x: 45-70fps (lots of trees, or particle effects, like in caspian border makes it drop to 45, felt a bit smoother than 45 with crossfire) Crysis 3 high textures, high detail, welcome to the jungle mission, jungle entrance (staircase):(People say its PCI bandwidth limited, haven't confirmed it myself yet)two x1 PCI-E 2.0 HD6950 crossfire disabled: 13-14fps two x1 PCI-E 2.0 HD6950 crossfire enabled: 25-26fpsone x1 PCI-E 2.0 290x: N/A, Didn't test yetKeep in mind this(not the 290x) is a legacy driver (which is even for 5000 or older series) but scaling is definitely there! 4 Link to comment Share on other sites More sharing options...
Moderator angerthosenear Posted February 12, 2014 Author Moderator Share Posted February 12, 2014 CROSSFIRE IS WORKING ON WINDOWS!What a night. my first psu (old 400W) has blown/burned in the past weak and I replaced it with a 730W one, and this last one when I was just a hour ago while I was testing my new 290x with the laptop.Since I planned on buying a second PSU to replace the 400W that has just blown, I've said I'll put the two 6950 in the desktop PC with this new PSU I bought two days ago to replace the first and I said I'll try mining a little. Booted windows and so the second GPU can't be used to mine as its locked to low clocks and shows disabled incatalyst. Found some thread with the same problem and they said it's because I don't have dummy plug on one of the cards and op saying catalyst 13.4 legacy worksanyways (without the dummy plug). I've installed it and it asked me about crossfire! I answered yes/next and it said a crossfire bridge isn't connected, connected itand voilla! crossfire!TL ,DR: crossfire HD6950 on two 1x links works on catalyst 13.4 legacy (64bit)AMD Radeon HD 6950 video card benchmark result - AMD Phenom II X4 20,Gigabyte Technology Co., Ltd. GA-MA770T-UD3PNow there is something to compare to, for example to see what have changed in catalyst code to see if it can be enabled!WOOOIf we can get it working with more modern drivers, I might be able to scrounge together my friend's parts and boss's laptop again to test once more.Good job @sskillz ! Link to comment Share on other sites More sharing options...
Recommended Posts