 | .DIY ViDock Experiences |
NEWS! Added Getting Started section for quick need-to-know info.
NEWS! x2 1.0 link AND 4GB Win7/64 setup successfully. See
Acer 9525 below [being updated].
NEWS! >2.5GB works in Win7. Affected systems require
PCI reallocation.
NEWS! x2 1.0 PE4H implemented!! Using x1 expresscard + x1 mPCIe on an ICH7M Acer 9525 (T7200+nvGT240).
NEWS! HD5830 expected mid-late Feb.
Nvidia 40nm Fermi GT4xxx expected after March, see guru3d's
hands on.
Introduction - The
Let's figure out how to make a DIY ViDock thread has produced a
PE4L and a x2 capable
PE4H product, both providing a pci-e slot capable of hosting RAID, soundcards or video cards. This thread is dedicated to users sharing their setup and performance details when installing
external desktop video cards into these products. So suggest practical stuff here, misc discussion in the 100+ pg
Let's figure out how to make a DIY ViDock thread.
1: The
US$55 PE4L+EC2C (expressport) or US$55 PE4L+PM3N (mPCIe) products
2: HP Pavilion DV2000: gaming on a HD4670 via the expresscard x1 1.0 slot using a PE4L.
3: HP Pavilion DV2000: bootup mode redirects BIOS to the HD4670 [1.5GB, before I put in the 2GB module]
4: HP 2510P: Win7 dual-display. 1=X3100, 2=HD4670-external Desktop video card
5: HP 2510P: HP's mPCIe whitelisting requires swapping in wifi then PM3N after every reboot [workaround found]
NOTE: DV2000 can use either the mPCIe or expressport product. Expressport is more convenient and never whitelisted.
Advantages over onboard graphics- See 10 times or more increase in performance.
- External desktop video card can provide additional HDMI video+audio, s-video and VGA out.
- Easy, on-demand attachment without a reboot if running Win7
- Can be reused after a system upgrade or extended. eg: expresscard 2.0 systems or faster video cards.
- If connected to an expresscard slot, provides an additional external USB port.
Disadvantages over onboard graphics- Require an external LCD/TV to connect to and 12V PSU to drive the desktop video card
- More likely than not requires a USB driven boot process to allocate pci resources prior to OS boot
- [mPCIe] might be inconvienient to attach PM3N via underside plastic covers
- [mPCIe] forfeiting use of mPCie wifi if only have 1 slot, though can invest in usb wifi
Compatibility and Performance Matrix. Confirmed working setup. Order=highest to lowest performance.
RED - a x2 1.0 (or x1 2.0) link using either a PE4H linking expresscard+mPCIe slots or it is expresscard 2.0. All others are x1 1.0.
ORANGE - appears to have port layout to do a high-performance x2 1.0 setup, using either port1+port or port3+port4.
GREEN - video card that requires only a compact 12V/75W AC adapter for power. No external ATX PSU needed.
All tested at 1280x800 except 3dmark06 which used the default 1280x1024 and those marked *
italics - provides comparison to mobile gpu performance
^1,+PR error 12: cannot allocate resources workaround. See Getting Started: 2. What software setup do I need to make this work? below.
^2 info for PE4H's x2 mode. Some ports may not be physically connected. Eg: port1 on 2510P.
^3 requires mPCIe whitelisting workaround (whitelst.bat). Else requires PM3N to be hotplugged after-bios-sees-wifi-card.
^4 supports a hotplug-after-bios bootup mode and and bios-bootup mode. Suggest disconnect EC2C during bootup.
^5 results vary: Win7/DX10=27.4, XP/DX9=30.2, Win7/DX9=34.3 (all with HD4670's audio=off). Most other's RE5 results are Win7/DX10.
^6 could do a lane-reversed, x4 link, running in x2 mode *if* you solder on a MINI2 mPCIe socket like described here.
In my case
hwtools' US$55 PE4L was tested on a 14.1" T2050-1.6 HP Pavilion DV2000/GMA950 and a 12.1" U7600-1.2 HP 2510P/X3100 using a desktop ATI HD4670-1GB graphics card. Both worked using 32-bit versions of XP, Linux and Win7.
Note: PCI Configuration script was ran prior to OS boot otherwise these systems too receive
error 12: cannot allocate resources as shown in Villagetronics'
ViDock (In)Compatibility List.
Even at x1 1.0 link speed, the performance difference b/w X3100/GMA950 and HD4670 is staggering. U7600-1.2@1.6 3dmark06 went from 433 to 5422, RE5 went from an unplayable 3.4FPS to a very playable 30.7FPS, become an even better 34.1FPS in Win7/DX9. Even a low end CPU provides gaming ability.
If you run Win7 exclusively it is very easy to enable HD4670 graphics without a reboot. Just suspend the system, plug in the PE4L, resume, Win7 detects the HD4670 and reverts back to how you have your desktop setup (eg: HD4670 as primary or extended display). Since the 2510P has only a single mini pci-e port to get my wifi working again I suspend the system, swap back in the wifi and resume. The notebook's LCD is then the display. Easy.
___________________________________________________________________________________________________
Getting Started
1. What parts do I need?
i. The expresscard or mPCIe to pci-e adapter. See related
2. Can my system do x2 1.0.. in the Mini FAQ below.
^1 buying the PE4H means can acquire parts later to try the x2 link combining mPCIe/expresscard ports | PE4H is supplied with SWEX
ii. A video card of your choice, with a suitable power supply to drive it. The PE4L/PE4H has a 12V/75W input to supply 75W power to the slot. Any video cards with additional 6/8-pin pci-e power connectors require additional 75/125W power input. The most cost effectively way to do that is by using an ATX PSU. Could theoretically use a second or third 75W AC adapter to do it with a custom DC output jack to pci-e input power connector. Current recommendations:
- 12V/75W adapter: ATI HD5670, unplugged HD5750, Nvidia GT240. See comment about Powercolor HD5750 here.
- ATX PSU: ATI HD57xx, HD58xx, Nvidia GTXxxx.
2. What software setup do I need to make this work?
i. Video card drivers
Win7 requires WDM 1.1 or XP drivers (not Vista drivers) to support a dual-adapter configuration. Win7 WDM 1.1 driver with HD5xxx series can use
workaround to load MS driver rather than ATI's VIsta/Win7 WDM 1.0 driver.
ii. Pre-boot PCI Configuration Script
The creation of a
PCI Configuration Script is the most complex part of the setup. Many vendor's bios does not setup PCI Configuration space properly to host a external video card so requires various fixups shown in table below. This more likely than not will be required. This is a manual process until someone volunteers to write some software to do the hard work for you.
| Symptom | Requirement | Details/Solution^1 |
| error 12: cannot allocate resources | Configure underlying PCI Bridge | This is an unresolved vendor bios + Microsoft Windows as summarized from here:
Bridge Window Configuration in Windows XP and Server™ 2003
Windows XP/Server 2003 do not reconfigure the bridge windows based on the requirements of a device behind the bridge. This leads to a classic problem where a PCI device cannot be started due to lack of resources on the bridge, even though enough device resources are available to the system. For reasons such as this, a platform configuration that configures PCI devices at boot time works best for XP/Server 2003.
Solution: configure PCI bridge window to match video requirements. Eg: 2510P.bat |
| Greater than 2.5GB RAM installed | Some systems with more than 2.5GB RAM have no bios allocated free 256MB PCI window to host the desktop video card. Need to free up a 256MB window by:
Solution#1: [XP or Win7+XP_drivers ] - disable onboard graphics (easy). eg: 2510P.bat
Solution#2: [XP or Win7] - perform PCI Reallocation for dual-adapter setup (harder). |
| x1 1.0 link | [x2 link only] x2 link mode | Bios sets up ports in x1 mode by default.
Solution: set PCI Configuration for x2 link mode. Eg: x2-conf.bat. |
^1 DIY ViDock Bootdisk provides the pre-boot DOS environment to create and run your PCI Configuration script then chainload your OS.
Examples? Neither the DV2000 or the 2510P had an appropriate PCI bridge memory window defined by the bios. The DV2000 too didn't have a free 256MB window when equipped with 3GB of RAM. A PCI Script needed to be created and ran *before* XP/Win7 starts up. THis is done by booting a a USB stick, running the batch file to modify the PCI Configuration registers then using grub4dos to chainload your OS. See
DIY VIDock Bootdisk Installation Instructions which the necessary files plus example 2510P/DV2000.bat to help you make a custom automated solution. Once completed it's as simple as bootup a USB drive with autoexec.bat containing 2510P.BAT. Easy.
PCIScope Trial makes it easy to view the bridge hosting your pci-e slot containing the graphics card to see if you will need this.
For Linux and XP, PCI Config Script prompts to have the HD4670 hotplugged prior to chainloading the OS. Win7 still needs the script to define the PCI Bridge window but supports suspend, attach HD4670, resume.
NOTE:
This tells us the
Magma ExpressBox Full Driver corrects error 12, though didn't when I tested on my 2510P.
___________________________________________________________________________________________________
Mini FAQ
1. What are the limitations affecting performance for DIY ViDock/ViDock?
The x1 1.0 pci-e link restricts performance from normal desktop levels. PCI-E Scaling Analysis shows x16, x2 and x1 performance. Compared to x16 2.0 we can summarize that there is 50% performance loss at x1 1.0 and 20% performance loss at x2 1.0 link speeds. Or x2 1.0 is 60% faster than x1 1.0.
ViDock and hwtools PE4L are using the same x1 expressport/mini pci-e pins so we will get exactly the same performance using either solution. There is nothing that Villagetronic can do to enhance this performance except: | | RE5 Config | Resolution | FPS | U7600-1.2@1.6 HD4670-1GB x1 1.0 W7/DX9 | 1280x800 | 34.3 | | 1440x900 | 31.3 | | 1680x1050 | 25.3 | | 1920x1080 | 23.1 |
|
Performance Scaling with resolution |
- petition ATI/Nvidia for reduced pci-e bandwidth. ATI have already done a bit of work there.
- tweak the drivers . Realistically only giving < 10% better performance if can be tweaked.
- wait for expressport 2.0 which will provide a x1 2.0 link by doubling the transmission clock rate
- Link two x1 expressport and/or mini pci-e ports to get x2 performance, like hwtools' PE4H does.
- If system supports it, overclock the pci-e bus using setfsb. Eg: 100->105 yields a 3.3% RE5 FPS increase.
- minimise pci-e traffic by disabling hypermemory/turbomemory and video card's HDMI soundcard.
2. Can my system use PE4H's x2 1.0 link for superior performance shown in PCI-E Scaling Analysis?
According to
ICH8M/
ICH9M datasheet, some combinations of port1-port4 can provide a x2 or x4 link.
hwtools' PE4H shown here has made provision to allow compatible 2xmini pci-e ports, or mini pci-e port and expressport to be combined to form a x2 port. Though datasheet extract above suggests this would need mPCIe(s)+expressport(s) to be linked as either:- port1+port2 (in x2 mode)
- port3+port4 (x4 mode, lanes reversed so works as x2)
- not possible: port1+port3, port1+port4, port2+port4
|  2510P's port |  DV2000's port |
The best way to do this is to insert a expresscard e-sata card and see what port it reports as being on, then checking too the wifi card. If have multiple mPCIe slots, worth swapping the wifi aiming for a port1+port2 or port3+port4 setup. We'll find out soon enough what can do x2 mode once users report experiences with PE4H. Could consider too using
>Accessing BGA pins<- to find nearby vias and wire them up manually if missing ports.
3. Can I make this use my notebooks LCD display?
No. The notebook's LCD display uses a LVDS input on your systemboard with no external jack to connect to it. The desktop video card outputs HDMI/S-Video. To try to "clone" the output from the desktop video card via a USB frame grabber is technically feasible, but consider say 1280x800x32-bit = 4MB per image. If gaming at 30FPS that's 120MB/s bandwidth required. USB 2.0 is 480Mbps (60MB/s in *best case* scenario.. more like 30MB/s in real-life). Even if ATI wrote drivers to grab the image and send it to the internal graphics LCD, the bandwidth yet again would be 120MB/s. A 1x 1.0 link is 2.5Mbps (250MB/s), so there would be half your bandwidth gone plus there would be some CPU loading to do such processing. If you are a hardcore modder could consider modding your systemboard to adapt some sort of switch, a HDMI->LVDS converter and then pipe the desktop's video out to the notebooks LCD. Though the investment in time and money would be better spent jumping on the
Let's figure out how to convert internal MXM connector an external PCI-E x16 box thread.
4. How does DIY ViDock differ to the official Villagetronic ViDock?
The official ViDock 2 is in essence a PE4L packaged together in nice chassis with a PSU. DIY ViDock's flexibility makes it imho an overall better solution over ViDock 2. Consider DIY solution:
- x2 pci-e link capable: giving a massive performance injection shown here, doubled in bandwidth again when expressport 2.0 is released
- costs less: US$55 PE4L versus US$200 for the ViDock blank. There's enough info in the Let's figure out how to make a DIY ViDock thread to make the wiring interconnect for <$20US if you have more time than $$.
- can add PSU: to match your video card.
- unrestricted video card sizes: Not limited by chassis package dimensions.
- mini-pci-e AND expressport systems are supported: ViDock only caters to expressport community.
- a NBR/global creation:came from a global community to serve a global community

5. What cable connects PE4L/PE4H to EC2C/PM3N?
It's a mini_hdmi to mini_hdmi cable. Cheapest replacement being DX's 1.5m $US5.61-delivered cable, confirmed to work here.
6. [mPCIe] How can I make it easier to connect the PM3N?
Could consider a cutout hole on the bottom plastic cover to provide an access point if you otherwise need to remove covers to get to it. OR could permanently attach PM3N internally, threading through a flat mini HDMI cable to provide an external HDMI point, though want it to be say only 1ft rather than the 7ft available for purchase. The bulb on the cable can be dremelled to sit more flush. |  |
7. Can I avoid the use of the USB or floppy to run the PCI Config scripts?
Yes. Can add entries against your OS boot if using grub2 1.94b3 or newer bootloader to do setpci/memory writes, bypassing the need to use the DOS setpci/pt to do it. See
here for more details.
8. I'm using an ATX power supply without a motherboard to power my graphics card. How do I switch it on?
PE4L users see answer
here. PE4H is now shipped with a small circuitboard to do this switching (SWEX).
9. What recommended candidate notebooks should I buy for high performance?
An IGP based system with an expresscard 2.0 interface (to be released 2010) or a system with ICH7M or newer chipset, with port1+port2 or port3+port4 as the expressport and mPCIe port so can do a x2 1.0 link.
Viva La Revolution, especially for ultraportable gaming
_____________________________________________________________________________________________
Note about the DV2000's Phoenix Bios
Unique to the DV2000 (Phoenix Bios): In bios-bootup mode the bios screen and all subsequent video is sent to the HD4670. In bios-bootup mode must disable PNP and ACPI for OS bootup otherwise Linux/XP hang during splash screen. For Linux that means kernel parameter 'acpi=off noapic'. For XP it means changing the System type from "ACPI" to "Standard PC" (or ensure correct files in system32 directory and add another entry to boot.ini (or easybcd)
setting HAL, eg: /HAL=hal.dll (bootup mode) and /HAL=halmacpi.dll (hotplug mode)). For Win7, cannot use in this mode as it cannot function without ACPI.
This bios bootup mode is useful if you have a burnt out Nvidia GPUs as shown at
www.hplies.com to setup BIOS parameters. Otherwise advise DV2000 owners use hotplug mode + PCI Bridge Script for full ACPI/PNP functionality. That means I would poweroff the HD4670 during powerup (can leave the EC2C expresscard connected).