PowerVR GPU is working on vivid 15.04 but not working on xenial 16.04

1 438

I'm using two Lemaker Guitar boards: one with Ubuntu Mate vivid 15.04 and the other one with Ubuntu Mate xenial 16.04 which are downloaded from Lemaker website. I'm using them to run Qt application. I found that the same applications is working smoothly on vivid but it's very slow on xenial. I found that with glxinfo command vivid is using PowerVR SGX544 GPU and xenial is using VMware which I think it's a software rendering. Making a comparison and looking into Xorg log file I found that vivid has XSGX folder in /usr/local that has all the necessary modules and stuff to make the GPU work. This folder in xenial doesn't even exit so Xorg tries to run PowerVR GPU by loading it's modules and it can't find them so it aborts the PowerVR GPU load and it loads the VMware one. I added the librairies from vivid to xenial and restart X but it still doesn't make the GPU work. Taking a look at Xorg log file I found this:

[   624.081] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[   624.090] (II) xfree86: Adding drm device (/dev/dri/card0)
[   624.097] (EE) systemd-logind: failed to take device /dev/dri/card0: Operation not permitted
[   624.098] (II) no primary bus or device found
[   624.099]    falling back to /sys/devices/b0300000.gpu/drm/card0


[  9696.312] (II) LoadModule: "pvr"
[  9696.313] (II) Loading /usr/lib/xorg/modules/drivers/pvr_drv.so
[  9696.327] (II) Module PVR: vendor="X.Org Foundation"
[  9696.327]    compiled for 1.13.0, module version = 114.106.5561
[  9696.327]    Module class: X.Org Video Driver
[  9696.327]    ABI class: X.Org Video Driver, version 13.0
[  9696.327] (WW) module ABI major version (13) doesn't match the server's version (20)
[  9696.328] (II) pvr: Driver for PowerVR chipsets: PowerVR SGX
[  9697.112] (WW) Falling back to old probe method for pvr
[  9697.492] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[  9698.031] (II) pvr(0): Creating default Display subsection in Screen section
        "Screen" for depth/fbbpp 24/32
[  9698.031] (==) pvr(0): Depth 24, (--) framebuffer bpp 32
[  9698.031] (==) pvr(0): RGB weight 888
[  9698.032] (==) pvr(0): Default visual is TrueColor
[  9698.032] (==) pvr(0): Using gamma correction (1.0, 1.0, 1.0)
[  9698.032] (--) pvr(0): Virtual size is 1280x720 (pitch 1280)
[  9698.032] (**) pvr(0):  Built-in mode "1280x720"
[  9698.032] (==) pvr(0): DPI set to (96, 96)

And at the end, after loading the other modules, I get segmentation fault and Xorg crashes:

[  9699.061] (II) This device may have been added with another device file.
[  9699.081] (EE)
[  9699.082] (EE) Backtrace:
[  9699.082] (EE)
[  9699.082] (EE) Segmentation fault at address 0x0
[  9699.082] (EE)
Fatal server error:
[  9699.083] (EE) Caught signal 11 (Segmentation fault). Server aborting
[  9699.083] (EE)
[  9699.083] (EE)

Is it because it didn't add drm device (/dev/dri/card0)? Why this operation is not permitted? I compared the file permissions on both devices and I found that they're the same: crw-rw----+ 1 root video 226, 0 Feb 11  2016 /dev/dri/card0
How to make this work? Or is there any other way to make the GPU work normally on xenial 16.04?

Those fellows who are using PowerVR GPU can make use of the information that has been given above. I did not understand anything because   mobilerepeater.fr I am not using it. But I am sharing it with my friends.

You have to log in before you can reply Login | Sign Up

Points Rules