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/AM3358:可以#39;t 加载图形驱动程序

Guru**** 2589265 points
Other Parts Discussed in Thread: AM3358, TPS65218

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610110/linux-am3358-can-t-load-graphic-drivers

器件型号:AM3358
主题中讨论的其他器件: DA8XXUKERNELTPS65218

工具/软件:Linux

您好!

在对论坛进行了许多研究之后,我发现了大量的构建,Git 承诺,但我的问题没有直接的答案。

我有一个 AM3358芯片,我想让 OpenGL ( EGL )正常工作。 所以我尝试安装 gfx 驱动程序和 SGX 驱动程序... 我对这两者都有问题

第一个问题:我是否需要 ti-gfx 和 ti-SGX-km 封装???

第二个问题:如何使它发挥作用:)?

我刚刚从 AM335x 的最新 SDK ( 4.00)下载了内核4.9。 它添加到我的内置构建序列中、它构建良好。

我添加了 TI-SGX-... 并将其作为自定义软件包添加到 buildroot 中(而不是其他 ti-SGX-km)。 构建工作良好,但无法加载。

PVR:(错误):OpenServices:drmOpen 失败[120、/PVR_Bridge_U.c]
PVR:(错误):PVRSRVInitSrvConnect:PVRSRVConnect 失败[2572、/Bridge_PVR_胶 合.c]
PVR:(错误):SrvInit:PVRSRVInitSrvConnect 失败(4)[37、/srvinit.c]
PVR:(错误):main:SrvInit 失败(4)[47、/pvrsrvinIT.c]

我想知道我在这里遗漏了什么。  

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    软件团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [引述]第一个问题:我是否需要 ti-gfx 和 ti-SGX-km 封装???[/引述]

    是的、您需要两者。 您可以在 Linux SDK 的 Docs 文件夹中的软件清单中找到用户空间库。  从指向的链接下载它们、然后使用 make install 将它们添加到文件系统中。

    [引述]第二个问题:如何使其发挥作用:)?

    您可以按照以下说明重建内核模块: e2e.ti.com/.../INSTALL

    然后、您应该从第一个问题中安装 SGX 库。 然后复制新创建的 SDK 中的内核驱动程序(以及所有用户空间库)、在引导电路板后、只需插入 SGX 驱动程序即可。  

    此致、  
    Yordan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    正如我之前所说的、它能够构建、我有正确的定义。 安装模块后,出现错误:
    PVR:(错误):OpenServices:drmOpen 失败[120、/PVR_Bridge_U.c]
    PVR:(错误):PVRSRVInitSrvConnect:PVRSRVConnect 失败[2572、/Bridge_PVR_胶 合.c]
    PVR:(错误):SrvInit:PVRSRVInitSrvConnect 失败(4)[37、/srvinit.c]
    PVR:(错误):main:SrvInit 失败(4)[47、/pvrsrvinIT.c]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以附加完整的引导日志?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我回滚到了我的 BuildRoot 原始版本。 内核4.4和内置命令(在标题路径中进行了轻微修改)附带的 ti-SGX


    [15.662060]总线:"platform":添加驱动程序 pvrsrvkm
    [15.664046]器件类'PVR':正在注册
    [15.664374]器件:'pvrsrvkm':device_add
    [15.664608] PM:添加 No Bus:pvrsrvkm 的信息
    [15.687103] omapdrm_PVR:导出重复符号 PVRGetBufferClassJTable (由 pvrsrvkm 拥有)
    [15.706849] omapdrm_PVR:导出重复符号 PVRGetBufferClassJTable (由 pvrsrvkm 拥有)
    [15.737040] omapdrm_PVR:导出重复符号 PVRGetBufferClassJTable (由 pvrsrvkm 拥有)
    [15.755986] omapdrm_PVR:导出重复符号 PVRGetBufferClassJTable (由 pvrsrvkm 拥有)
    [55.022989]随机:非阻塞池已初始化

    在用户空间上:
    $ pvrsrvinit
    pvrsrvinit:加载共享库时出错:libgbm.so.2:无法打开共享目标文件:无此类文件或目录

    我想我现在必须找到这些 GBM 库!?
    我仍然认为该模块安装不当、但它显示在 lsmod 中
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您似乎已经加载了该模块。 您必须在电路板上安装 libgbm2软件包。
    root@AM335x-EVM:~# opkg 搜索/usr/lib/libgbm.so.2.0.0
    libgbm2 - 10.0.0-r0.tisdk0.0

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

    好的,我解决了 pvrsrvkm 不支持的24位的一个问题

    现在无法加载 omapfb。 可能是因为我的/dev/dev 中已经有 fb0驱动程序,并且我已经在帧缓冲区上有挂钩?????

    [216.728138] PVR:PVRCore_Init
    [216.746621] PVR:PVRCore_Init:主要器件246
    美元 dmesg | tail
    [17.1399591] PM:添加无总线的信息:gpio116 [
    17.144110]器件:'gpio117':device_add
    [ 17.144496] PM:添加
    无随机总线的信息:16.74220] PM[16.74220] PMR:无初始化
    的 PVR:16.74220 Incore [ 16.74220]
    'platform':添加驱动程序 pvrsrvkm
    [216.746621] PVR:PVRCore_Init:主要设备246
    [216.772156]设备类'PVR':注册
    [216.774955]设备:'pvromapkm:device_add
    [216.775225] PM:添加无总线信息:pvsrcsrx/2456m/sprendorm/sprinesk/vrfrom-linux/common
    
    v/vertis/from4k/infr:[5k/common vertis/v/vertis/v64x/spris/vertis/v/v/vertiso/spriso/srfrom-linux/info/spris/v/v/infoix/infr
    :/v/v/v/infot/infot/infr! [220,home/sbenoit/tor019-os-viz25/buildroot/board/tornatech/custom-packages/ti-gfx/ti-gfx/gfx_linux_km/Services4/system/include/syscommon.h]
    [415.689121]---------- [在此处剪切]-----
    [415.693983] bf005c44中的内核错误[详细调试信息不可用]
    [415.700530]内部错误:Oops -错误:0 [#1]挤占 SMP ARM
    [415.706623]链接的模块:
    被污染的 omaplfb (O+) pvrsrvkm (O)[415.712024] CPU:0:smod:0:pComm 1022 w O 4.4.56 #3
    [415.719474]硬件名称:通用 AM33XX (平展设备树)
    [415.72583]任务:de09a080 ti: de0a4000 task.ti: de0a4000
    [415.731902] PC 位于 PVRSRVRegisterDCDeviceKM+0x84/0x641/0x641 [pv0a4000 task.ti:415.731902] PC 位于 PVR364rr
    VSR364r+PVR364Km [PVRS+0x15.4Kr [PVRS+0x7K430r4Kr [PV][PVR3684/0x4Kr
    :0x4Kr [PVRSW ] LR:[ ] PSR:600c0013
    [415.745188] sp:de0a5db8 IP:00000000 fp:00000020
    [415.757172] R10:0012c000 R9:000001 R8:00000000
    [415.76266] r7:d6c50000 r6:bf08e380 r5:00000000 r4:00000000 r4:d00000000 4241r1:d4r3
    00000001 r0:00000001
    [415.776257]标志:模式 SVC_32 ISA ARM 段上 FIQ 上的 nZCv IRQs [
    415.783706]控制:10c5387d 表:93ce4019 DAC:db00000051
    [ 415.789705]处理 insmod (pid:1022、栈限制= 0x800de05226
    )[ 0595a072](415.789706])[ 045]处理 insmod (pid:415.789526](pid:042a)
    00000000 bf08e380
    [415.809069] 5dc0:d3b4dc04 d3b4dcc4 00000000 0012c000 00000000 de0a5dc8 d3b4dc00 bf08cc68
    [ 415.817611] 5de0:00000000 c49781 c48aff5c d3dc00 dc4b4000008c0008 b000100c0008c0008 b4001 c000100c 100c0008c100c 100c0008c0008c100c
    
    
    c49232f8 c4978eb1 024000c0 c00a84b0 d3dc6400 c0153fc8 c4978eb1 c009088c
    [415.851780] 5e60:c497a470 c07b8404 d3dc6040 bf08e140 bf08e140 c79fee140 c490880 dc248e24000c07880 dc248c248b07804 dc40c40c40c248c2408dc40c40c2408dc2408dc40c2408dc2408dc2408dc40c2408dc2408dc2408dc40c2408dc2480
    :dc2408dc40c2408dc40c2408dc2408dc40c40c40c40c40c40c40c40c40c40c40c40c40c40c24fee08f40c40c2408f40c40
    
    c48b098c bf08e354 e0e3d52c bf08e14c 00000000 c07bf524 e0dee000 0004f57c
    [415.885947] 5ee0:00001c3E 00000000 00000001 00000000 00000000 00000000 00000000 00000000 [415.894489]
    5f00:00000000 00000000 00000000 0000 00000000 0000 00000000 00000000 00000000 00000000
    [415.903031] 5f20:00000000 00000280 00000000 00000003 000c4008 0000017b c000f84
    [415.911573] 5f40:de0a4000 00000000 00000000 c00d4058 c2dee000 e0dee4000004f57c e0e40:e00000000 00000000
    200000008 e000000015 e0000000200000008 e000000015 e000200000008 e000400000001e0008 e0008 e00000001e0008 e00015
    
    00000002 c000f8e0 000c4008 be9aee31 00000003 000c4008 00000000 be9aee31
    [415.9457A] 5fc0:000c4008 be9aee31 00000002 0000017b be9aee31 0000ae0000 b6f86000 00000000
    [415.954282] 5fe0000 00000008 be9aee31 00000002 000002 0000017b be00017b be9aee31 00000000000000000000000000006 00000006 00000006 00000006 00000006 00000006 00000006 00000008 0000000b 00000006 00000006 0000000
    ](PVRSRVRegisterDCDeviceKM [pvrsrvkm]),来自[ ](OMAPLFBInit+0x32c/0x600 [omaplfb])
    [415.974055][ ](OMAPLFBInit [omaplfb])从[ ](OMAPLFB_Init+0x8/0x2C [omaplfb])
    [415.983615][ ](OMAPLFB_Init [omaplfb])、来自[ ](do_one _initcall+0x80/0x1e0)
    [ 415.992806][ ](多个_initcall)、来自[ ](DO_INIT_MODULE+0x5c/0x38c)
    [416.001265][ ](DO_INIT_MODULE)从[ ](LOAD_MODULE+0x1af0/0x22fc)
    [416.009628][ ](LOAD_MODULE)从[ ](sys_finit 模块+0x7c/0x90)
    [416.017812][ ](sys_finIT_module)从[ ](RET_FAST_SYSCALL+0x0/0x1c)
    [416.026355]代码:e3a020dc e59f12b0 e3a00001 eb00685d (e7f001f2)
    [416.032726]--[结束跟踪 b1842f7f78f2f0aa ]--
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更新:
    我构建了 da8xx_fb 驱动程序和 tilcdc AD 模块、将它们卸载、然后我能够继续使用此模块。 但 omapfb 停留在这里

    $ insmod omaplfb.ko
    [80.958423]瘤平台:未知符号 REGISTER_vSYNC_CB (错误0)
    [80.964832]批头文件:未知符号 unregister_vSYNC_CB (错误0)
    [80.976297] Omaplfb:未知符号 REGISTER_vSYNC_CB (错误0)
    [80.982822]批头文件:未知符号 unregister_vSYNC_CB (错误0)
    insmod:无法插入'omaplfb.ko':模块中的未知符号或未知参数
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这些符号最后一次在 Processor SDK 1.00.03内核3.14.43中使用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    经过一些测试、我需要通过 tilcdc 导出这些符号。
    然后、我仍然会得到 PVR_K:(错误):PVRSRVRegisterDCDeviceKM:转至 SysAcquireData [364、home/sbenoit/tor019-os-viz25/icldroot/board/tornatech/custom-packages/ti-gfx/ti-gfx/gfx_linux_km/snatrom_km/snatrom_board/custom-packages/srvc/km/snatrom_km/snatrom_4 km/snat/snat/snat

    当尝试从驾驶公里加载 omaplfb.ko 时
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您能否检查:
    processors.wiki.ti.com/.../SGXDbg

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

    Yordan、您好!

    为什么同时需要 ti-gfx 和 ti-sgx?

    谢谢!

    Stefan

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

    您好 Stefan、

    根据安装的内核驱动程序、您需要选择正确的内核驱动程序。

    此致、
    Kemal

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

    您好、Kemal、

    我有类似的问题:

    启动 Qt5应用程序后、我会收到以下消息:
    PVR:(错误):无法加载 WS 模块 libpvrQWSWSEGL.SO.1 [0、]
    PVR:(错误):无法加载 WS 模块 libpvrws_WAYLAND.so [0、]
    [352.662698] PVR_K:(错误):BridgedDispatchKM:驱动程序初始化尚未完成。
    PVR:(错误):PVRSRVBridgeCall:无法访问设备。  函数 ID:3223086849 (strerror 不返回任何值。)。 [0、]
    PVR:(错误):PVRSRVEnumerateDevices:BridgeCall Failed [0、]
    PVR:(错误):PVRSRVConnect:无法枚举设备。 [0、]
    PVR:(错误):无法连接到服务[0、]
    无法初始化 EGL 显示
    已中止(转储内核)


    gfx_check.sh 的输出:
    gfx_check.sh
    WSEGL 设置
    [默认值]
    #WindowSystem=libpvrws_WAYLAND
    WindowSystem=libpvrQWSWSEGL.SO.1
    ----
    ARM CPU 信息
    处理器      :0
    型号名称     :ARMv7处理器版本2 (v7l)
    茂物剪       :996.14
    特性       :半拇指 fastmult VFP EDSP neon vfpv3 TLS vfpd32
    CPU 实现者:0x41
    CPU 架构:7.
    CPU 型号    :0x3.
    CPU 部件       :0xc08
    CPU 版本   :2.

    硬件       :通用 AM33XX (平展设备树)
    修订版:       0000
    串行         :000000000000
    ----
    SGX 驱动程序信息
    版本 SGX_DDK sgxddk main@3699939 (版本) OMAP-Linux
    系统版本字符串:无
    ----
    帧缓冲区设置
    ----
    旋转设置
    0
    ----
    内核模块信息
    使用的模块                 大小  
    MUSB DSP              9734 0
    musb_hdrc             87490 1 musb_dsp
    UDC_CORE              19322 1 musb_hdrc
    PHY_AM335x             2372 1.
    PHY_generic            5372 1 phy_AM335x
    PHY_AM335x_CONTROL     2873 1 phy_AM335x
    usbcore              201611 1 musb_hdrc
    USB_common             4737 5 phy_AM335x、UDC_core、musb_hdrc、musb_dsp、usbcore
    pvrsrvkm             403512 0
    TI_AM335x_ADC          6837 0
    Pm33xx                 6433 0
    ECB                    1909 0
    SHA256_generic        10178 0
    HMAC                   2735 0
    MD5                    2219 0
    SHA1_generic           2864 0
    SHA1_ARM_NEON          6261 0
    SHA1_ARM               3862 1 SHA1_ARM_NEON
    wkup_m3_IPC            8176 1 pm33xx
    wkup_m3_rproc          3670 1.
    Remoteproc            28453 2 wkup_m3_rproc、wkup_m3_ipc
    Virtio                 7614 1远程处理器
    Virtio_ring           15324 1远程处理器
    TI_EMIF_SRAM           5663 1 pm33xx
    OMAP-AES_DRIVER       19334 0
    OMAP-SHIM             21950 0
    Crypto_engine          7162 1 OMAP-AES_DRIVER
    OMAP-Rng               4759 0
    RNG_CORE               7392 1 OMAP-Rng
    MUSB AM335x            1426 0
    RTC_OMAP               9662 0  
    OMAP-WDT               4634 0
    TI_AM335x_tscadc       6162 1 ti_AM335x_adc
    SH_FQ_CODEL           8987 1.
    ----
    引导设置
    console=ttyO0、115200n8 root=PARTUUUID=0000-02 rw rootfstype=ext3 rootwait
    ----
    Linux 内核版本
    Linux 内置4.9.51 #1优先于 Thu Sep 28 16:52:59 CEST 2017 armv7l GNU/Linux

    我使用 TI Linux 内核4.9.51、ti-SGK-um (ti-img-SGX/1.14.3699939)和 ti-SGX-km (ti-img-SGX/1.14.369999/k4.9)构建它。
    在 ti-SGX-km.mk 中、product_name 设置为 ti335x。


    我不想使用 wayland (libwayland-server.so 和 libgbm.SO.2)。
    我已临时修复以下错误
    :加载共享库时出错:libgbm.so.2:无法打开共享目标文件:无此类文件或目录
    :加载共享库时出错:libwayland-server.so.0:无法打开共享目标文件:没有此类文件或目录
    将两个库复制到/usr/lib.中

    谢谢!

    Stefan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 powervr.ini 中将"WindowSystem=libpvrQWSWSEGL.SO.1"更改为"WindowSystem=libpvrDRMWSEGL.SO"后、我会收到以下消息:
    [821.301005] PVR_K:(错误):BridgedDispatchKM:驱动程序初始化尚未完成。
    PVR:(错误):PVRSRVBridgeCall:无法访问设备。 函数 ID:3223086849 (strerror 不返回任何值。)。 [0、]
    PVR:(错误):PVRSRVEnumerateDevices:BridgeCall Failed [0、]
    PVR:(错误):PVRSRVConnect:无法枚举设备。 [0、]
    PVR:(错误):无法连接到服务[0、]
    无法初始化 EGL 显示
    已中止(转储内核)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在我的案例中,我没有从 TI 获得太多帮助... 他们始终将我们转至该 wiki 页面、其中缺少文档。 没有关于何时使用 GFX 和何时使用 SGX 的直接信息。

    对于内核4.9、我假设您正在使用 Good 驱动程序分支中的 SKG-km 和 SGX-UM 驱动程序。 在本例中、我必须在 LCD 驱动器的每一行上放置 printk、以意识到我们的器件树中存在一个错误值。 最小的错误会导致驱动程序无法安装。

    祝您好运!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否发布使用 buildroot 创建该编译时所使用的确切步骤? 然后、我将告诉您到底发生了什么错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经下载了 buildroot-2017.08

    使 menuconfig
    -使用 linaro 工具链2017.02
    -使用 systemd
    -内核:Git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git;branch=ti-linux-4.9.y
    - config:修改的 tisdk_AM335x-evm_defconfig
    - DTS:修改了 AM335x-bonebblack.dts
    -选择 ti-SGX-km 和 ti-SGX-um (为两者添加了当前 ti git repo 和分支、请参阅上一帖子)
    -选择 Qt5:qt5base、GUI 模块、OpenGL 支持(OpenGL es 2.0+)、eglfs 支持、默认图形平台(eglfs)、dbus 模块、qt5declarative、quick 模块、qt5quickcontrols、 (笑声)

    它可与 PROCESSOR-SDK-LINUX-AM335X 03.02.00.05搭配使用、但使用的内存太多!
    现在、我使用 buildroot 来获得一个最小、内存效率高的 Linux 系统。

    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以附加修改后的 tisdk_AM335x-evm_defconfig?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    随附的是修改后的 defconfig 文件和修改后的 ti-SGX-***.mk 文件

    /cfs-file/__key/communityserver-discussions-components-files/791/tisdk_5F00_am335x_2D00_evm_5F00_defconfig_5F00_modified.txt

    /cfs-file/__key/communityserver-discussions-components-files/791/ti_2D00_sgx_2D00_km.mk.txt

    /cfs-file/__key/communityserver-discussions-components-files/791/ti_2D00_sgx_2D00_um.mk.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我运行/etc/init.d/rc.pvr、我会收到以下消息:
    #./rc.PVR 启动
    [61.052230][DRM]在次要版本1上初始化 PVR 1.14.3699939 20110701
    [61.089833] PVR_K:UM DDK-(3699939)和 KM DDK-(3699939)匹配。 [确定]
    PVR:(错误):PVRSRVDetectPlaForm:未知平台:AM335x
    。 [0[61.100968] PVR_K:(错误):BridgedDispatchKM:初始化失败。 驱动程序不可用。
    ,]
    PVR:(错误):LoaduKernelProgram:SGX ukernel 程序设备地址:0xe400000无效对齐[0、]
    PVR:(错误):SetupuKernel:无法加载 uKernel 程序[0、]
    PVR:(错误):SrvInit:0类设备的初始化,类型7,索引0,失败(1)[0,]
    PVR:(错误):PVRSRVBridgeCall:无法访问设备。 函数 ID:3223086862 (strerror 不返回任何值。)。 [0、]
    /usr/bin/pvrsrvctl:SrvInit 失败(已初始化?) (ERR=PVRSRV_ERROR_OUT_of_MEMORY -无法分配所需的存储器)

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

    ti-SGX-um 的 buildroot config 也已过时。 附加的是修改后的 ti-SGX-um.mk

    /cfs-file/__key/communityserver-discussions-components-files/791/3324.ti_2D00_sgx_2D00_um.mk.txt

    我已将 defconfig 文件修改为内核4.9.51 (请参阅附件)。

    /cfs-file/__key/communityserver-discussions-components-files/791/tisdk_5F00_am335x_2D00_evm_5F00_defconfig.txt

    之后、如果我运行/etc/init.d/rc.pvr、我会收到以下消息:

    #./rc.PVR 启动
    [63.480157] [DRM]在次要版本1上初始化 PVR 1.14.3699939 20110701
    [63.52657] PVR_K:UM DDK-(3699939)和 KM DDK-(3699939)匹配。 [确定]
    已加载 PowerVR 消费者服务。

    如果我运行应用程序、我会得到... :
    QStandardPaths:XDG_RUNTIME_DIR 未设置、默认为'/tmp/runtime-root
    EGL 库不支持仿真器扩展
    已中止(转储内核)


    gfx_check.sh 的输出:
    gfx_check.sh
    WSEGL 设置
    [默认值]
    #WindowSystem=libpvrws_WAYLAND.so
    WindowSystem=libpvrDRMWSEGL.so
    ----
    ARM CPU 信息
    处理器      :0
    型号名称     :ARMv7处理器版本2 (v7l)
    茂物剪       :996.14
    特性       :半拇指 fastmult VFP EDSP neon vfpv3 TLS vfpd32
    CPU 实现者:0x41
    CPU 架构:7.
    CPU 型号    :0x3.
    CPU 部件       :0xc08
    CPU 版本   :2.

    硬件       :通用 AM33XX (平展设备树)
    修订版:       0000
    串行         :000000000000
    ----
    SGX 驱动程序信息
    版本 SGX_DDK sgxddk main@3699939 (版本) OMAP-Linux
    系统版本字符串:SGX 版本= 125
    ----
    帧缓冲区设置
    ----
    旋转设置
    0
    ----
    内核模块信息
    使用的模块                 大小  
    BC_Example             7262 0
    pvrsrvkm             403384 1 bc_example
    MUSB DSP              9734 0
    musb_hdrc             97898 1 musb_dsp
    UDC_CORE              19602 1 musb_hdrc
    PHY_AM335x             2372 1.
    cppi41                 9493 30.
    PHY_AM335x_CONTROL     2873 1 phy_AM335x
    PHY_generic            5372 1 phy_AM335x
    usbcore              201945 1 musb_hdrc
    TI_AM335x_ADC          6837 0
    kfifo_buf              3163 1 ti_am335x_adc
    industrialio          46956 2 ti_am335x_adc、kfifo_buf
    USB_common             4737 5 phy_AM335x、UDC_core、musb_hdrc、musb_dsp、usbcore
    OMAP-Rng               4759 0
    RNG_CORE               7392 1 OMAP-Rng
    PWM_tiehrpwm           5318 0
    RTC_OMAP               9662 0  
    MUSB AM335x            1426 0
    OMAP-WDT               4634 0
    TI_AM335x_tscadc       6162 1 ti_AM335x_adc
    tps65218_pwrbutton     2870 0
    ----
    引导设置
    console=ttyO0、115200n8 root=PARTUUUID=0000-02 rw rootfstype=ext3 rootwait
    ----
    Linux 内核版本
    Linux 内置4.9.51 #1优先于周一10月2日16:31:06 CEST 2017 armv7l GNU/Linux


    谢谢!

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

    您好、Kemal、

    谢谢!

    遗憾的是、它不起作用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果导出 QT_QPA_EGLFS_integration、则应忽略"EGL 库不支持仿真器扩展"错误。 您可以尝试吗?
    导出 QT_QPA_EGLFS_integration=none
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kemal、

    谢谢!

    解决方案:
    -创建并添加软件包 BR2_PACKAGE_TI_SGX_LIBGBM (git://git.ti.com/glsdk/libgbm.git)
    - BR2_PACKAGE_WAYLAND=y (pvrsrvctl 需要 libwayland-server.so.0)
    - BR2_PACKAGE_LIBDRM=y、BR2_PACKAGE_LIBDRM_OMA=y

    - ti-SGX-um.mk:
    添加行
       mkdir -p $(target_DIR)/lib/gbm
       LN -SF ./libpvrGBMWSEGL.SO.1.14.3699939 $(TARGET_DIR)/lib/gbm/gbm_pvr.so
    TI_SGX_UM_INSTALL_CONF 的说明

    - qt5base.mk:
    (笑声)
    #使用来自 mesa3d 的 libgbm
    ifeq ($(BR2_PACKAGE_MESA3D_OpenGL_EGL)、y)
    QT5BASE-CONFIG_OPTS +=-kms -GBM
    QT5BASE-dependencies += mesa3d
    否则 ifeq ($(BR2_PACKAGE_TI_SGX_UM)、y)
    QT5BASE-CONFIG_OPTS +=-kms -GBM
    其他
    QT5BASE-CONFIG_OPTS +=-no-kms
    字节序
    (笑声)
    ifeq ($(BR2_PACKAGE_MESA3D_OpenGL_EGL)、y)
    QT5BASE-INSTALL_libs_$(BR2_PACKAGE_QT5BASE-EGLFS)     += Qt5EglFsKmsSupport
    字节序
    ifeq ($(BR2_PACKAGE_TI_SGX_UM)、y)
    QT5BASE-INSTALL_libs_$(BR2_PACKAGE_QT5BASE-EGLFS)     += Qt5EglFsKmsSupport
    字节序
    其他
    QT5BASE-INSTALL_libs_$(BR2_PACKAGE_QT5BASE-EGLFS)     += Qt5EglDeviceIntegration
    字节序

    -导出 QT_QPA_EGLFS_integration=none


    BR
    Stefan

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

    您好!

    随附的是 ti-SGX-libgbm.mk 文件: /cfs-file/__key/communityserver-discussions-components-files/791/ti_2D00_sgx_2D00_libgbm.mk.txt


    BR
    Stefan

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

    您好!

    我对 ti-SGX-km.mk 和 ti-SGX-um.mk 进行了一些更改:
    /cfs-file/__key/communityserver-discussions-components-files/791/5633.ti_2D00_sgx_2D00_km.mk.txt
    /cfs-file/__key/communityserver-discussions-components-files/791/3175.ti_2D00_sgx_2D00_um.mk.txt

    我希望这对...

    BR

    Stefan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Stefan。 这证明我正在正确地构建这些内容。 是否还可以连接内置 defconfig? 我必须在那里设置错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是我目前为止为内置 defconfig 所拥有的内容

    br2_arm=y
    br2_cortex_a8=y
    # br2_strip_strip 未设置
    br2_global_patch_DIR="board/BeagleBone/patches"
    br2_toolchain_external=y
    br2_init_systemd=y
    br2_target_general_get_port="ttyO0" br2_bacr2_linux_core_port= br2_r2_r2_linux_port_region="b40r2_r2_r2_r2_r2pbulk_linux_linux_port=bulk_port=b40r2_r2_r2_r2_linux_core_port_linux_core_port_linux_export=bulk_port_port_port=bregion="b40r2_r2r2_r2_r2r2_r2_r2_r2_r2_r2_linux_linux_linux_port_port_port_port_port_port_port_port_port_port_port=bulk_linux_port=bulk_port=b40r2_r2r2_r2_b tisdk_am335x.frag"
    
    
    
    
    /git.ti.com/processor-sdk/processor-sdk-linux.git
    
    
    
    
    BR2_Linux_kernel_use_custom_dts=y
    BR2_linux_kernel_custom_dts_path="board/BeagleBone/AM335x-boneblack.dts"
    BR2_package_TI_KMSCUBE=y
    BR2_PACKAGE_ROR2_R2_R2_R2_UBOOST_R2_R2_R2_R2_R2_UBOOT_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_BOUT_UST_BOUT_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_R2_URTURTUST_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_VERSION_BOUT_BOUT_BOUT_BOUT_Y_UPD_BO
    
    
    
    
    
    
    
    
    
    
    
    
    
    未设置
    BR2_TARGET_UBOOT_FORMAT_IMG=y
    BR2_TAR2_TARGET_UBOOT_FORMAT=y
    BR2_TARGET_UBOOT_FORMAT="spl/u-BOOT-spl.bin"
    BR2_TAR2_TARGET_UBOOT_SPL=y
    BR2_TAR2_UBOOT_NAME="MLOST_TOOL="BR2_BOOST_PACKAGE_BOOST_BOOST_BOOST_BOOST_BOOST_BOOST_BOOST_BOOST_Y=Y=BR2_R2_BR2_BR2_BOOLD_BOOST_BOOST_BOOST_BOOST
    
    
    
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、您是否能够运行 kmscube 演示? 这就是我被卡住的地方、特别是 libgbm 引发分段错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我解决了这个问题。

    我的构建环境会自动添加以下编译器标志。 删除这些选项可以解决问题。

    -D_LARGEFILE_SOURCE
    -D_LARGEFILE64_SOURCE
    -D_FILE_OFFSET_BITS =64 

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

    您好!

    我使用此 TI Linux 内核 repo:Git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git

    BR2_Linux_kernel_custom_repo_url="git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
    BR2_Linux_kernel_custom_repo_version="ti-linux-4.9.y"

    我不知道 git 的区别://git.ti.com/processor-sdk/processor-sdk-linux.git