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.

[参考译文] Linux/TDA2EXEVM:将虚拟 DRM 移植到内核4.14

Guru**** 2585275 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/819927/linux-tda2exevm-port-virtual-drm-to-kernel-4-14

器件型号:TDA2EXEVM

工具/软件:Linux

大家好、

我想在 J6Entry EVM 板上运行虚拟 DRM、内核版本为4.14。

现在、我可以将虚拟 DRM 从内核4.4移植到内核4.14、 我还修改了 DTS 添加 vDRM 器件。

当内核启动时、我可以看到/dev/dri/card0和/dev/vdrm-controller-0器件。

但是、当我尝试使用虚拟 DRM 时、会出错:

int fd = open ("/dev/dri/card0、O_RDWR);

struct GBM_DEVICE * display = GBM_CREASE_DEVICE (FD);

如果(NULL ==显示)

   os_trace("无法创建 GBM 显示\n");

PVR:(错误):[  71->71]  <             GBM_PVR_CREATE DEVICE_DEVICE ():592|ERROR>未能创建 DBM 设备:无此类设备[0、]

它可以打开成功,但当调用 GBM_CREASE_DEVICE()创建设备时,它出错。

libgbm.so 也需要修改吗?  PVR 是否需要修改? 还是其他地方也需要修改?

此致!

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

    你好,扇形

    您能否检查这是否是问题?

    http://processors.wiki.ti.com/index.php/Virtual_DRM_:_An_User_Guide_for_Developing_Usecases#I_have_installed_Processor_SDK_Vision_3.04.00.00_with_VDRM_support_and_EVM_boots_up._But_the_weston_log_file_indicates_weston_failed_to_launch._Why.3F

    谢谢

    RamPrasad

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

    尊敬的 RamPrasad:

    我不使用 Waland 和 Weston、  也不存在/etc/powervr.ini

    我想知道修改哪个代码文件可以执行与以下设置相同的操作?

    [西顿]
    DbmDriverName=vdrm

    此致!

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

    你好,扇形

    此处使用的是哪个文件系统。 是 PSDKLA5.03还是 VISIONSDK3.x? 如果您没有/etc/powervr.ini、则可以使用这些作为内容来创建它。

    [默认值]
    #WindowSystem=libpvrws_WAYLAND.so

    [应用名称]

    DbmDriverName=vdrm

    此处,appName 是您要启动的应用程序的名称? 如果您不使用 wayland/Weston、您可以先尝试使用 kmscube。

    我们已在应用此补丁的情况下在 vDRM 上测试了 kmscube。

    http://git.ti.com/glsdk/kmscube/commit/456cabc661caac5c60729751d45efd668faa8e97

    谢谢

    Ramprasad

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

    您好 Ramprasad、

    文件系统来自 PSDK。

    如果我添加/etc/powervr.ini 配置文件、我应该 在 RCS 中执行 pvrsrvinit 吗?

    现在、我的 RCS 如下所示:

    #! /bin/sh

    insmod lib/modules/4.14.24-01358-g403020b/extra /pvrsrvkm.ko

    pvrsrvctl --start --no-module&

    但不执行 pvrsrvinit。

    此致!

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

    您无需手动插入模块、  

    将安装 RC5脚本。 您可以在目标上引导后检查此项  

    $lsmod | grep PVR

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

    你好,扇形

    您是否在这里根本没有使用 VISION-SDK、而只使用 PSDKLA? 在这种情况下、vDRM 将不起作用。

    vDRM 当前受在 M4上运行的 VISION-SDK 固件支持、显示由 M4控制。  

    在 PSDKLA 情况下、显示由 A15控制、此处不提供 vDRM 功能。

    Ramprasad

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

    您好 

    将 vitual DRM 移植到内核4.14的目的是使用 visionSDK、但现在 vitual DRM 在 A15上的工作不正确、因此缓冲区无法传输到 M4侧以供 DSS 显示。  

    我禁用 omapdrm、启用 vDRM、然后我编写一个与 Kmscube 应用类似的应用。

    调用 GBM_CREASE_DEVICE() API 时,发生了前面提到的错误。

    此致!

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

    你好,扇形

    我仍然不明白您是否已将 VISION-SDK-Linux 移植到4.14并处理了所有补丁。 请确认。

    您还能告诉我 SGX-um 二进制文件现在是来自 PSDKLA5.03还是来自 VISION-SDK 吗?

    请分享 omap5-SGX-DDK-um-Linux 的 commit-ID 详细信息

    谢谢

    Ramprasrad

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

    尊敬的 Ramprasrad:

    感谢您的回复,内核4.14不支持虚拟 DRM,而内核4.4支持虚拟 DRM,所以我们  

    从内核4.4获取虚拟 DRM 修补程序、然后将其移植到内核4.14中。 修复一些编译错误、

    然后通过 Remoteproc 模块运行 visionsdk IPU2固件。  

    omap5-SGX-DDK-um-Linux 来自 PSDK、  

    分支为: TI-img-SGX/1.14.369999/k4.1

    提交 ID 为:

    提交 d2b3959738cfcc6209e8e882d1989de790866c8f
    作者:Denys Dmytriyenko
    日期:  2017年11月10日、星期五、18:55:26、0500
       srvkm/common/devicem.c:抑制 gcc7中的隐式 fallthrough 错误
       签字人:Denys Dmytriyenko

    此致!

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

    你好,扇形

     需要在 omap5-SGX-DDK-um-Linux 中进行一些更改以支持 vDRM。

    如果您从 PSDKLA5.x 获取 SGX-um 二进制文件、它将不支持 vDRM。 您能否尝试使用 VISION-SDK 中提供的 SGX-um 二进制文件。 请在链接上参阅 VISION-SDK 的用户指南

    TI 尚未尝试用于 vDRM 的4.14内核。

    谢谢

    Ramprasad

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

    您好 Ramprasad、

    我在 visionSDK 0304中找不到 SGX-um 二进制文件,从哪里可以获得?

    链路在哪里?

    此致!

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

    最新推出的 VISION-SDK 为 v3.07

    http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/latest/index_FDS.html

    如果您之前没有 VISION-SDK,则无法将 vDRM 与 Linux SDK 算法一起使用。

    谢谢

    Ramprasad

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

    您好 Ramprasad、

    我也找不到 任何与 VisionSDK 0307中的 omap5-SGX-DDK-um-Linux 相关的用户指南、

    哪个用户指南?

    此致!

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

    您现在正在使用哪个版本的 VISION-SDK 固件?

    从同一 VISION-SDK 获取 SGX-um 二进制文件。

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

    您好 Ramprasad、

    我使用 visionSDK 0304、我不知道哪个方向包含 SGX-um 二进制文件?

    此致!

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

    SGX-um 二进制文件在此处提供的文件系统中可用。  

    tisdk-rootfs-image-dra7xx-evm_vsdk_3_4.tar.xz

    http://software-dl.ti.com/processor-sdk-vision/esd/TDAx/vision-sdk/03_04_00_00/index_FDS.html

    您是否尝试使用此文件系统、但仅将 Linux 内核迁移到4.14。 以及替换内核模块和 zImage?

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

    您好 Ramprasad、

    我 从 tisdk-rootfs-image-dra7xx-evm_vsdk_3_4.tar.xz 获取 pvrsrvk.ko 并替换当前的 ko 文件。

    但因烟雾而失效。 按以下方式记录:

    [2.470543]   pvrsrvkm:不同意 symbol module_Layout 的版本
    insmod:无法插入'lib/modules/4.14.24-01358-g403020b/extra /pvrsrvkm.ko':模块格式无效

    我认为此 ko 与当前内核不匹配。 我想我需要使用内核4.14重新编译 PVR。

    如何知道   tisdk-rootfs-image-dra7xx-evm_vsdk_3_4.tar.xz 中 SGX-um 二进制文件的 git 分支和提交 ID、  

    如果我知道提交 ID、我可以重新编译它、然后它可以成功地抑制。

    此致!

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

    您好、Fanok、

    您应该使用4.14内核映像和内核模块更新文件系统