Is anyone out there successfully driving a DK2 from a Jetson? If so, would you mind sharing how?
We have a DK1 working fine with the Jetson, using our own home-grown telemetry/sensor fusion code which uses libusb to get the head tracking data.
when we switch to the DK2, we get no HDMI output to the DK2, just a black screen and an apparent DK2 error code of alternating orange - blue led blink, with every 6th orange light a few milliseconds longer than the others.
The DK2 works fine with a desktop ubuntu system, and also with windows. We extracted the EDID info on that working system, built a binary EDID, tried to point to it in xorg.conf, but no joy. We also tried cvt/xrandr to set the parameters but again no luck.
The windows side information (from moninfo.exe) is:
[Version]
Signature=“$WINDOWS NT$”
Class=Monitor
ClassGUID={4d36e96e-e325-11ce-bfc1-08002be10318}
Provider=%MFG%
DriverVer=02/10/2014, 1.0.0.0
;CatalogFile=YourSignedCatalogFile.cat
[DestinationDirs]
DefaultDestDir=23
[SourceDisksNames]
1=%DISC%
[SourceDisksFiles]
;YourColorProfileFile.icm
[Manufacturer]
%VENDOR%=EDID_OVERRIDE,NTx86,NTamd64
[EDID_OVERRIDE.NTx86]
%PRODUCTID%=OVERRIDDEN-EDID.Install, MONITOR\OVR0003
[EDID_OVERRIDE.NTamd64]
%PRODUCTID%=OVERRIDDEN-EDID.Install.NTamd64, MONITOR\OVR0003
[OVERRIDDEN-EDID.Install.NTx86]
DelReg=DEL_CURRENT_REG
AddReg=OVERRIDDEN-EDID.AddReg, MODE1, DPMS
CopyFiles=OVERRIDDEN-EDID.CopyFiles
[OVERRIDDEN-EDID.Install.NTamd64]
DelReg=DEL_CURRENT_REG
AddReg=OVERRIDDEN-EDID.AddReg, MODE1, DPMS
CopyFiles=OVERRIDDEN-EDID.CopyFiles
[OVERRIDDEN-EDID.Install.NTx86.HW]
AddReg=OVERRIDDEN-EDID_AddReg
[OVERRIDDEN-EDID.Install.NTamd64.HW]
AddReg=OVERRIDDEN-EDID_AddReg
[OVERRIDDEN-EDID_AddReg]
;Base EDID
HKR,EDID_OVERRIDE,“0”,0x01,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3E,0xD2,0x03,0x00,0x00,0x00,0x00,0x00,0x0A,0x18,0x01,0x03,0x80,0x00,0x00,0x78,0xE2,0x60,0xB1,0xAA,0x55,0x40,0xB6,0x23,0x0C,0x50,0x54,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x72,0x40,0x38,0x3A,0x40,0x80,0x0D,0x70,0x21,0x0A,0x16,0x00,0x47,0x7E,0x00,0x00,0x00,0x1A,0x00,0x00,0x00,0xFC,0x00,0x52,0x69,0x66,0x74,0x20,0x44,0x4B,0x32,0x0A,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFF,0x00,0x4D,0x53,0x43,0x45,0x34,0x37,0x52,0x36,0x4B,0x39,0x44,0x41,0x4B,0x00,0x00,0x00,0xFD,0x00,0x38,0x4D,0x1E,0x96,0x11,0x00,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x01,0x0D
[DEL_CURRENT_REG]
HKR,MODES
HKR,EDID_OVERRIDE
HKR,MaxResolution
HKR,PreferredMode
HKR,DPMS
HKR,ICMProfile
[DPMS]
HKR,DPMS,1
HKR,PreferredMode,“1080,1920,75”
[MODE1]
HKR,MaxResolution,“1080,1920,75”
[OVERRIDDEN-EDID.AddReg]
HKR,“MODES\1080,1920,75”,Mode1,“30.0-150.0,56.0-77.0,+,+”
[OVERRIDDEN-EDID.CopyFiles]
;YourColorProfileFile.icm for non-sRGB displays
[Strings]
MFG=“EnTech Taiwan”
DISC=“Monitor EDID Override Installation Disk”
PRODUCTID=“OVR Rift DK2 (OVR0003 EDID Override)”
VENDOR=“OVR”
We used the ASCII edid to create a binary EDID file, then changed /etc/X11/xorg.conf.jetson-tk1 to
point at it:
Section “Module”
Disable “dri”
SubSection “extmod”
Option “omit xfree86-dga”
EndSubSection
EndSection
Section “Device”
Identifier “Tegra0”
Driver “nvidia”
EndSection
Section “Screen”
Option “CustomEDID” “DSI-0:/etc/X11/dk2EDID.bin”
EndSection
Section “Monitor”
Identifier “DSI-0”
Option “Ignore”
EndSection
On the ubuntu system where the dk2 works we tried get-edid | parse-edid, but it barfs on the edid extension block reported by the dk2.
The xrandr attempt was:
cvt 1080 1920 75
which returns:
1080x1920 74.98 Hz (CVT) hsync: 150.40 kHz; pclk: 225.00 MHz
Modeline “1080x1920_75.00” 225.00 1080 1176 1288 1496 1920 1923 1933 2006 -hsync +vsync
then
xrandr --newmode “1080x1920_75.00” 225.00 1080 1176 1288 1496 1920 1923 1933 2006 -hsync +vsync
xrandr --addmode DSI-0 “1080x1920_75.00”
after this, xrandr -q shows:
default connected 1920x1200+0+0 0mm x 0mm
1920x1200 60.0*
1920x1080_75.00 74.9
1080x1920_75.00 (0x50) 225.0MHz
h: width 1080 start 1176 end 1288 total 1496 skew 0 clock 150.4KHz
v: height 1920 start 1923 end 1933 total 2006 clock 75.0Hz
not sure where the “default” comes from, and why it’s not DSI-0 as in the xorg.conf file
anyway, if you’re here, thanks for reading and any insights would be appreciated
rick