Repository navigation
Install Driver On Raspberry Pi 2
General information for Pi:
- Install Windows 10 IoT Core on Raspberry Pi
- Windbg setup (Kernel Debugger)
- Using SSH to operate PI remotely
-
Build the driver and demos
-
Copy
roskmd.sys,rosumd.dll, andros.inffromrender-only-sample\ARM\Debugtoc:\dataon device -
Copy
DolphinUniversal_1.0.0.0_ARM_Debug.appxandDolphinUniversal_1.0.0.0_ARM_Debug.cerfromrender-only-sample\demos\AppPackages\DolphinUniversal\DolphinUniversal_<version>\toc:\dataon device -
Copy
Microsoft.VCLibs.ARM.Debug.14.00.appxfromrender-only-sample\demos\AppPackages\DolphinUniversal\DolphinUniversal_<version>\Dependencies\ARM\to c:\data on device -
Unzip
render-only-sample\scripts\Firmware.ziptoc:\efiespon the device, replacing the existing files. -
Copy
iotshellext.dllandiotshellext.dllfromrender-only-sample\scriptstoc:\dataon the device. -
SSH into device and run
cd \data reg.exe add HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Scheduler /v EnablePreemption /t REG_DWORD /d 0 reg.exe add HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers /v TdrDebugMode /t REG_DWORD /d 1 reg add HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\MemoryManager /v DirectFlipMemoryRequirement /t REG_DWORD /d 0 Devcon dp_add ros.inf CertMgr.exe /add DolphinUniversal_1.0.0.0_ARM_Debug.cer /r localMachine /s root mindeployappx /Add /PackagePath:DolphinUniversal_1.0.0.0_ARM_Debug.appx /DependencyPackagePaths:Microsoft.VCLibs.ARM.Debug.14.00.appx iotstartup add headed 08cf3077-2a0c-4939-adab-9a8ef519b297_5nhc2nv1kqb5j!App -
If you are running build 10586 (aka. TH2), run
sfpcopy iotshellext.dll c:\windows\system32\iotshellext.dllIf you are running build 14269 (aka. RS1) or later, run
sfpcopy iotshell.exe c:\windows\system32\iotshell.exe
Reboot the machine: shutdown /r /t 0
Tip: You can copy files from your PC to your Pi over the network using SMB.
net use \\[device_name/IP_address] /user:[device_name/IP_address]\Administrator
password: p@ssw0rd
explorer \\[device_name/IP_address]\c$\data
For example,
net use \\192.168.1.100 /user:\\192.168.1.100\Administrator
explorer \\192.168.1.100\c$\data
By default, the driver is configured as a full display driver. To configure it in render-only mode, add the following registry keys and reboot
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RenderOnlySample /v RenderOnly /t REG_DWORD /d 1
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers /v DisableAutoAcpiPostDeivce /t REG_DWORD /d 1
reg add HKLM\SOFTWARE\Microsoft\XAML /v ForceWARP /t REG_DWORD /d 1
If a failure in the driver is preventing the system from booting fully, you can use the following debugger commands to prevent the driver from loading. The system will then fall back to WARP and boot fully.
-
Set a breakpoint on load of roskmd.sys
sxe ld:roskmd.sys -
When the debugger breaks in at load of roskmd.sys, set the flag that tells roskmd to fail
DriverEntry(), and continue:ed roskmd!RosKmdGlobal::s_bDoNotInstall 1 g
Follow the instructions above to prevent roskmd from loading, then run
devcon dp_delete oemN.inf
where oemN.inf is the name that Windows assigned the driver when you installed it. If ROS is the only driver you installed, it will be called oem0.inf. To see a list of all 3rd party driver packages on the system, run
devcon dp_enum