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.

ERROR with libpvrPVR2D_X11WSEGL.so : "WSEGLX11GetClipRect: Inconsistent X tree"

Other Parts Discussed in Thread: OMAP3530, TCA6416, DM3730

Hi,

I am working on an igepv2 board based on a OMAP3530.

I want to integrate in my linux a window manager.

I selected the window manager "mutter" of GNOME3. It uses "clutter" and "cogl" with a backend eglx and a gles2 library.

But, when I launch the binary, an error occured : "WSEGLX11GetClipRect: Inconsistent X tree".

I relaunch with your debug libraries of the sdk and my result is showed here :

~ $ DISPLAY=:0.0 mutter &

~ $ PVR:(Warning): Hint: Setting WindowSystem to libpvrPVR2D_X11WSEGL.so [183, /proj/AVME10/mahesh/Graphics/Netra/gfxsdkcreate_new/ti_refere
nces/sources/GFX_Linux_DDK/src/eurasia/services4/srvclient/env/linux/common/pvr_apphint.c]
PVR:(Error): PVRSRVMetricsTimeNow: not implemented [174, /proj/AVME10/mahesh/Graphics/Netra/gfxsdkcreate_new/ti_references/sources/GFX_Linux
_DDK/src/eurasia/services4/srvclient/env/linux/common/pvr_metrics.c]
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 4048 bytes
PVR:
PVR: 4048 bytes still allocated in 1 allocations
PVR:
PVR: 1   -  4048 bytes at 0x113C000 - tls.c:49
PVR:
PVR:(Warning): PVR2DEnumerateDevices: display device name too long, truncating [161, devices/sgx/pvr2dinit.c]
PVR:
PVR: Memory Stats
PVR: ------------
PVR:
PVR: High Water Mark = 4048 bytes
PVR:
PVR: 4048 bytes still allocated in 1 allocations
PVR:
PVR: 1   -  4048 bytes at 0x113C000 - tls.c:49
PVR:
PVR:(Warning): InitContext: ignoring buffer type CBUF_TYPE_PDS_VERT_SECONDARY_PREGEN_BUFFER [573, eglglue.c]
PVR:(Warning): Running StartUpMemSpeedTest. High memory watermark will be ruined. Disable using apphint EnableMemorySpeedTest [57, metrics.c
]
PVR: Bytes  :    512    1024    2048    4096    8192   16384   32768   65536  131072
PVR: ---------------|-------|-------|-------|-------|-------|-------|-------|-------|
PVR: H -> VB: 154.12  277.89  314.74  314.15  314.84  222.83  219.62  193.75  218.57
PVR: H ->  H: 362.85  304.55  407.04   49.52  298.03  221.44  219.13  295.93  214.78
PVR:(Warning): InitContext: ignoring buffer type CBUF_TYPE_PDS_VERT_SECONDARY_PREGEN_BUFFER [573, eglglue.c]
PVR:(Warning): Running StartUpMemSpeedTest. High memory watermark will be ruined. Disable using apphint EnableMemorySpeedTest [57, metrics.c
]
PVR: Bytes  :    512    1024    2048    4096    8192   16384   32768   65536  131072
PVR: ---------------|-------|-------|-------|-------|-------|-------|-------|-------|
PVR: H -> VB: 173.02  262.39  318.29  328.37  309.47  217.32  219.58  335.35  208.52
PVR: H ->  H: 221.25  407.05  325.64  286.68  283.40  297.46  247.06  289.05  278.57
Window manager warning: Log level 8: gtk_style_context_add_provider: assertion `GTK_IS_STYLE_PROVIDER (provider)' failed
Window manager warning: Log level 16: NOTE: Not using GLX TFP!

PVR:(Warning): PB Watermark Info - Alloc: 0x0 , Free: 0x604 [489, /proj/AVME10/mahesh/Graphics/Netra/gfxsdkcreate_new/ti_references/sources/
GFX_Linux_DDK/src/eurasia/services4/srvclient/devices/sgx/sgxrender_targets.c]
PVR:(Error): HardwareTextureUpload: Failed to load texture image (error=6) [1509, texdata.c]
PVR:(Error): HardwareTextureUpload: Failed to load texture image (error=6) [1509, texdata.c]
WSEGLX11GetClipRect: Inconsistent X treePVR:(Error): HardwareSubTextureTwiddle: Failed to load texture image (error=6) [772, texdata.c]
PVR:(Error): HardwareTextureUpload: Failed to load texture image (error=6) [1509, texdata.c]
WSEGLX11GetClipRect: Inconsistent X tree

I use your last validated  SDK with a X window system : 4_00_00_01.

My kernel is a 2.6.35

What is the problem?

Regards.

  • Hi,

    Can you please provide more details on the graphics SDK environment/setup by running the following script-

    https://gforge.ti.com/gf/download/docmanfileversion/203/3715/gfx_check.sh

    You seem to be using an older SDK version -

    Jeje35 said:

    I use your last validated  SDK with a X window system : 4_00_00_01.

    The latest Graphics SDK version can be downloaded from -

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html

    Also in your logs, we see errors related to HardwareTextureUpload, so to confirm whether there is an issue with this, you can disable this in /etc/powervr.ini as -

     DisableHWTextureUpload=1 .

    This is 0 by default,  making it 1 will use software upload rather than transfer Queue (SGX Hardware). This is useful to rule out any problems in Transfer Queue.

    Thanks,

    Prathap.

  • Thanks for your reply.

    The result of the gfx_check.sh script is :

    ~ $ /usr/gfx_check.sh
    WSEGL settings
    [default]
    #WindowSystem=libpvrPVR2D_FRONTWSEGL.so
    #WindowSystem=libpvrPVR2D_FLIPWSEGL.so
    WindowSystem=libpvrPVR2D_X11WSEGL.so
    #WindowSystem=libpvrPVR2D_LINUXFBWSEGL.so
    #WindowSystem=libpvrPVR2D_BLITWSEGL.so

    ------
    ARM CPU information
    Processor       : ARMv7 Processor rev 3 (v7l)
    BogoMIPS        : 719.47
    Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant     : 0x1
    CPU part        : 0xc08
    CPU revision    : 3

    Hardware        : IGEP v2 board
    Revision        : 0020
    Serial          : 0000000000000000
    ------
    SGX driver information
    Version 1.4.14.2616 (debug) /usr/software/embedded-systems/subsystems/ti/omap/sdk/sdk-4.00.00-01/build-innes.player2G.boxpc-linux-xorg-arm/G
    FX_Linux_KM
    System Version String: SGX revision = 1.2.1
    ------
    Framebuffer settings

    mode "1280x720-60"
            # D: 64.000 MHz, H: 44.444 kHz, V: 59.979 Hz
            geometry 1280 720 1280 720 32
            timings 15625 80 48 3 13 32 5
            accel false
            rgba 8/16,8/8,8/0,0/0
    endmode

    ------
    Rotation settings
    0
    ------
    Kernel Module information
    Module                  Size  Used by    Not tainted
    omaplfb                 7814  0
    pvrsrvkm              315111  1 omaplfb
    twl4030_keypad          2954  0
    tca6416_keypad          2781  0
    idmouse                 3297  0
    ------
    Boot settings
    root=/dev/mmcblk0p2 rw rootwait mem=425M console=ttyS2,115200n8 console=ttyS2,115200n8 consoleblank=0 vram=12M omapfb.mode=dvi:1280x720MR-24
    @60
    ------
    Linux Kernel version
    Linux igepv2 2.6.35.13 #1 Tue Jun 28 18:06:29 CEST 2011 armv7l unknown

     

    I use the sdk 4_00_00_01 because you say that the sdk 4_03_00_02 has not been validated wtih X11 window system ( http://processors.wiki.ti.com/index.php/RN_4_03_00_02 )

    What is not supported

    • Power Management features are not fully validated. Active power management support available on OMAP35x/37x platforms only.
    • Kernel (for OMAP35x/AM35x/37xx) configured without DSS2 framework support will not work with the current display class driver.
    • PIXMAP - Fbdev dependancy removal is not supported in FLIP buffer swapping mode.
    • X11 window system has not been validated.

     

    I added DisableHWTextureUpload=1 in /etc/powervr.ini. The error "PVR:(Error): HardwareTextureUpload: Failed to load texture image (error=6) [1509, texdata.c]" has disappeared.

    But, the error "WSEGLX11GetClipRect: Inconsistent X tree" persists.

    Could you explain me why this error appears ?

  • Hi,

    We have mentioned in relesae notes - X11 has  not been validated since it has been sanity tested only.

    We have validated the OpenGL ES1.1, 2.0 PowerVR SDK demos in X and integration with window manager like enlightenment.

    In future releases, we plan to try out more tests/integration of window managers with X.  That is when we plan to mention about X11 support in release notes.

    Also i see from your settings that you have set the bpp to 24, but the graphics driver supports 16 and 32 bpp only.

    Can you please check if it helps - set the bootargs to 32 bpp(check for fbset to report alpha as non zero value) and try  your tests again?

    Thanks,

    Prathap.

  • Hi,

     

    My graphics driver supports bpp 24.

    But, I changed the bootargs. I set :

    root=/dev/mmcblk0p2 rw rootwait mem=425M console=ttyS2,115200n8 console=ttyS2,115200n8 consoleblank=0 vram=12M omapfb.mode=dvi:1280x720MR-32@60

    I ran the command fbset -i and I observed that the alpha as zero value.

    I changed my kernel. I forced the ddsmode to OMAP_DSS_COLOR_ARGB32 when 32 bpp is set in the file driver/video/omap2/omapfb/omap-main.c .

    Now, the command fbset -i returns :

    mode "1280x720-60"
            # D: 64.000 MHz, H: 44.444 kHz, V: 59.979 Hz
            geometry 1280 720 1280 720 32
            timings 15625 80 48 3 13 32 5
            accel false
            rgba 8/16,8/8,8/0,8/24
    endmode

    I try my test again but I have the same problem.

    Do you have another idea?

    Regards.

  • When do you plan to try out more tests/integration of window managers with X?

  • I send a email to epic@ti.com.

    Hi,
     
     
    But, the problem persists. So, I ask your help.
     
    I re explain the problem :
     
    My company develops a platform based on an omap3530 or a dm3730.
    My work consists of integrate the window manager "mutter" of GNOME3.
    So, I used a igepv2 board in order to test my work.
     
    First, I compiled your sdk 4_00_00_01 which provides the hardware graphics libraries.
    Yours tests works on my platform with a X system window.
     
    Secondly, I compiled the library Open-Source "cogl" with a backend "xlib-egl".
    Theirs tests works too.
     
    Thridly, I compiled the libraries Open-Source "clutter" and "mutter".
    I excute the binary "mutter" and an error occurs.
     
    The error is "WSEGLX11GetClipRect: Inconsistent X tree" and it comes of your library libpvrPVR2D_X11WSEGL.so.
     
    With my debugger, I observed that the error occurs while the call of the fonction eglSwapBuffers.
    I modified the code of cogl in order to check the error.
    The fonction eglSwapBuffers returns EGL_FALSE and the fonction eglGetError returns EGL_BAD_NATIVE_WINDOW.
     
    I read the egl specification of KHRONOS : "eglspec.1.4.20110406.pdf" 
     
    In this document, the error EGL_BAD_NATIVE_WINDOW for the fonction eglSwapBuffers means
    the native window associated with surface is no longer valid.
     
    So, I search in the code of mutter,clutter and cogl why the error occurs.
    But, I found nothing.
     
    So, I ask your help because I haven't the code of your library libpvrPVR2D_X11WSEGL.so.
     
    - Could you explain me when this error occurs?
     
    - How does the native window became bad?
     
    My company want to resolve this problem the fastest.
     
    Regards.
     
  • Some additionna comments:

    Jeje35 said:
    1 - when do you plan to make a new release available and what linux window managers will be tested ?

    http://tigraphics.blogspot.com/2011/07/ti-sgx-graphics-sdk-3q-update-nearing.html

     we have our first Xorg DRI driver release coming up beginning of August (see above blog). This will be tested with Enlightenment and an Angstrom based filesystem. We will not be able to support issues with other Window Managers in this release.

    The previous releases are all kdrive drivers, and not real Xorg DRI drivers.

     

     

  • I want to test your first Xorg DRI driver release.

    So, I downloaded and installed your Graphics SDK 4.04.00.02.

    I compiled with 3.x in debug mode. And, I inserted the drm and pvrsrkm modules.

    [   50.273681] [drm] Initialized drm 1.1.0 20060810
    [   55.648193] PVR: PVRSRVDrmLoad
    [   55.651397] PVR: PVRCore_Init
    [   55.664672] PVR: EnableSystemClocks: Enabling System Clocks
    [   55.670928] PVR: Setting GPTIMER11 parent to System Clock
    [   55.676574] PVR: GPTIMER11 clock is 13MHz
    [   55.680877] PVR: Setting GPTIMER11 mode to posted (currently is non-posted)
    [   55.688201] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088040
    [   55.694793] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088024
    [   55.702941] omaplfb: Device 0: Framebuffer physical address: 0x9f400000
    [   55.702941] omaplfb: Device 0: Framebuffer virtual address: 0xe0a00000
    [   55.702972] omaplfb: Device 0: Framebuffer size: 1572864
    [   55.703002] omaplfb: Device 0: Framebuffer virtual width: 1024
    [   55.703002] omaplfb: Device 0: Framebuffer virtual height: 768
    [   55.703033] omaplfb: Device 0: Framebuffer width: 1024
    [   55.703033] omaplfb: Device 0: Framebuffer height: 768
    [   55.703063] omaplfb: Device 0: Framebuffer stride: 2048
    [   55.703063] omaplfb: Device 0: LCM of stride and page size: 4096
    [   55.757659] omaplfb: Device 0: Maximum number of swap chain buffers: 1
    [   55.764556] omaplfb: Device 0: PVR Device ID: 1
    [   55.769561] [drm] Initialized pvrsrvkm 1.6.4117 mer août 31 CEST 2011 for SGX on minor 0

    After, I run the command "cat /proc/devices"

    ~ $ cat /proc/devices
    Character devices:
      1 mem
      4 /dev/vc/0
      4 tty
      4 ttyS
      5 /dev/tty
      5 /dev/console
      5 /dev/ptmx
      7 vcs
     10 misc
     13 input
     29 fb
     81 video4linux
     89 i2c
     90 mtd
    116 alsa
    128 ptm
    136 pts
    180 usb
    189 usb_device
    226 drm
    251 ttySDIO
    252 media
    253 ttyO
    254 rtc

    Block devices:
      1 ramdisk
    259 blkext
      7 loop
      8 sd
     31 mtdblock
     65 sd
     66 sd
     67 sd
     68 sd
     69 sd
     70 sd
     71 sd
    128 sd
    129 sd
    130 sd
    131 sd
    132 sd
    133 sd
    134 sd
    135 sd
    179 mmc


     

    I don't found the device pvrsrvkm. Why?

    How I create the device /dev/pvrsvrkm ?


  • The new Xorg driver is a DRI driver - follow the instructions specified in below link to see expected results.

    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide

     

  • Thanks for your answer.

    I have already read the instructions specified in this link.

    But, the rc_dri.pvr script exits with an error of the binary pvrsrvinit. It's strange.

    ~ $ /usr/local/bin/pvrsrvinit
    PVR:(Error): OpenServices: Cannot open device driver /dev/pvrsrvkm. [97, /pvr_bridge_u.c]

    So, I continue. I run "/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.conf &" and I had an error.

     _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
    _XSERVTransOpen: transport open failed for inet6/igepv2:0
    _XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6

    X.Org X Server 1.7.5
    Release Date: 2010-02-16
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 2.6.23.1-42.fc8 i686
    Current Operating System: Linux igepv2 2.6.37 #2 Wed Aug 31 12:00:37 CEST 2011 armv7l
    Kernel command line: console=ttyO2,115200n8 mpurate=auto vram=12M omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y omapdss.def_disp=dvi root=/d
    ev/mmcblk0p2 rw rootfstype=ext3 rootwait
    Build Date: 30 May 2011  10:41:43AM

    Current version of pixman: 0.16.4
            Before reporting problems, check http://wiki.x.org
            to make sure that you have the latest version.
    Markers: (--) probed, (**) from config file, (==) default setting,
            (++) from command line, (!!) notice, (II) informational,
            (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/usr/local/XSGX/var/log/Xorg.0.log", Time: Sat Jan  1 00:46:10 2000
    (++) Using config file: "/usr/local/XSGX/etc/xorg.conf"
    (==) No Layout section.  Using the first Screen section.
    (**) |-->Screen "Screen" (0)
    (**) |   |-->Monitor "<default monitor>"
    (**) |   |-->Device "Video Device"
    (==) No monitor specified for screen "Screen".
            Using a default monitor configuration.
    (==) Not automatically adding devices
    (==) Not automatically enabling devices
    (WW) The directory "/usr/local/XSGX/share/fonts/X11/TTF/" does not exist.
            Entry deleted from font path.
    (WW) The directory "/usr/local/XSGX/share/fonts/X11/OTF" does not exist.
            Entry deleted from font path.
    (==) FontPath set to:
            /usr/local/XSGX/share/fonts/X11/misc/,
            /usr/local/XSGX/share/fonts/X11/Type1/,
            /usr/local/XSGX/share/fonts/X11/100dpi/,
            /usr/local/XSGX/share/fonts/X11/75dpi/
    (==) ModulePath set to "/usr/local/XSGX/lib/xorg/modules"
    (==) |-->Input Device "Main Touch Screen"
    (==) |-->Input Device "<default keyboard>"
    (==) No Layout section. Using the first core pointer device.
    (==) No Layout section. Using the default keyboard configuration.
    (--) using VT number 2

    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libextmod.so
    (II) Module extmod: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdbe.so
    (II) Module dbe: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libglx.so
    (II) Module glx: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
    (==) AIGLX enabled
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri.so
    (II) Module dri: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri2.so
    (II) Module dri2: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.1.0
    (II) Loading /usr/local/XSGX/lib/xorg/modules/drivers/pvr_drv.so
    (II) Module PVR: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.6.4117
    (II) Loading /usr/local/XSGX/lib/xorg/modules/input/evdev_drv.so
    (II) Module evdev: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 2.3.3
    (II) Loading /usr/local/XSGX/lib/xorg/modules/input/kbd_drv.so
    (II) Module kbd: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.4.0
    (II) pvr: Driver for PowerVR chipsets: PowerVR SGX
    (WW) Falling back to old probe method for pvr
    (EE) SrvInit failed (error 4)
    (EE) No devices detected.

    Fatal server error:
    no screens found

    Please consult the The X.Org Foundation support
             at http://wiki.x.org
     for help.

    Please also check the log file at "/usr/local/XSGX/var/log/Xorg.0.log" for additional information.

     

    The file /usr/local/XSGX/var/log/Xorg.0.log is :

    _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
    _XSERVTransOpen: transport open failed for inet6/igepv2:0
    _XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6

    X.Org X Server 1.7.5
    Release Date: 2010-02-16
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 2.6.23.1-42.fc8 i686
    Current Operating System: Linux igepv2 2.6.37 #2 Wed Aug 31 12:00:37 CEST 2011 armv7l
    Kernel command line: console=ttyO2,115200n8 mpurate=auto vram=12M omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y omapdss.def_disp=dvi root=/d
    ev/mmcblk0p2 rw rootfstype=ext3 rootwait
    Build Date: 30 May 2011  10:41:43AM

    Current version of pixman: 0.16.4
            Before reporting problems, check http://wiki.x.org
            to make sure that you have the latest version.
    Markers: (--) probed, (**) from config file, (==) default setting,
            (++) from command line, (!!) notice, (II) informational,
            (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
    (==) Log file: "/usr/local/XSGX/var/log/Xorg.0.log", Time: Sat Jan  1 00:46:10 2000
    (++) Using config file: "/usr/local/XSGX/etc/xorg.conf"
    (==) No Layout section.  Using the first Screen section.
    (**) |-->Screen "Screen" (0)
    (**) |   |-->Monitor "<default monitor>"
    (**) |   |-->Device "Video Device"
    (==) No monitor specified for screen "Screen".
            Using a default monitor configuration.
    (==) Not automatically adding devices
    (==) Not automatically enabling devices
    (WW) The directory "/usr/local/XSGX/share/fonts/X11/TTF/" does not exist.
            Entry deleted from font path.
    (WW) The directory "/usr/local/XSGX/share/fonts/X11/OTF" does not exist.
            Entry deleted from font path.
    (==) FontPath set to:
            /usr/local/XSGX/share/fonts/X11/misc/,
            /usr/local/XSGX/share/fonts/X11/Type1/,
            /usr/local/XSGX/share/fonts/X11/100dpi/,
            /usr/local/XSGX/share/fonts/X11/75dpi/
    (==) ModulePath set to "/usr/local/XSGX/lib/xorg/modules"
    (==) |-->Input Device "Main Touch Screen"
    (==) |-->Input Device "<default keyboard>"
    (==) No Layout section. Using the first core pointer device.
    (==) No Layout section. Using the default keyboard configuration.
    (II) Loader magic: 0x1acb28
    (II) Module ABI versions:
            X.Org ANSI C Emulation: 0.4
            X.Org Video Driver: 6.0
            X.Org XInput driver : 7.0
            X.Org Server Extension : 2.0
    (--) using VT number 2

    (II) LoadModule: "extmod"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libextmod.so
    (II) Module extmod: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
            Module class: X.Org Server Extension
            ABI class: X.Org Server Extension, version 2.0
    (II) Loading extension MIT-SCREEN-SAVER
    (II) Loading extension XFree86-VidModeExtension
    (II) Loading extension XFree86-DGA
    (II) Loading extension DPMS
    (II) Loading extension XVideo
    (II) Loading extension XVideo-MotionCompensation
    (II) Loading extension X-Resource
    (II) LoadModule: "dbe"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdbe.so
    (II) Module dbe: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
            Module class: X.Org Server Extension
            ABI class: X.Org Server Extension, version 2.0
    (II) Loading extension DOUBLE-BUFFER
    (II) LoadModule: "glx"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libglx.so
    (II) Module glx: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
            ABI class: X.Org Server Extension, version 2.0
    (==) AIGLX enabled
    (II) Loading extension GLX
    (II) LoadModule: "dri"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri.so
    (II) Module dri: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.0.0
            ABI class: X.Org Server Extension, version 2.0
    (II) Loading extension XFree86-DRI
    (II) LoadModule: "dri2"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri2.so
    (II) Module dri2: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.1.0
            ABI class: X.Org Server Extension, version 2.0
    (II) Loading extension DRI2
    (II) LoadModule: "pvr"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/drivers/pvr_drv.so
    (II) Module PVR: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.6.4117
            Module class: X.Org Video Driver
            ABI class: X.Org Video Driver, version 6.0
    (II) LoadModule: "evdev"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/input/evdev_drv.so
    (II) Module evdev: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 2.3.3
            Module class: X.Org XInput Driver
            ABI class: X.Org XInput driver, version 7.0
    (II) LoadModule: "kbd"
    (II) Loading /usr/local/XSGX/lib/xorg/modules/input/kbd_drv.so
    (II) Module kbd: vendor="X.Org Foundation"
            compiled for 1.7.5, module version = 1.4.0
            Module class: X.Org XInput Driver
            ABI class: X.Org XInput driver, version 7.0
    (II) pvr: Driver for PowerVR chipsets: PowerVR SGX
    (WW) Falling back to old probe method for pvr
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 7, (OK)
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 7, (OK)
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 7, (OK)
    drmGetBusid returned ''
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 7, (OK)
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 7, (OK)
    drmOpenDevice: node name is /dev/dri/card0
    drmOpenDevice: open result is 7, (OK)
    drmGetBusid returned ''
    (EE) SrvInit failed (error 4)
    (EE) No devices detected.

    Fatal server error:
    no screens found

    Please consult the The X.Org Foundation support
             at http://wiki.x.org
     for help.
    Please also check the log file at "/usr/local/XSGX/var/log/Xorg.0.log" for additional information.


    I run "dmesg" and it returns :

    [  120.355346] [drm] Initialized drm 1.1.0 20060810
    [  124.855163] PVR: PVRSRVDrmLoad
    [  124.858398] PVR: PVRCore_Init
    [  124.875518] PVR: EnableSystemClocks: Enabling System Clocks
    [  124.881744] PVR: Setting GPTIMER11 parent to System Clock
    [  124.887542] PVR: GPTIMER11 clock is 13MHz
    [  124.891906] PVR: Setting GPTIMER11 mode to posted (currently is non-posted)
    [  124.899291] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088040
    [  124.905914] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088024
    [  124.914031] omaplfb: Device 0: Framebuffer physical address: 0x9f400000
    [  124.914062] omaplfb: Device 0: Framebuffer virtual address: 0xe0a00000
    [  124.914062] omaplfb: Device 0: Framebuffer size: 1572864
    [  124.914093] omaplfb: Device 0: Framebuffer virtual width: 1024
    [  124.914123] omaplfb: Device 0: Framebuffer virtual height: 768
    [  124.914123] omaplfb: Device 0: Framebuffer width: 1024
    [  124.914154] omaplfb: Device 0: Framebuffer height: 768
    [  124.914154] omaplfb: Device 0: Framebuffer stride: 2048
    [  124.914184] omaplfb: Device 0: LCM of stride and page size: 4096
    [  124.968475] omaplfb: Device 0: Maximum number of swap chain buffers: 1
    [  124.975433] omaplfb: Device 0: PVR Device ID: 1
    [  124.980468] [drm] Initialized pvrsrvkm 1.6.4117 mer août 31 CEST 2011 for SGX on minor 0
    [  129.279052]
    [  129.279052] =============================================
    [  129.286285] [ INFO: possible recursive locking detected ]
    [  129.291931] 2.6.37 #2
    [  129.294311] ---------------------------------------------
    [  129.299987] X/962 is trying to acquire lock:
    [  129.304443]  (psPVRSRVMutex){+.+.+.}, at: [<bf05d754>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [  129.313385]
    [  129.313385] but task is already holding lock:
    [  129.319488]  (psPVRSRVMutex){+.+.+.}, at: [<bf05d754>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [  129.328277]
    [  129.328277] other info that might help us debug this:
    [  129.335113] 2 locks held by X/962:
    [  129.338684]  #0:  (drm_global_mutex){+.+.+.}, at: [<bf00411c>] drm_stub_open+0x38/0x1e0 [drm]
    [  129.347808]  #1:  (psPVRSRVMutex){+.+.+.}, at: [<bf05d754>] LinuxLockMutex+0x18/0x20 [pvrsrvkm]
    [  129.357055]
    [  129.357055] stack backtrace:
    [  129.361663] [<c004a00c>] (unwind_backtrace+0x0/0xec) from [<c00a0090>] (__lock_acquire+0xe18/0x17c8)
    [  129.371276] [<c00a0090>] (__lock_acquire+0xe18/0x17c8) from [<c00a0b18>] (lock_acquire+0xd8/0xfc)
    [  129.380584] [<c00a0b18>] (lock_acquire+0xd8/0xfc) from [<c0414bfc>] (mutex_lock_nested+0x60/0x2e4)
    [  129.390106] [<c0414bfc>] (mutex_lock_nested+0x60/0x2e4) from [<bf05d754>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm])
    [  129.400878] [<bf05d754>] (LinuxLockMutex+0x18/0x20 [pvrsrvkm]) from [<bf05aed4>] (DebugMemAllocRecordAdd+0x24/0x25c [pvrsrvkm])
    [  129.413116] [<bf05aed4>] (DebugMemAllocRecordAdd+0x24/0x25c [pvrsrvkm]) from [<bf05ae68>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm])
    [  129.425445] [<bf05ae68>] (_KMallocWrapper+0x78/0x88 [pvrsrvkm]) from [<bf061cbc>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm])
    [  129.437011] [<bf061cbc>] (OSAllocMem_Impl+0x28/0xd0 [pvrsrvkm]) from [<bf041ac4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm])
    [  129.449768] [<bf041ac4>] (PVRSRVPerProcessDataConnect+0x94/0x364 [pvrsrvkm]) from [<bf04dfd4>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm])
    [  129.462982] [<bf04dfd4>] (PVRSRVProcessConnect+0x1c/0x2c [pvrsrvkm]) from [<bf05f950>] (PVRSRVOpen+0x3c/0x1c0 [pvrsrvkm])
    [  129.474700] [<bf05f950>] (PVRSRVOpen+0x3c/0x1c0 [pvrsrvkm]) from [<bf07ccbc>] (PVRSRVDrmOpen+0x1e8/0x1f8 [pvrsrvkm])
    [  129.485900] [<bf07ccbc>] (PVRSRVDrmOpen+0x1e8/0x1f8 [pvrsrvkm]) from [<bf004494>] (drm_open+0x1d0/0x4d4 [drm])
    [  129.496490] [<bf004494>] (drm_open+0x1d0/0x4d4 [drm]) from [<bf0041e4>] (drm_stub_open+0x100/0x1e0 [drm])
    [  129.506591] [<bf0041e4>] (drm_stub_open+0x100/0x1e0 [drm]) from [<c00fe4ac>] (chrdev_open+0x17c/0x1a4)
    [  129.516387] [<c00fe4ac>] (chrdev_open+0x17c/0x1a4) from [<c00f9a24>] (__dentry_open+0x188/0x2a8)
    [  129.525604] [<c00f9a24>] (__dentry_open+0x188/0x2a8) from [<c00f9c0c>] (nameidata_to_filp+0x48/0x54)
    [  129.535186] [<c00f9c0c>] (nameidata_to_filp+0x48/0x54) from [<c01057cc>] (do_last+0x450/0x580)
    [  129.544250] [<c01057cc>] (do_last+0x450/0x580) from [<c0107220>] (do_filp_open+0x158/0x4dc)
    [  129.553009] [<c0107220>] (do_filp_open+0x158/0x4dc) from [<c00f97e8>] (do_sys_open+0x58/0xe4)
    [  129.561950] [<c00f97e8>] (do_sys_open+0x58/0xe4) from [<c0044260>] (ret_fast_syscall+0x0/0x3c)

    Why I obtain this error?

     

  • Are the procedures mentioned in the link to install the kernel modules followed ? It appears that dri kernel module is not inserted.

     

  • Hi,

    Hope you have taken care of the steps mentioned in -

    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide#Xorg_Execution_steps

    Specially, while installing you have used SUPPORT_XORG=1 ie - make BUILD=release or debug OMAPES=3.x SUPPORT_XORG=1 install.

    After this have you checked the output you are getting is matching with desired output as shown in the below link- http://processors.wiki.ti.com/index.php/SGXDbg#Integration_with_DRI.2FDRM_.28Xorg.29

    Make sure you are getting similar output to ensure that the system is ready to run X apps. I am copy/pasting some key steps below-

    * Also check lsmod shows the output as below-
    root@arago:/opt/targetfs# lsmod
    Module                  Size  Used by
    pvrsrvkm              165296  2
    drm                   128254  3 pvrsrvkm

    * dmesg should show successful drm initialization -
    root@arago# dmesg | grep -i drm
    [drm] Initialized drm 1.1.0 20060810
    [drm] Initialized pvrsrvkm 1.6.4117 Mon July 18 IST 2011 for SGX on minor 0

    * Also check if X is running - issue ps -eaf command on Panda board and make sure X is running -
    root      2136     1  1 07:47 tty2     00:00:05 /usr/local/XSGX/bin/X -verbose
    If its not running then drm module might not have inserted properly. In this case issue depmod -a command on board Linux command prompt and reboot the board.

    Once the board comes up, run the omap-demo script again if not run by default.

    * Now issue following commands -
    export LD_LIBRARY_PATH=/usr/local/XSGX/lib
    export DISPLAY=:0

    * Now the system is ready to run any X-app. One can run unit test application as shown -
    root@omap4430-panda:/opt/targetfs# /usr/local/XSGX/bin/glxgears
    193 frames in 5.0 seconds = 38.411 FPS
    192 frames in 5.0 seconds = 38.355 FPS
    193 frames in 5.0 seconds = 38.428 FPS

    Thanks,

    Prathap.

  • I had the same problem.  /dev/pvrsrvkm was not created when insmod pvrsrvkm.  If I built without SUPPORT_XORG enable, everything seemed fine, and I could run the demos.  When I turned on SUPPORT_XORG, pvrsrmkm device file was not created, but dmesg did not show any error.  I have gone over the wiki pages, but I still could not get X to run (SrvInit error 4).  When I straced pvrsvrinit, it could not find the device pvrsrvkm.  How did you get it to work?  Thanks.

  • Hi,

    What device & EVM are you using? Is it the same as the one mentioned in this thread earlier ie board based on OMAP3530?

    Can you provide the graphics SDK release version & the PSP release versions you are using?

    Also please post the output of below script, when raising queries related to SGX drivers:

    https://gforge.ti.com/gf/download/docmanfileversion/203/3715/gfx_check.sh

    Also have you gone through the below pages-

    http://processors.wiki.ti.com/index.php/SGXDbg

    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide

    If you look at this thread, there is a verified answer marked(A verified answer means that the user facing the problem tried the steps mentioned & could get it working successfully on his setup/environment & hence has marked it as verified).  Can you ensure that you are following the steps exactly as mentioned in the verified answer/user guide for your device?

    Try to match the output/logs of each step as mentioned in verified answer & user guide for your device with the output/logs on your system. This should help you to isolate & trouble shoot the issue just like the other user on this thread who got it working successfully.

    Thanks,

    Prathap.

  • This is not an evm. I'm trying to get TI SDK, particularly support for DRI, to run on kernel 2.6.37.  I modified powervr.ini to use either X11 or DRI, and both with the same results:  could not start X.

    When insmod pvrsrvkm.ko, no /dev/pvrsrvkm was created.

    Output of pvrsrvinit:

    PVR:(Error): OpenServices: Cannot open device driver /dev/pvrsrvkm. [101, /pvr_bridge_u.c]
    PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed [2089, /bridged_pvr_glue.c]
    PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (4) [56, /srvinit.c]
    PVR:(Error): main: SrvInit failed (4) [47, /main.c]

    Here is the output of gfx_check.sh

    2352.gfx_check.txt

    dmesg

    [ 1553.852355] [drm] Initialized drm 1.1.0 20060810
    [ 1558.865539] PVR: PVRSRVDrmLoad
    [ 1558.903320] PVR: PVRCore_Init
    [ 1558.989776] PVR: EnableSystemClocks: Enabling System Clocks
    [ 1559.058380] PVR: GPTIMER11 clock is 13MHz
    [ 1559.107788] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088040
    [ 1559.183654] PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa088024
    [ 1559.261016] omaplfb: Device 0: Framebuffer physical address: 0x9e400000
    [ 1559.261047] omaplfb: Device 0: Framebuffer virtual address: 0xa2000000
    [ 1559.261047] omaplfb: Device 0: Framebuffer size: 8388608
    [ 1559.261077] omaplfb: Device 0: Framebuffer virtual width: 1024
    [ 1559.261077] omaplfb: Device 0: Framebuffer virtual height: 1200
    [ 1559.261077] omaplfb: Device 0: Framebuffer width: 1024
    [ 1559.261108] omaplfb: Device 0: Framebuffer height: 600
    [ 1559.261108] omaplfb: Device 0: Framebuffer stride: 2048
    [ 1559.261108] omaplfb: Device 0: LCM of stride and page size: 4096
    [ 1559.894958] omaplfb: Device 0: Maximum number of swap chain buffers: 6
    [ 1559.975067] omaplfb: Device 0: PVR Device ID: 1
    [ 1560.031005] [drm] Initialized pvrsrvkm 1.7.783851 Fri August 10 PDT 2012 for SGX on minor 0

  • Hi,

    Have you ensured that you are exactly following the steps as mentioned in below pages. Also did you go through all the problems listed & debug steps mentioned in wiki page below-

    http://processors.wiki.ti.com/index.php/SGXDbg#Integration_with_DRI.2FDRM_.28Xorg.29

    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide#Xorg_Execution_steps

    Also did you check your output/logs with the output/logs provided in wiki pages & also the steps mentioned in verified answer.

    If you see the below steps/checks  to be fine on your system, then it means your system is up & you can run X apps -

    1)lsmod shows drm, pvrsrvkm modules -

    # lsmod
    Module                  Size  Used by
    pvrsrvkm              436713  3
    drm                   168598  4 pvrsrvkm

    2) ps command shows X running -

    # ps  | grep X
     2988 root     16684 S    /usr/local/XSGX/bin/X -verbose -config /usr/local/XSG

    3)dmesg should show the pvrsrvkm, drm init messages as below -

    # dmesg | grep -i drm
    [  313.773284] [drm] Initialized drm 1.1.0 20060810
    [  314.118225] [drm] Initialized pvrsrvkm 1.7.783851 Mon August 13 IST 2012 for SGX on minor 0

    Now if all 3 above steps are OK, this means the setup is proper and ready to run any X apps.

    Now set the LD_LIBRARY_PATH and DISPLAY as below-

    root@arago:/usr# export LD_LIBRARY_PATH=/usr/local/XSGX/lib
    root@arago:/usr# export DISPLAY=:0

    One can run the unit test application present under /opt/gfxlibraries/gfx_rel_es5.x as -
    root@arago:/opt/gfxlibraries/gfx_rel_es5.x# ./xgles1test1 -f 1000
    --------------------- started ---------------------
    (II) pvr(0): [dri] Drawable 0x206f18 - Creating buffer (att 1, 320 x 320, f 0) at 0x204bf8
    (II) pvr(0): [dri] Drawable 0x206f18 - Creating buffer (att 0, 320 x 320, f 0) at 0x207570

    This will show 2 quickly flipping triangles on the display.


    One can also run glxgears test from (/usr/local/XSGX/bin)-

    root@arago:/usr/local/XSGX/bin# ./glxgears

    211 frames in 5.0 seconds = 42.115 FPS
    210 frames in 5.0 seconds = 41.937 FPS
    210 frames in 5.0 seconds = 41.949 FPS
     

    If still you are not able to get things working, please provide your complete execution teraterm or hyperterminal logs right from bootup.

    The logs should include all the steps done/commands issued right from bootup.

    Thanks,

    Prathap.

     

     

  • The problem I had was X could not run although drm.ko and pvrsrvkm.ko were inserted with no error.

    [546865.469] (--) using VT number 2
                        
    [546865.487] (WW) Falling back to old probe method for pvr
    [546865.487] drmOpenDevice: node name is /dev/dri/card0
    [546869.389] drmOpenDevice: open result is 7, (OK)                   
    [546869.389] drmOpenDevice: node name is /dev/dri/card0                                         
    [546869.390] drmOpenDevice: open result is 7, (OK)                                                                  
    [546869.390] drmOpenDevice: node name is /dev/dri/card0
    [546869.390] drmOpenDevice: open result is 7, (OK)
    [546869.390] drmGetBusid returned ''          
    [546869.393] drmOpenDevice: node name is /dev/dri/card0           
    [546869.394] drmOpenDevice: open result is 7, (OK)    
    [546869.394] drmOpenDevice: node name is /dev/dri/card0                        
    [546869.394] drmOpenDevice: open result is 7, (OK)              
    [546869.394] drmOpenDevice: node name is /dev/dri/card0              
    [546869.395] drmOpenDevice: open result is 7, (OK)                                              
    [546869.395] drmGetBusid returned ''                                
    [546869.395] (EE) SrvInit failed (error 4)    
    [546869.395] (EE) No devices detected.   
    [546869.395]                                         
    Fatal server error:                            
    [546869.395] no screens found                              

  • Hi,

    Have you gone through the below section? Have you taken care of things mentioned in below link?

    http://processors.wiki.ti.com/index.php/SGXDbg#X_fails_to_start

    Also as mentioned earlier, please provide the complete serial terminal logs right from kernel bootup.

    Also share your exact build & install command lines that you have used for the graphics SDK.

    We can then check if you are missing any step that is causing the issue.

    Thanks,

    Prathap.

     

    • If X is failing to start with the error message - (WW) xf86OpenConsole: setpgid failed: Operation not permitted -

    Check if matrix gui in file system is running using ps command. If yes, stop it with /etc/init.d/matrix-gui-e stop. Then stop/start the graphics driver with /etc/init.d/rc.pvr stop followed by /etc/init.d/rc.pvr start.

     

    I do not have matrix-gui-e running.   What else can I check?  Some sample outputs on the wiki have this warning also.  Is this only a warning?

     

    • If you are getting some error like SrvInit failed (error 4) or No screens found, make sure that pvrsrvkm, drm modules are loaded successfully & X is running. Check for the lsmod output to show pvrsrvkm, drm modules & ps command to show X running. If pvrsrvkm fails to load(you do not see pvrsrvkm on issuing lsmod command), then issue depmod -a command, reboot the board & repeat the steps.

     

    Yes.  I got this error, but lsmod and dmesg show drm and pvrsrvkm inserted without error.

     

    • Also check if you have xorg.conf file under /usr/local/XSGX/etc directory on the target(EVM). If not copy the file xorg.conf from targetfs folder present in the graphics SDK release package to this path(/usr/local/XSGX/etc) on target.

     

    Yes.  I do have xorg.conf in that location.

     

    My build and install commands:

    make -C OMAP_3D_SDK BUILD=debug OMAPES=5.x FBDEV=yes SUPPORT_XORG=1 all

    make -C OMAP_3D_SDK BUILD=debug OMAPES=5.x SUPPORT_XORG=1 install

     

    This is the output of gfx_check.sh and the steps I used to start pvr.  I changed my boot args a bit from previous email to try.

    4152.pvr.txt

    Thank you very much.

     

  • Hi,

    I went through the logs you provided & i will suggest some changes as below -

    1)Install with sudo.

    2)Do not insmod pvrsrvkm, drm manually. Just run the omap-demo as mentioned for OMAP35x/AM35x/37x section below-

    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide#Xorg_Execution_steps

    This script should take care of installing libs, staring X and insmoding the required modules.

    I am attaching the output/logs of running omap-demo script on my setup for reference.

    Thanks,

    Prathap.

     

  • Attaching the log file.

    Thanks,

    Prathap.

  • Thanks, I got it to work.  The link to libsrv_um.so did not point to the dri version. 

    Now that pvr works with your supplied version of X, how do I get my version of X to work with your PVR drivers and libraries?  Do you support Xorg 1.12 or 1.10?   When I ran my version of X, I got module ABI version mismatch.  If I ignoreABI, then I got segmentation fault. 

    Thank you very much for your support.

  • Hi,

    Glad to know that Xorg driver is working on your setup.

    Thatswhy i mentioned about install step. Becuase this takes care to copy the right libsrv_um.so on target.

    If SUPPORT_XORG=1, then the install step takes care of  libsrv_um_dri.so being coped as libsrv_um.so on target.

    If you skip the install steps & doing manually, then you should take care of these aspects.

    The Xorg file system supplied with release is the one we have tested against. As of now, we have tested & are supporting Xorg 1.9.0.

    Thanks,

    Prathap.

  • Thank you.

    Is there any plan to support newer X?  I got the setup to work with X, but it was useless because we use newer X.

     

  • Hi,

    Good to know that you have got X working on your setup.

    We support what we have tested against & thats what we provide as part of the release.

    Having said that, there are customers who have tried building their own X version & got it working on their own. You can refer to the below link -

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/171553/637561.aspx

    We are packaging the Xorg source tarball with patches used from graphics SDK 04.06.00.02 release onwards( can be found under targetfs/xorg_source directory of the graphics SDK release).

    Thanks,

    Prathap.

  • Hi,

    3Q update of the Linux graphics SDK release - 04.08.00.01 supporting Xorg 1.10.1 is available for download. Please find the details below in case you are intetested -

    http://tigraphics.blogspot.in/2012/10/3q-2012-update-of-linux-graphics-sdk.html

    Direct download link to the list of release packages -

    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/gfxsdk/4_08_00_01/index_FDS.html

    Release notes -

    http://processors.wiki.ti.com/index.php/RN_4_08_00_01

    User guide-

    http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide

     Debugging guide-

    http://processors.wiki.ti.com/index.php/SGXDbg

     

    Thanks,

    Prathap.

     

  • Hi, Prathap.

    Does TI recommend specific tool chains to build the SDK and X?  What tool chains do you use?  I could not build MesaLib 7.10.2 because of undefined reference to `__sync_sub_and_fetch_4'.  I think I need to update to a newer version of toolchain.

    Thanks.

  • Hello.

    I've recently download the latest release of the PVR driver in the sdk 04.08.0.1.  When I ran TI prebuilt X version, X could start OK.  When I built my own version with the components in the xorg source, I could not start my X.  I got the following error message:

    [1785257.021] (EE) pvr(0): PVRAccelInit failed.  Could not setup PVR acceleration.    

    2654.pvraccelfailedXorg.0.log

    3443.minicom.log

    1050.dmesg.log


    Would you please help me troubleshoot this problem?  Thank you.

  • Hi,

    The release notes will mention about the toolchain that we have used for build & validation of the release.

    When you mention that the X built by you is failing, can you please let us know how are you building it? Have you applied all the patches provided as well?

    Is this the first time you are trying to build your own X for using with the graphics SDK release or had you got it working with earlier graphics SDK releases?

    Can you provide output of lsmod?Are the modules getting inserted successfully ie pvrsrvkm & drm. These are the only 2 modules that need to be inserted from a graphics driver perspective.

    Thanks,

    Prathap.

  • lsmod showed drm and pvrsrvkm inserted.  The dmesg.log also has that information.  It must be something wrong with my X build because TI build was OK.  I had my X build worked with previous SDK version 4.06.00.1 and 4.06.00.2.  I replaced the my components in new TI xorg_source and apply the patches in the patches/ folder.  I also install the new pvr_drv.so with the new build.  My new X build works if I use fbdev instead of pvr driver.  Is it possible for you to provide us with your X makefile so we can see how components are configured?

    Thank you so much.

     

     

  • Hi,

    I analyzed your logs & see that you are missing directory named "pvr" under /usr/local/XSGX on your target.

    Please refer to the 04.08.00.01 release. It will have folder XSGX/share/pvr under the top level targetfs folder of the release package.

    Graphics_SDK_4_08_00_01/targetfs/XSGX/share$ ls
    aclocal  doc  fonts  locale  man  pkgconfig  pvr  util-macros  X11  xcb

    Graphics_SDK_4_06_00_03/targetfs/XSGX/share$ ls
    aclocal  doc  fonts  locale  man  pkgconfig  util-macros  X11  xcb

    Please see the above difference between 04.06.00.03 & 04.08.00.01 release. In 04.08.00.01 release you have additional directory by name pvr. Please copy this directory & its contents on to your target Xorg file system & it should work.

    You mentioned that TI Xorg file system works while yours does not work. This is because of above reason, when you created your own Xorg file system, you probably have missed copying this required directory (ie the pvr directory under XSGX/share. ou can copy this from the 04.08.00.01 release on to target at required path.).

    Thanks,

    Prathap.

  • Hi,

    I copied the pvr folder to my X target fs, but I still got the same error.  My target fs is not at /usr/local/XSGX.  When I created /usr/local/XSGX/share/pvr, then it seemed to work.  (I'm working remotely, can't fully verify the display yet.)  Is there anyway to configure the path of the this folder?  Thanks.

     

     

  • Hi,

    If you had used the graphics SDK install, it will take care to install the xorg file system (XSGX folder) (present under targetfs folder of the graphics SDK release) to the required path on the target file system.

    Otherwise you have to take care of manually copying if you are not using the graphics SDK install procedure. This should solve the issue you are facing.

    Thanks,

    Prathap.

  • My question was if we could tell the driver to look at a different location instead of a hardcoded /usr/local/XSGX/share/pvr.  Anyway, putting the folder there resolved my problem. I did not see the verify button.  I used it before, but I do not remember where it is. 

    Thank you very much, Prathap.

  • Hi,

    You are welcome. Glad to know that the problem is resolved & you  are now able to use the X you had built with the latest graphics SDK release.

    Since these queries were posted as part of a thread that already had a verified answer, may be that's the reason you are not able to see verify button.

    Anyways thanks for confirming that the problem is resolved . So that should help others to use the solution whenever they face  a similar problem.

    Thanks,

    Prathap.

  • Hi, Prathap.

    I'm testing the PVR driver with 3d games.  On one of the games, the frames were sometimes displayed sideway (the width became the height, N looked like Z).  The games developers suspects that there is a problem with glCopyTexImage2D and that the driver reads the buffer is a different orientation than the displayed orientation.  I saw some warning messages below, but they were not particular for when the orientation messed up.

    PVR:(Warning): Recompiling vertex shader on varying mismatch [3538, /shader.c]
    PVR:(Warning): Recompiling vertex shader on varying mismatch [3538, /shader.c]

    This happened with both X build included in the SDK as well as my build.  I did not recall it happened with the older sdk version 04.06.00.2.

    Is there anything settings that could help resolves this problem? 

    Thanks.

  • Since I ran the released version of the kernel module (pvrsrvkm.ko) and released pvr_drv.so, I have not seen this problem. 

    I'm looking for a benchmarking system to compare the performance of this pvr driver and our old one.  Could you please suggest one?  Thanks.

  • Hi,

    You can try X11perf, PVRTune -

    http://www.imgtec.com/powervr/insider/powervr-pvrtune.asp

    Also when you build the graphics SDK release, if you use debug build & run the 3D demos then it prints the fps numbers on exit of the demo.

    Thanks,

    Prathap.

  • Hi, Prathap.

    Happy New Year!

    I could not find any road map for SGX SDK.  Do you have one?  Do you have any plan to support multi touch Xserver?  Thanks.