Now that I can flash and boot ubuntu I don’t have any output coming out of my hdmi interface. Any pointers I can use to determine what I need to checkout in order to fix this issue.
I attached my boot log and the contents of /proc/device-tree bootlog.txt (60.3 KB)
I removed the carveout that the online documentation told me too that was setting the carveout size and alignment to 0.
contents of /proc/device-tree/display@13800000
jetson@aero-ubuntu:/proc/device-tree/display@13800000$ ls
clock-names interrupt-names nvidia,bpmp power-domains
clocks interrupts nvidia,dcb-image reg
compatible iommus nvidia,disp-sw-soc-chip-id reg-names
dsi name nvidia,num-dpaux-instance reset-names
interconnect-names non-coherent os_gpio_hotplug_a resets
interconnects nvdisplay-niso phandle status
In addition to this, I read this: " In addition to pinmux changes, the kernel display dtsi files needs to be included in the carrier board kernel DT files, which contains DCB blob update to change between DP and HDMI Refer to Orin Display Configuration." Do I need kernel display dtsi files in addition to the DCB blob I have for my hdmi display?
It turns out the display driver I am building is the one from the nvidia_kernel_display_driver_source.tbz2 from the public_sources.tbz2.
I am getting these errors out of my kernel:
[ 14.647892] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for aarch64 35.3.1 Release Build (jetson@Astro) Sat 24 Jun 2023 11:58:22 AM EDT
[ 14.951601] NVRM rpcRmApiControl_dce: NVRM_RPC_DCE: Failed RM ctrl call cmd:0x2080013f result 0x56:
[ 14.952468] NVRM rpcRmApiControl_dce: NVRM_RPC_DCE: Failed RM ctrl call cmd:0x2080017e result 0x56:
[ 14.955472] NVRM rpcRmApiControl_dce: NVRM_RPC_DCE: Failed RM ctrl call cmd:0x2080014a result 0x56:
[ 14.992331] NVRM rpcRmApiControl_dce: NVRM_RPC_DCE: Failed RM ctrl call cmd:0x730190 result 0x56:
nvidia_kernel_display_driver_source.tbz2 from public_sources.tbz2
Yes, this is the correct file.
I followed the directions from the web on building the kernel, did that build the appropriate display driver?
No, as my previous comment said this doc does not guide you how to build these 3 drivers. There are readme file inside the source code tarball to teach how to build.
" Do I need kernel display dtsi files in addition to the DCB blob I have for my hdmi display?
I am not quite sure about the question here. DCB blob is part of the DTB. If you already used a DCB dtsi file which is from our BSP and that has HDMI suffix in its file name, then it is already a HDMI enabled DCB blob.
Did you remember to add hotplug filed to the display@13800000 node? If you don’t know what I am talking about, could you directly refer to the dtb from p3509-3767 config file? As I already said, that config is using a DTB which already enabled HDMI for you.
Kernel display dtsi files? i.e. tegra194-p3509-disp.dtsi?
my dtsi entry for display@13800000 is
display@13800000 {
status = “okay”;
os_gpio_hotplug_a = <&tegra_main_gpio TEGRA234_MAIN_GPIO(M, 0) GPIO_ACTIVE_LOW>;
};
Our signal is active low.
If we look at my Xorg.0.log file my video driver looks to be having an issue connecting to the device?
I will go back and build the display driver according to the readme file, thanks. P.S. I am cross compiling everything.
with the build for the display driver it is saying to execute the make module and then make module_install but I noticed the makefiles are expecting SYSSRC to point to the kernel source and SYSOUT to point to my kernel_output folder from my kernel build. Do I need those set and will module_install put the video driver in my kernel image. (I don’t think this will work unless I am building on the target).
Think I might be close to getting the hdmi up and running but maybe I need a few changes somewhere. I am adding my Xlog and dmesg log files. xlog.txt (14.1 KB) dmesglog.txt (61.8 KB)
Here is my xrandr output:
jetson@aero-ubuntu:/boot$ xrandr
Screen 0: minimum 8 x 8, current 640 x 480, maximum 32767 x 32767
HDMI-0 disconnected primary (normal left inverted right x axis y axis)
I am still not sure about what do you want to ask here. Here is my suggestion.
If you don’t know how device tree works, please tell. I can explain it again because I feel your understanding about how a device tree formed or built out is not quite correct.
I never “memorize” what files are needed in a device tree. You only need to check which board config you are using to flash, that config file will have the path of which dtb is in use. Track that file name in your kernel source file and you will find out what you need.
The point I said " refer to the dtb from p3509-3767 config file", its full name is p3509-a02+p3767-0000.conf. This is to flash Orin nx + xavier nx carrier board case which has a HDMI enabled. The DTB in this file already included HDMI DCB and hotplug pin.
If you could see the 3 kernel modules from nvidia_kernel_display_driver_source.tbz2 is already loaded up in lsmod command, then you don’t need to build them at all.
Please make sure you have to do full flash instead of only updating device tree.
If you are sure the DCB is correct and hotplug GPIO is added, then you should check the hardware.
I modeled my config file after the p3509-a02+p3767-0000.conf file.
I initially did not see the nvidia display drivers in the kernel so I needed to build and install them.
I am asking for some help in understanding the some of the errors I am getting from my dmesg and X log pertaining to the nvidia video drivers. Why am I getting this message, “[ 15.152] (WW) NVIDIA(0): Unable to get display device for DPI computation.
[ 15.153] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default” when I am doing HDMI?
Also any reason why it looks like the video driver can not find a device?
My main goal here is to get HDMI up and running.
As another benchmark I flashed with the p3509-a02+p3767-0000.conf file and still did not get any output in the HDMI display.