HW accel Framebuffer without Desktop (fbset -i) AGX (Xavier and Orion)

Hello everyone

I have Xavier AGX and Orion AGX devices both 32GB. I am trying to develop a full-screen app running in multiuser mode (level 3) by disabling the desktop

$ sudo systemctl set-default multi-user
$ sudo reboot

I intend to develop two applications

  1. The first will display camera frames with various imposed drawings in the captured frame. So it will be a 2D
  2. The second one after I am done with the above will be a 3D app (collision detection/physics)

My development hardware is Xavier AGX 32G JP5.1.2, and Orion AGX 32 JP 6. I just installed JP6. In a few days, I also intend to reinstall JP6 on Xavier as well.

For the first case above, I am looking at /dev/fb0. After installing fbset

$ sudo apt install fbset

Here is the output from both units

Xavier AGX (JP 5.1.2)

mode "1920x1080-60"
    # D: 148.500 MHz, H: 67.500 kHz, V: 60.000 Hz
    geometry 1920 1080 1920 1080 32
    timings 6734 148 88 36 4 44 5
    hsync high
    vsync high
    nonstd 2097123232
    accel true
    grayscale true
    rgba 8/16,8/8,8/0,8/24
endmode

Frame buffer device information:
    Name        : tegra_fb
    Address     : 0xf0000000
    Size        : 265420800
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 1
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 7680
    Accelerator : No

Orion AGX (JP6)

mode "1920x1080"
    geometry 1920 1080 1920 1080 32
    timings 0 0 0 0 0 0 0
    rgba 8/16,8/8,8/0,0/0
endmode

Frame buffer device information:
    Name        : simple
    Address     : 0x839e00000
    Size        : 8847360
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 0
    YPanStep    : 0
    YWrapStep   : 0
    LineLength  : 8192
    Accelerator : No

First I noticed is a difference in frame buffer size and device used.
Xavier is set to

    Name        : tegra_fb
   Address     : 0xf0000000
    Size            : 265420800

Where Orion AGX is

    Name        : simple
    Address     : 0x839e00000
    Size           : 8847360

How do you change Otion AGX to tegra_fb from simple and framebuffer size allocation?
Xavier AGX also has hardware accel true and grayscale?

    accel true.
    grayscale true

Orion AGX timings are all zeros?

timings 0 0 0 0 0 0 0

For the first application, I am considering using glfw, SDL2, or Qt.
I already have a test app in glfw/GL to load images from files and display them as a texture (the final intention is to stream frames from a camera with some post-processing).

What are my other options for a 2D hardware accelerated, running in level 3 without a desktop? Any suggestions and samples?

For the second application, any suggestions and thoughts about 3D rendering? device? lib/api? simple sample?

Cheers

Hi,
Xavier series are not supported on Jetpack 6. Please use 5.1.3 or 4.6.4 for Xavier.

And we have light rootfs in

Root File System — NVIDIA Jetson Linux Developer Guide 1 documentation

You may try and develop your use-case based on either one. For rendering, we suggest check our implementation in jetson_multimedia_api. Please refer to the samples:

/usr/src/jetson_multimedia_api

The renderers:

/usr/src/jetson_multimedia_api/samples/common/classes/NvEglRenderer.cpp
/usr/src/jetson_multimedia_api/samples/common/classes/NvVulkanRenderer.cpp
/usr/src/jetson_multimedia_api/samples/common/classes/NvDrmRenderer.cpp

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.