balena-os / balena-jetson

https://www.balena.io/os/
Apache License 2.0
44 stars 23 forks source link

No screens found on Jetson Orin AGX 64GB #683

Open birdcolour opened 8 months ago

birdcolour commented 8 months ago

I'm following the blogpost here to try and get balenaOS (5.1.45+rev2) up and running on a Jetson Orin AGX 64GB devkit, using the setup for the older 32GB model. I've got as far as getting the CUDA sample container built and running, and it seems that the GPU is detected and working as far as CUDA is concerned:

root@4903c15:/usr/local/cuda-11.4/samples/bin/aarch64/linux/release# ./deviceQuery 
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

Detected 1 CUDA Capable device(s)

Device 0: "Orin"
  CUDA Driver Version / Runtime Version          11.4 / 11.4
  CUDA Capability Major/Minor version number:    8.7
  Total amount of global memory:                 62803 MBytes (65853489152 bytes)
  (008) Multiprocessors, (128) CUDA Cores/MP:    1024 CUDA Cores
  GPU Max Clock rate:                            1300 MHz (1.30 GHz)
  Memory Clock rate:                             1300 Mhz
  Memory Bus Width:                              128-bit
  L2 Cache Size:                                 4194304 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)
  Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total shared memory per multiprocessor:        167936 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  1536
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 2 copy engine(s)
  Run time limit on kernels:                     No
  Integrated GPU sharing Host Memory:            Yes
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device supports Managed Memory:                Yes
  Device supports Compute Preemption:            Yes
  Supports Cooperative Kernel Launch:            Yes
  Supports MultiDevice Co-op Kernel Launch:      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 0 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 11.4, CUDA Runtime Version = 11.4, NumDevs = 1
Result = PASS

But I'm not having any luck trying to get the displayport output running:

root@4903c15:/usr/local/cuda-11.4/samples/bin/aarch64/linux/release# X &
[1] 2160
root@4903c15:/usr/local/cuda-11.4/samples/bin/aarch64/linux/release# 
X.Org X Server 1.20.13
X Protocol Version 11, Revision 0
Build Operating System: linux Ubuntu
Current Operating System: Linux 4903c15 5.10.120-l4t-r35.4.ga #1 SMP PREEMPT Fri Aug 4 11:16:53 UTC 2023 aarch64
Kernel command line: firmware_class.path=/etc/firmware fbcon=map:0   console=null quiet splash vt.global_cursor_default=0 consoleblank=0 l4tver=35.4.1  sdhci_tegra.en_boot_part_access=1 rootwait root=LABEL=resin-rootA 
Build Date: 29 January 2024  12:44:21PM
xorg-server 2:1.20.13-1ubuntu1~20.04.15 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.38.4
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar  8 15:14:24 2024
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) 
Fatal server error:
(EE) no screens found(EE) 
(EE) 
Please consult the The X.Org Foundation support 
         at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.

Any ideas? We are looking to onboard our devices to balena, but not being able to connect to a screen is a bit of a show-stopper for our particular use case.

acostach commented 4 months ago

Hi @birdcolour , right now we don't support the AGX Orin 64 but plan to add support for it very soon. If you are experimenting with the AGX Orin 32GB image on the 64GB device (please note that this setup shouldn't be used in production), can you please try the latest OS release along with https://github.com/balena-io-examples/jetson-examples/tree/master/jetson-agx-orin-devkit ?