This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM62P:在哪里可以找到启动 Vulkan 1.2的示例

Guru**** 2328790 points
Other Parts Discussed in Thread: AM62P
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1517997/am62p-where-are-the-examples-for-launching-vulkan-1-2

部件号:AM62P

工具/软件:

该芯片的数据表提到了对 OpenGL ES3.2和 Vulkan 1.2 API 的支持。 EVM-10.01.10.04sdk 中实际的预编译库是"libvulkan。 所以。 1.3.275"、用于构建与 Vulkan 相关的用例。
在电路板上运行之前、已确保与 GPU 相关的 PowerVR 的 pvrsrvkm 驱动程序模块已正常加载。 在实际操作期间、创建实例时遇到错误代码"-9"。 下面是一些核心代码:

PFN_vkCreateInstance vkCreateInstance = 0;
//----------------------------------------
VkInstanceCreateInfo instanceCreateInfo;
instanceCreateInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
instanceCreateInfo.pNext = enabledExtensionFeatures;
instanceCreateInfo.flags = 0;
if (support_VK_KHR_portability_enumeration)
    instanceCreateInfo.flags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
instanceCreateInfo.pApplicationInfo = &applicationInfo;
instanceCreateInfo.enabledLayerCount = enabledLayers.size();
instanceCreateInfo.ppEnabledLayerNames = enabledLayers.data();
instanceCreateInfo.enabledExtensionCount = enabledExtensions.size();
instanceCreateInfo.ppEnabledExtensionNames = enabledExtensions.data();

VkInstance instance = 0;
ret = vkCreateInstance(&instanceCreateInfo, 0, &instance);
if (ret != VK_SUCCESS)
{
    printf("vkCreateInstance failed %d", ret);
    return -1;
}

基于此、我想问是否有任何适用于 am62p 的 Vulkan 相关样片、如果此 SDK 版本仍然不受完全支持、哪个版本应该提供全面支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您报告的"libvulkan.so.1.3.275"库是 ICD 加载程序。 实际的 Vulkan 供应商库是"libVK_IMG.so"。 你应该继续链接与"libvulkan.so",只是想澄清这一点。

    Vulkan 受支持、我们已经针对它运行完整的 Khronos 测试套件。 错误-9表示为所请求的功能选择了不兼容的驱动程序。 检查您在应用中请求的功能。

    虽然我们不提供任何 Vulkan 应用程序的示例,下面是一个有用的资源,我已经找到粗略的搜索,并已验证它在10.01为您工作。

    github.com/.../vkdemos

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的答复。 目前、我已克隆您建议的 vkdemo 并成功交叉编译。 运行它后,我收到了以下反馈,但实例创建也失败了(-9).
    由于我们都基于 SDK 10.1版、但 vkdemo 无法在我的电路板环境中运行、因此有理由假设这是由软件环境引起的。 您能帮助我通过提供上面的输出消息来调查缺少哪些必要的依赖项吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您能否分享启动日志和 构建测试的步骤?

    此致、
    Krunal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这些是我构建:的步骤

    docker exec -it 8824574b04efd81588e6449d8d2b550b47e9cd2d86cbf072a7602f0ad737a17e bash
    
    tisdk@8824574b04ef:/work$ source /work/ti-processor-sdk-linux-am62pxx-evm-10.01.10.04/linux-devkit/environment-setup
    [linux-devkit]:/work> cd /work/vkdemos/vktriangle
    [linux-devkit]:/work/vkdemos/vktriangle> aarch64-oe-linux-g++ vktriangle.cpp -o triangle -lvulkan -std=c++11 --sysroot=/work/ti-processor-sdk-linux-am62pxx-evm-10.01.10.04/linux-devkit/sysroots/aarch64-oe-linux
    [linux-devkit]:/work/vkdemos/vktriangle>

    以下是一些引导日志和运行结果:

    U-Boot SPL 2024.04-g96bcfffa-dirty (May 21 2025 - 08:34:47 +0800)
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    
    U-Boot SPL 2024.04-g96bcfffa-dirty (May 21 2025 - 08:36:27 +0800)
    
    U-Boot 2024.04-g96bcfffa-dirty (May 21 2025 - 08:36:27 +0800)
    
    1 GiB
    mmc@fa10000: 0, mmc@fa00000: 1
    OK
    OK                                                                                                                                                                                                             0 
     sdcard exist 
    tag_partion = 00000000bdede5b0 
    update_attr [1],     bootfs -       34 -        7 M - V10_0521_0836 
    update_attr [2],     parama -    16384 -       16 M - V10_0521_0836 
    update_attr [3],     paramb -    49152 -       16 M - V10_0521_0836 
    update_attr [4],    kernela -    81920 -       32 M - V10_0521_0836 
    update_attr [5],    kernelb -   147456 -       32 M - V10_0521_0836 
    update_attr [6],    rootfsa -   212992 -      256 M - V10_0521_0836 
    update_attr [7],    userfsa -   737280 -      128 M - V10_0521_0836 
    tag image-md5 is same, pass disk 
    Failed to load 'bootfs.img'
    Failed to load 'parama.img'
    Failed to load 'paramb.img'
    Failed to load 'kernela.img'
    Failed to load 'kernelb.img'
    Failed to load 'rootfsa.img'
    Failed to load 'userfsa.img'
    update_attr is same, not-update 
     A 
    
    Starting kernel ...
    
    mdio_bus 8000f00.mdio: MDIO device at address 1 is missing.
    [FAILED] Failed to start Network Configuration.
    [FAILED] Failed to start Network Configuration.
    [FAILED] Failed to start Network Configuration.
    [FAILED] Failed to start Network Configuration.
    [FAILED] Failed to start Network Configuration.
    [FAILED] Failed to start Network Configuration.
    <max96724> 1 max96724_probe begin 
    <max96755r>err: i2c_transfer i2c_addr:0x40 reg_addr:0x0101 failed return -121 
    <max96755r>err: i2c_transfer i2c_addr:0x40 reg_addr:0x0194 failed return -121 
    <max96755r>err: i2c_transfer i2c_addr:0x40 reg_addr:0x0331 failed return -121 
    <max96755r>err: i2c_transfer i2c_addr:0x40 reg_addr:0x0389 failed return -121 
    <max96755r>err: i2c_transfer i2c_addr:0x40 reg_addr:0x0380 failed return -121 
    <SC121AT>err: sensor_0 not exist,please check your connection 
    <SC121AT>err: sensor_1 not exist,please check your connection 
    <SC121AT>err: sensor_2 not exist,please check your connection 
    <SC121AT>err: sensor_3 not exist,please check your connection 
    <SC121AT>err: max96724_init_cfg_1 not support 
    <max96724> 1 max96724_probe end 
    <pvr> pvr_probe begin 
    <pvr> pvr_probe end 
    
    ^_^  hello 2025
     
    longhorn login: root
    v1.0.2_202505210836
    <SC121AT>err: get_frame_count not support 
    <SC121AT>err: get_frame_count not support 
    <SC121AT>err: get_frame_count not support 
    <SC121AT>err: get_frame_count not support 
    | CAMERA | GPU | AVM | IPC |EVENTHUB|
    |   1    |  1  |  0  |  0  |    0   |
    -rw-------    1 root     root        704512 Feb 28  2024 core-benchncnn
    -rw-------    1 root     root       9596928 Feb 27 17:26 core-sci
    -rw-------    1 root     root        516096 Feb 27  2024 core-triangle
      541 root      3496 S    grep avm
    root@A:/app$
    root@A:/app$cd /sdcard/vktriangle/
    root@A:/sdcard/vktriangle$./triangle
    Validation: OFF
    Using shaderc: NO
    Output: out.ppm
    failed to create instance! -9
    terminate called after throwing an instance of 'std::runtime_error'
      what():  failed to create instance!
    Aborted (core dumped)
    root@A:/sdcard/vktriangle$

    最后、还有一些 dmesg 信息:

    e2e.ti.com/.../8446.dmesg.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    您的 DSS 似乎未正确初始化:

    [ 0.192127][DRM]初始化 tidss 1.0.0 201800215、用于次要0上的30200000.DSS
    [ 0.192161] tidss 30200000.dss:[DRM]未找到兼容格式
    [0.192171] tidss 30200000.dss:[DRM]找不到任何 CRTC 或大小

    此外、lsmod 中没有 DRM/DSS 驱动程序、您能否修复 DSS 问题并重试。

    此致、
    Krunal