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.

[参考译文] RTOS/DRA71:PVR 错误

Guru**** 2551110 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/725203/rtos-dra71-pvr-error

器件型号:DRA71

工具/软件:TI-RTOS

当我使用 vDRM 绘制群集 UI 时,origion PSDK 为,ok,现在运行 vsdk 时出现错误。  

请给我一些建议?

需要您的支持、谢谢

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

    应用程序是 DRM/KMS 应用程序还是 wayland 客户端?

    如果是 DRM/KMS 应用程序、则在启动此应用程序时需要确保 Weston 未运行

    如果是 wayland 客户端、  则在启动此应用程序时、您需要确保 Weston 正在运行。

    此致、
    Subhajit

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

    应用程序 DRM/KMS。

    我确信我已经停止了 Weston。

    请指导我解决问题。 谢谢

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

    好的、明白了。

    请分享"ls /dev/dri "的输出

    此外、您似乎重复使用了 kmscube 中的 init_DRM 和 init_GBM 代码。 是这样吗? 如果您对这两个函数进行了任何修改、您能与我分享吗?

    此致、

    Subhajit

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    root@dra7xx-EVM:/opt/vision_sdk ls /dev/dri
    Card0 卡1 卡2 controlD64 controlD65伦德 D128

    是的、我重复使用了 kmscube 中的代码。
    修改如下:我使用 vDRM、
    ++ b/src/display.c
    @@-163、7 +163、7 @@静态 bool Set_DRM_format (void)
    返回 false;


    -Flag init_DRM (空)
    +Flag init_DRM (char * device_name)^M

    静态 const char *模块[]={
    "omapdrm"、"tilcdC"、"i915"、"Radeone"、"nouveo"、 "vmwgfx"、"exynos"
    @@-177、6 +177、13 @@ Flag init_DRM (void)
    uint32_t maxRes、curRes;
    printf ("init_drm ()\n");

    + if (device_name){^M
    + DRM.FD =打开(DEVICE_NAME、O_RDWR);^M
    + }^M
    + if (drm.fd > 0)^M
    + 转至完成;^M
    +^M
    + ^M
    对于(i = 0;i < array_size (modules);i++){
    printf ("正在尝试加载模块%s.."、模块[i]);
    DRM.FD = drmOpen (modules[i]、空);
    @@-187、7 +194、7 @@ Flag init_DRM (void)
    中断;


    -
    +完成:^M
    如果(DRM.FD < 0){
    printf ("无法打开 DRM 器件\n");
    返回 INST_FAIL;
    @@-433、7 +440、7 @@ Flag Initialize_Display (空)
    I32 I;
    printf ("initialize_Display (void)\n");

    - RET = init_drm ();
    + RET = init_DRM ("/dev/dri/card0);^M
    if (ret!= INST_true){
    printf ("初始化 DRM\n"\n 失败);
    回程;
    diff --git A/src/ display.h b/src/ display.h
    索引46325e4.0dd5FED 100755
    -- A/src/ display.h
    ++ b/src/display.h
    @@-103,7+103,7 @@ struct drm_fb *fb;
    //int waiting for flip;

    void page_flip_handler (int fd、unsigned int frame、unsigned int sec、unsigned int usec、void *数据);
    Flag init_DRM (void);
    +Flag init_DRM (char * device_name);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这看起来很好。 但是,当使用 vDRM FD 创建 GBM 器件和 eglGetDisplay()时,您需要修改/etc/powervr.ini,否则它将默认为 omapdrm。 需要在/etc/powervr.ini 中添加以下行

    [yand-application-name]
    DbmDriverName=vDRM
    GbmNumBuffers=5 

    此致、

    Subhajit

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、我会尝试一下。 但是、您能否重播原因、我使用 kmscube -d /dev/dri/card1 sunright。
    无需修改任何内容。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不是阳光直射,它运行正常。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    仍有错误需要您的支持。

    --卡0无显示
    root@dra7xx-EVM:/opt/vision_sdk /home/root/app_instrument/app_card0 &
    [7] 1015
    [6]完成(255) kmscube -b /dev/dri/card0
    启动应用程序
    [SCT]任务创建正常
    InitScreenShowTask()
    CreateScreenShowTask()
    ioctl i2c 读取错误、fd:3、id:6、ret:-1
    [CO2cPowerOn:请求0x06帧错误
    ioctl i2c 读取错误、fd:3、id:6、ret:-1
    [CO2cPowerOn:请求0x06帧错误
    ioctl i2c 读取错误、fd:3、id:6、ret:-1
    [CO2cPowerOn:请求0x06帧错误
    [CO2cPowerOn:错误
    InitEGL
    Initialize_Display (空)
    init_drm()
    ###显示[0]:CRTC = 26、连接器= 24、格式= 0x34325258
    选择的模式[1920x1080]:时钟=> 128480,垂直刷新=> 60,类型=> 72
    水平=> 1920、1939、1943、1952、0
    垂直=> 1080、1090、1092、1097、0
    ###主显示=> ConnectorId = 24、分辨率= 1920x1080
    init_GBM()
    加载的模块:GBM_PVR.SO
    找到有效的 GBM 后端:GBM_PVR.SO
    [InitFontLibs]init 字体库0
    [LIBFT]初始化面错误。
    [InitFontLibs]init 字体库0失败
    [LoadInitRsl]加载字体失败!
    [LoadInitRsl]负载 tga0:tga/night /night _000_000_Gear。tga 失败!
    [菜单]加载 tga/Menu/menu_line.tga 失败!
    init_egl()
    使用 EGL 版本1.4的显示屏0x1
    EGL 版本"1.4 build 1.14@3699939 (main)"
    EGL 供应商"Imagination Technologies"
    EGL 扩展"EGL_IMG_CLIENT_API_OGL EGL_KHR_IMAGE EGL_KHR_IMAGE_BASE EGL_KHR_IMG_TATE_2D_IMAGE EGL_KHR_GL_TATE_GGEAP_IMAGE EGL_KHR_END_BUST_IMPLED_EGL_EGRATE_IM_END_EGL_EGL_EGRATE_RATE_END_EGL_EGRATE_END_GEL_IM_EGL_EGRATE_END_EGL_EGRATE_END_END_EGRATE_EGL_EGL_EGRATE_END_EGL_EGL_EGRATE_END_EGRAL_EGRATE_EGL_EGRAM_EGRATE_GEL_EGRATE_EGRATE_END_GEL_EGRATE_EGRAT_EGRAT_EGRATE_GEL_EGRATE_END_GEL_EGRATE_GEL_EGRA
    root@dra7xx-EVM:/opt/vision_sdk 菜单 init、失败
    all_display = 0
    Initialize_Display()正常
    退出 gl 并清洁 EGL~
    退出 gl 并清洁 EGL~
    完成 GL、GBM 和 DRM 的清理

    --Card1错误
    root@dra7xx-EVM:/opt/vision_sdk /home/root/app_instrument/app_card0 &
    [3] 1005.
    [2]分段故障 (转储的内核)/home/root/app_instrument/app_card1
    启动应用程序
    [SCT]任务创建正常
    InitScreenShowTask()
    CreateScreenShowTask()
    ioctl i2c 读取错误、fd:3、id:6、ret:-1
    [CO2cPowerOn:请求0x06帧错误
    ioctl i2c 读取错误、fd:3、id:6、ret:-1
    [CO2cPowerOn:请求0x06帧错误
    ioctl i2c 读取错误、fd:3、id:6、ret:-1
    [CO2cPowerOn:请求0x06帧错误
    [CO2cPowerOn:错误
    InitEGL
    Initialize_Display (空)
    init_drm()
    ###显示[0]:CRTC = 26、连接器= 24、格式= 0x34325258
    选择的模式[1920x1080]:时钟=> 128480,垂直刷新=> 60,类型=> 72
    水平=> 1920、1939、1943、1952、0
    垂直=> 1080、1090、1092、1097、0
    ###主显示=> ConnectorId = 24、分辨率= 1920x1080
    init_GBM()
    加载的模块:GBM_PVR.SO
    找到有效的 GBM 后端:GBM_PVR.SO
    [InitFontLibs]init 字体库0
    [LIBFT]初始化面错误。
    [InitFontLibs]init 字体库0失败
    [LoadInitRsl]加载字体失败!
    [LoadInitRsl]负载 tga0:tga/night /night _000_000_Gear。tga 失败!
    [菜单]加载 tga/Menu/menu_line.tga 失败!
    init_egl()
    使用 EGL 版本1.4的显示屏0x1
    EGL 版本"1.4 build 1.14@3699939 (main)"
    EGL 供应商"Imagination Technologies"
    EGL 扩展"EGL_IMG_CLIENT_API_OGL EGL_KHR_IMAGE EGL_KHR_IMAGE_BASE EGL_KHR_IMG_TATE_2D_IMAGE EGL_KHR_GL_TATE_GGEAP_IMAGE EGL_KHR_END_BUST_IMPLED_EGL_EGRATE_IM_END_EGL_EGL_EGRATE_RATE_END_EGL_EGRATE_END_GEL_IM_EGL_EGRATE_END_EGL_EGRATE_END_END_EGRATE_EGL_EGL_EGRATE_END_EGL_EGL_EGRATE_END_EGRAL_EGRATE_EGL_EGRAM_EGRATE_GEL_EGRATE_EGRATE_END_GEL_EGRATE_EGRAT_EGRAT_EGRATE_GEL_EGRATE_END_GEL_EGRATE_GEL_EGRA
    root@dra7xx-EVM:/opt/vision_sdk 菜单 init、失败
    all_display = 0
    Initialize_Display()正常
    退出 gl 并清洁 EGL~
    退出 gl 并清洁 EGL~
    完成 GL、GBM 和 DRM 的清理

    -kmscube 右侧
    root@dra7xx-EVM:/opt/vision_sdk kmscube -d /dev/dri/card1 &
    [5] 1013.
    [4]完成(255) kmscube -b /dev/dri/card1
    ###显示[0]:CRTC = 26、连接器= 24、格式= 0x34325258
    选择的模式[1920x1080]:时钟=> 128480,垂直刷新=> 60,类型=> 72
    水平=> 1920、1939、1943、1952、0
    垂直=> 1080、1090、1092、1097、0
    ###主显示=> ConnectorId = 24、分辨率= 1920x1080
    加载的模块:GBM_PVR.SO
    找到有效的 GBM 后端:GBM_PVR.SO
    root@dra7xx-EVM:/opt/vision_sdk 使用 EGL 版本1.4的显示0x1
    EGL 版本"1.4 build 1.14@3699939 (main)"
    EGL 供应商"Imagination Technologies"
    EGL 扩展"EGL_IMG_CLIENT_API_OGL EGL_KHR_IMAGE EGL_KHR_IMAGE_BASE EGL_KHR_IMG_TATE_2D_IMAGE EGL_KHR_GL_TATE_GGEAP_IMAGE EGL_KHR_END_BUST_IMPLED_EGL_EGRATE_IM_END_EGL_EGL_EGRATE_RATE_END_EGL_EGRATE_END_GEL_IM_EGL_EGRATE_END_EGL_EGRATE_END_END_EGRATE_EGL_EGL_EGRATE_END_EGL_EGL_EGRATE_END_EGRAL_EGRATE_EGL_EGRAM_EGRATE_GEL_EGRATE_EGRATE_END_GEL_EGRATE_EGRAT_EGRAT_EGRATE_GEL_EGRATE_END_GEL_EGRATE_GEL_EGRA


    您能否提供 kmscube.c 源代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您提供了许多难以理解的信息。 那么、让我们将其分解为简单的步骤。

    1.您使用的是哪款 SDK? 哪个版本?
    2.您的硬件设置是什么?
    3.基于 vDRM 的基本 VISION SDK 示例是否起作用?

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

    VSDK0304

    J6Entry EVM

    3.是/

    现在应用程序已经运行了。谢谢。