Getting it to work with ubuntu laptop

Hi, I realize that I’ll probably get little to no help with my issue, but there’s still a little hope.
My laptop fully supports usb-c alt mode and I have DisplayLink Linux Software, version 5.4.1-55.174 installed (latest as of today).
When I connect my other AR glasses ( Moverio BT-40 Smart Glasses) they work fine as secondary monitor, but nreal glasses do not. When I run xrandr I get mode option for Moverio (DP-1), but no mode option for nreal (DP-3). It is correctly detected as connected, but it doesn’t receive modes configurations. If I try adding my custom mode, it would fail anyway. Connecting nreal to phone or pixel slate works as expected, so glasses are fine. I don’t have much experience with monitors or AR glasses yet, but it seems to me that it simply missing some protocols in firmware to support plug and play display with laptops. Any chance your are planning adding support for it? Or maybe you have some other solutions? Any help is greatly appreciated.

Here’s snipped of output of xrandr:

DP-1 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  59.94  
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
1 Like

I still hope that nreal devs read this.
I’ve done some more digging and I found that nreal glasses missing CTA-861 extension in EDID. I was able to get it to work through my usb-c hub that has HDMI output and then I have a converter from HDMI to usb-c. This is dumb solution for now and I would like to make it work directly. I decoded EDID for Epson glasses, nreal grasses and nreal glasses through HDMI. I noticed that direct nreal glasses missing that extension, while other two have it. I wonder if that’s the problem. From what I found online so far it seems that it’s something you need to push through firmware update. Here are EDID otputs:

--------------------------------------------------------------------------------------------------------- epson


00 ff ff ff ff ff ff 00 4c a3 04 d0 01 00 00 00 
14 1e 01 04 a5 59 32 78 02 b2 d4 a4 57 3a ad 22 
1b 4f 52 00 00 00 01 01 01 01 01 01 01 01 01 01 
01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c 
45 00 20 c2 31 00 00 1e 00 00 00 fd 00 17 55 0f 
5c 11 00 0a 20 20 20 20 20 20 00 00 00 fc 00 45 
50 53 4f 4e 20 48 4d 44 0a 20 20 20 00 00 00 10 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 83 

02 03 06 81 41 90 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a3 

----------------

EDID version: 1.4
Manufacturer: SEC Model 53252 Serial Number 1
Made in week 20 of 2020
Digital display
8 bits per primary color channel
DisplayPort interface
Maximum image size: 89 cm x 50 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
First detailed timing includes the native pixel format and preferred refresh rate
Color Characteristics
  Red:   0.6425, 0.3427
  Green: 0.2265, 0.6777
  Blue:  0.1357, 0.1064
  White: 0.3095, 0.3203
Established Timings I & II: none
Standard Timings: none
Detailed mode: Clock 148.500 MHz, 800 mm x 450 mm
               1920 2008 2052 2200 ( 88  44 148)
               1080 1084 1089 1125 (  4   5  36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Display Range Limits
  Monitor ranges (GTF): 23-85 Hz V, 15-92 kHz H, max dotclock 170 MHz
Display Product Name: EPSON HMD
Dummy Descriptor
Has 1 extension block
Checksum: 0x83

----------------

CTA-861 Extension Block Revision 3
Underscans PC formats by default
1 native detailed modes
2 bytes of CTA data blocks
  Video Data Block
     1920x1080   60.000 Hz  16:9    67.500 kHz 148.500 MHz (VIC  16, native)
Checksum: 0xa3


--------------------------------------------------------------------------------------------------------- nreal

00 ff ff ff ff ff ff 00 3a 4c 32 31 00 88 88 88 
20 1c 01 03 80 0c 07 78 0a 0d c9 a0 57 47 98 27 
12 48 4c 00 00 00 01 01 01 01 01 01 01 01 01 01 
01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c 
45 00 80 38 74 00 00 1e 02 3a 80 18 71 38 2d 40 
58 2c 45 00 80 38 74 00 00 1e 00 00 00 fd 00 1e 
4b 32 5a 10 00 0a 20 20 20 20 20 20 00 00 00 fc 
00 6e 72 65 61 6c 20 6c 69 67 68 74 0a 20 00 71 

----------------

EDID version: 1.3
Manufacturer: NRL Model 12594 Serial Number 2290649088
Made in week 32 of 2018
Digital display
Maximum image size: 12 cm x 7 cm
Gamma: 2.20
RGB color display
First detailed timing is preferred timing
Color Characteristics
  Red:   0.6250, 0.3398
  Green: 0.2802, 0.5947
  Blue:  0.1552, 0.0703
  White: 0.2832, 0.2978
Established Timings I & II: none
Standard Timings: none
Detailed mode: Clock 148.500 MHz, 1920 mm x 1080 mm
               1920 2008 2052 2200 ( 88  44 148)
               1080 1084 1089 1125 (  4   5  36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Detailed mode: Clock 148.500 MHz, 1920 mm x 1080 mm
               1920 2008 2052 2200 ( 88  44 148)
               1080 1084 1089 1125 (  4   5  36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Display Range Limits
  Monitor ranges (GTF): 30-75 Hz V, 50-90 kHz H, max dotclock 160 MHz
Display Product Name: nreal light
Checksum: 0x71


--------------------------------------------------------------------------------------------------------- HDMI nreal


00 ff ff ff ff ff ff 00 3a 4c 32 31 00 88 88 88 
20 1c 01 03 80 0c 07 78 0a 0d c9 a0 57 47 98 27 
12 48 4c 00 00 00 01 01 01 01 01 01 01 01 01 01 
01 01 01 01 01 01 02 3a 80 18 71 38 2d 40 58 2c 
45 00 80 38 74 00 00 1e 02 3a 80 18 71 38 2d 40 
58 2c 45 00 80 38 74 00 00 1e 00 00 00 fd 00 1e 
4b 32 5a 10 00 0a 20 20 20 20 20 20 00 00 00 fc 
00 6e 72 65 61 6c 20 6c 69 67 68 74 0a 20 01 70 

02 03 1a c1 45 84 13 03 02 01 23 09 07 07 83 01 
00 00 67 03 0c 00 10 00 00 1e 02 3a 80 18 71 38 
2d 40 58 2c 45 00 80 38 74 00 00 1e 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 df 

----------------

EDID version: 1.3
Manufacturer: NRL Model 12594 Serial Number 2290649088
Made in week 32 of 2018
Digital display
Maximum image size: 12 cm x 7 cm
Gamma: 2.20
RGB color display
First detailed timing is preferred timing
Color Characteristics
  Red:   0.6250, 0.3398
  Green: 0.2802, 0.5947
  Blue:  0.1552, 0.0703
  White: 0.2832, 0.2978
Established Timings I & II: none
Standard Timings: none
Detailed mode: Clock 148.500 MHz, 1920 mm x 1080 mm
               1920 2008 2052 2200 ( 88  44 148)
               1080 1084 1089 1125 (  4   5  36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Detailed mode: Clock 148.500 MHz, 1920 mm x 1080 mm
               1920 2008 2052 2200 ( 88  44 148)
               1080 1084 1089 1125 (  4   5  36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Display Range Limits
  Monitor ranges (GTF): 30-75 Hz V, 50-90 kHz H, max dotclock 160 MHz
Display Product Name: nreal light
Has 1 extension block
Checksum: 0x70

----------------

CTA-861 Extension Block Revision 3
Underscans PC formats by default
Basic audio support
1 native detailed modes
22 bytes of CTA data blocks
  Video Data Block
     1280x720    60.000 Hz  16:9    45.000 kHz  74.250 MHz (VIC   4, native)
     1280x720    50.000 Hz  16:9    37.500 kHz  74.250 MHz (VIC  19)
      720x480    59.940 Hz  16:9    31.469 kHz  27.000 MHz (VIC   3)
      720x480    59.940 Hz   4:3    31.469 kHz  27.000 MHz (VIC   2)
      640x480    59.940 Hz   4:3    31.469 kHz  25.175 MHz (VIC   1)
  Audio Data Block
    Linear PCM, max channels 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block
    Speaker map:
      FL/FR - Front Left/Right
  Vendor-Specific Data Block, OUI 0x000c03 (HDMI)
    Source physical address 1.0.0.0
    Maximum TMDS clock: 150 MHz
Detailed mode: Clock 148.500 MHz, 1920 mm x 1080 mm
               1920 2008 2052 2200 ( 88  44 148)
               1080 1084 1089 1125 (  4   5  36)
               +hsync +vsync
               VertFreq: 60.000 Hz, HorFreq: 67.500 kHz
Checksum: 0xdf

Please consider releasing this update, don’t limit your product to just mobile phones. There’s a much bigger market with PCs. The biggest issues with the phone are battery limitation and computing power, while connecting to PC you get unlimited power supply and much more options for developers.

1 Like

I’ve been digging a lot more. I’ve tried overwriting EDID, and that didn’t help. Turns out glasses work perfectly on Lenovo Thinkpad that runs exactly same Ubuntu version, so the issue is with some sort of compatibility maybe? What are the requirements on NReal glasses with usb-c?

So my Dell laptop where it doesn’t work has this:
Thunderbolt 4 USB Type-C port with Power Delivery
Supports USB4 Gen 3 Type-C, DisplayPort 2.0, Thunderbolt 4 and also enables you to connect to an external display using a display adapter. Provides data transfer rates of up to 20 Gbps for USB4 Gen 3 and up to 40 Gbps for Thunderbolt 4. Supports Power Delivery that enables two-way power supply between devices. Provides up to 5 V/3 A power output that enables faster charging.

As I mentioned before, port works with other AR glasses and monitors. Is there something in those specs that makes it incompatible with NReal? I need to get to the bottom of this issue.

I am on ArchLinux, here is how i managed to enable nreal air

My spec

System-manufacturer :  Dell Inc.
System-product-name :  XPS 13 9370
System-version :  Not Specified
Bios-release-date :  12/11/2019
Bios-version :  1.12.1

Commands:

$ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 290mm x 170mm
   1920x1080     60.00*+  59.93  
   1680x1050     59.88  
   1400x1050     59.98  
   1600x900      60.00    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1368x768      60.00    59.88    59.85  
   1280x800      59.81    59.91  
   1280x720      59.86    60.00    59.74  
   1024x768      60.00  
   1024x576      60.00    59.90    59.82  
   960x540       60.00    59.63    59.82  
   800x600       60.32    56.25  
   864x486       60.00    59.92    59.57  
   640x480       59.94  
   720x405       59.51    60.00    58.99  
   640x360       59.84    59.32    60.00  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 120mm x 70mm
   1920x1080     60.00*+
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

$ xrandr --output DP2 --auto
1 Like

Are you able to show different content on left/right display? I think it might related to 3D support in DP protocol.