Flashing the dGPU with ARM VBIOS
Download VBIOS updating tool to your IGX Developer Kit from https://developer.nvidia.com/igx-downloads.
You need to disable the desktop when flashing ARM dGPU VBIOS.
Access the command line using the SOC’s UART via BMC. You can use IGX BMC SOL console this. Or
You may ssh into the IGX Developer Kit. In this case ensure the IGX Orin is connected via Wifi or Ethernet to your host machine (directly or via an access point or switch) and note down the assigned IP address.
From SSH or UART, close the desktop and unload the display drivers.
$ sudo systemctl isolate multi-user
$ sudo rmmod nvidia_uvm nvidia_drm nvidia_vrs_pseq nvidia_modeset nvidia_peermem nvidia
Flash the VBIOS for your GPU. There is one tool each for A6000 and RTX 6000 Ada. Choose the same one that you used for your dGPU.
$ sudo ./igx_a6000_firmware_94025C0011_update
After the update completes, the following message appears.
NVIDIA Firmware Update Utility
Summary:
GPU Status
Graphics Device Update successful
GPU firmware successfully updated.
Please restart your PC for the new firmware to take effect.
To check your VBIOS version, run the following command.
$ nvidia-smi -q | grep VBIOS
VBIOS Version : 94.02.5C.00.11
We recommend that you reinstall BaseOS with the dGPU installation after this is completed to take advantage of the dGPU. Follow the instructions in <boot-the-igx-os-iso-image>.
The default BAR1 addressable space is 256MB. To enable larger BAR1 address range, download Display Mode Selector from https://developer.nvidia.com/displaymodeselector and extract its contents on your IGX. This tool works for both A6000 and RTX 6000 Ada.
$ chmod +x linux/aarch64/displaymodeselector
$ sudo ./linux/aarch64/displaymodeselector --gpumode
NVIDIA Display Mode Selector Utility (Version 1.61.0)
Copyright (C) 2015-2021, NVIDIA Corporation. All Rights Reserved.
WARNING: This operation updates the firmware on the board and could make
the device unusable if your host system lacks the necessary support.
Are you sure you want to continue?
Press 'y' to confirm (any other key to abort):
y
Select a number:
<0> physical_display_enabled_256MB_bar1
<1> physical_display_disabled
<2> physical_display_enabled_8GB_bar1
Select a number (ESC to quit):
2
Specifed GPU Mode "physical_display_enabled_8GB_bar1"
Update GPU Mode of all adapters to "physical_display_enabled_8GB_bar1"?
Press 'y' to confirm or 'n' to choose adapters or any other key to abort:
y
Updating GPU Mode of all eligible adapters to "physical_display_enabled_8GB_bar1"
Apply GPU Mode <6> corresponds to "physical_display_enabled_8GB_bar1"
Reading EEPROM (this operation may take up to 30 seconds)
Reading EEPROM (this operation may take up to 30 seconds)
[==================================================] 100 %
Reading EEPROM (this operation may take up to 30 seconds)
Reading EEPROM (this operation may take up to 30 seconds)
Successfully updated GPU mode to "physical_display_enabled_8GB_bar1" ( Mode 6 ).
A reboot is required for the update to take effect.
To check your BAR1 settings, run the following command in dGPU mode.
$ nvidia-smi -q | grep -A 3 BAR1
BAR1 Memory Usage
Total : 8192 MiB
Used : 4 MiB
Free : 8188 MiB