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.

Can't start X.org with 3D acceleration (Unhandled fault)

Guru 10685 points

I've followed this guide and tried to get X.org running  with 3D acceleration but it just isn't working. There is a crash related to the pvrsrvkm module.

Here is the output:

# /usr/local/share/ti/ti-media-controller-utils/load-hd-firmware.sh start
Loading HDVICP2 Firmware
DM816X prcm_config_app version: 2.0.0.1
Doing PRCM settings...
        PRCM for IVHD0 is in Progress, Please wait.....
                        BW Phy Addr : 0x0001114c Data : 0x48180600
                        AW Phy Addr : 0x00000000 Data : 0x48180600
                        Phy Addr : 0x0001114c Data : 0x48180c04
                        BW Phy Addr : 0x0001114c Data : 0x48180620
                        AW Phy Addr : 0x00000000 Data : 0x48180620
                        BW Phy Addr : 0x0001114c Data : 0x48180624
                        AW Phy Addr : 0x00000000 Data : 0x48180624
                        Phy Addr : 0x0001114c Data : 0x48180600
                        BW Phy Addr : 0x0001114c Data : 0x48180c10
                        AW Phy Addr : 0x00000000 Data : 0x48180c10
                        Phy Addr : 0x0001114c Data : 0x48180c14
                        BW Phy Addr : 0x0001114c Data : 0x58088000
                        AW Phy Addr : 0x00000000 Data : 0x58088000
                        BW Phy Addr : 0x0001114c Data : 0x58098000
                        AW Phy Addr : 0x00000000 Data : 0x58098000
                        BW Phy Addr : 0x0001114c Data : 0x48180c10
                        AW Phy Addr : 0x00000000 Data : 0x48180c10
                        Phy Addr : 0x0001114c Data : 0x48180c14
        PRCM for IVHD0 is Done Successfully
        PRCM for IVHD1 is in Progress, Please wait.....
                        BW Phy Addr : 0x0001114c Data : 0x48180700
                        AW Phy Addr : 0x00000000 Data : 0x48180700
                        Phy Addr : 0x0001114c Data : 0x48180d04
                        BW Phy Addr : 0x0001114c Data : 0x48180720
                        AW Phy Addr : 0x00000000 Data : 0x48180720
                        BW Phy Addr : 0x0001114c Data : 0x48180724
                        AW Phy Addr : 0x00000000 Data : 0x48180724
                        Phy Addr : 0x0001114c Data : 0x48180700
                        BW Phy Addr : 0x0001114c Data : 0x48180d10
                        AW Phy Addr : 0x00000000 Data : 0x48180d10
                        Phy Addr : 0x0001114c Data : 0x48180d14
                        BW Phy Addr : 0x0001114c Data : 0x5a088000
                        AW Phy Addr : 0x00000000 Data : 0x5a088000
                        BW Phy Addr : 0x0001114c Data : 0x5a098000
                        AW Phy Addr : 0x00000000 Data : 0x5a098000
                        BW Phy Addr : 0x0001114c Data : 0x48180d10
                        AW Phy Addr : 0x00000000 Data : 0x48180d10
                        Phy Addr : 0x0001114c Data : 0x48180d14
        PRCM for IVHD1 is Done Successfully
        PRCM for IVHD2 is in Progress, Please wait.....
                        BW Phy Addr : 0x0001114c Data : 0x48180800
                        AW Phy Addr : 0x00000000 Data : 0x48180800
                        Phy Addr : 0x0001114c Data : 0x48180e04
                        BW Phy Addr : 0x0001114c Data : 0x48180820
                        AW Phy Addr : 0x00000000 Data : 0x48180820
                        BW Phy Addr : 0x0001114c Data : 0x48180824
                        AW Phy Addr : 0x00000000 Data : 0x48180824
                        Phy Addr : 0x0001114c Data : 0x48180800
                        BW Phy Addr : 0x0001114c Data : 0x48180e10
                        AW Phy Addr : 0x00000000 Data : 0x48180e10
                        Phy Addr : 0x0001114c Data : 0x48180e14
                        BW Phy Addr : 0x0001114c Data : 0x53088000
                        AW Phy Addr : 0x00000000 Data : 0x53088000
                        BW Phy Addr : 0x0001114c Data : 0x53098000
                        AW Phy Addr : 0x00000000 Data : 0x53098000
                        BW Phy Addr : 0x0001114c Data : 0x48180e10
                        AW Phy Addr : 0x00000000 Data : 0x48180e10
                        Phy Addr : 0x0001114c Data : 0x48180e14
        PRCM for IVHD2 is Done Successfully
PRCM Initialization completed
SysLink version : 2.00.05.85
SysLink module created on Date:Mar  2 2012 Time:17:15:42
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [Location of Mem map bin file]
FIRMWARE: Default memory configuration is used
MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.1.1
FIRMWARE: Memory Configuration status : In Progress
FIRMWARE: 1 start Successful
Loading HDVPSS Firmware
FIRMWARE: Memory map bin file not passed
Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [Location of Mem map bin file]
FIRMWARE: Default memory configuration is used
MemCfg: DCMM (Dynamically Configurable Memory Map) Version :  2.1.1.1
FIRMWARE: Memory Configuration status : In Progress
FIRMWARE: 2 start Successful
HDMI W1 rev 2.0
# /etc/init.d/rc.pvr start
[drm] Initialized drm 1.1.0 20060810
PVR: PVRSRVDrmLoad
PVR: PVRCore_Init
PVR: EnableSystemClocks: Enabling System Clocks
PVR: GPTIMER11 clock is 0MHz
PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa048054
PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa048038
omaplfb: Device 0: Framebuffer physical address: 0xb0b00000
omaplfb: Device 0: Framebuffer virtual address: 0xd8000000
omaplfb: Device 0: Framebuffer size: 25165824
omaplfb: Device 0: Framebuffer virtual width: 1920
omaplfb: Device 0: Framebuffer virtual height: 1080
omaplfb: Device 0: Framebuffer width: 1920
omaplfb: Device 0: Framebuffer height: 1080
omaplfb: Device 0: Framebuffer stride: 7680
omaplfb: Device 0: LCM of stride and page size: 61440
omaplfb: Device 0: Maximum number of swap chain buffers: 3
omaplfb: Device 0: PVR Device ID: 1
[drm] Initialized pvrsrvkm 1.6.4117 Fri March 02 GMT 2012 for SGX on minor 0
_XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/buildroot: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.35-30-generic-pae i686
Current Operating System: Linux buildroot 2.6.37+ #1 PREEMPT Fri Mar 2 17:15:31 GMT 2012 armv7l
Kernel command line: console=ttyO2,115200n8 mem=364M mem=324M@0x9F900000 earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M ip=dhcp vmalloc=50
0M root=/dev/nfs nfsroot=172.20.1.27:/home/ralph/rootfs noinitrd
Build Date: 28 September 2011  11:37:44PM

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:00:51 2000
(++) Using config file: "/usr/local/XSGX/etc/xorg.conf"
BusyBox v1.19.3 (2012-03-02 17:11:19 GMT) multi-call binary.

Usage: mknod [-m MODE] NAME TYPE MAJOR MINOR

Create a special file (block, character, or pipe)

        -m MODE Creation mode (default a=rw)
TYPE:
        b       Block device
        c or u  Character device
        p       Named pipe (MAJOR and MINOR are ignored)

(==) 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/PVR: Installing MISR with cookie bf1cd624
local/XSGX/sharePVR: Installing device LISR SGX ISR on IRQ 37 with cookie d6788a80
/fonts/X11/100dpi/,
        /usr/local/XSGX/share/fontUnhandled fault: Precise External Abort on non-linefetch (0x1008) at 0xdbde0014
s/X11/75dpi/
(=Internal error: : 1008 [#1] PREEMPT
last sysfs file: /sys/devices/virtual/vc/vcsa2/dev
Modules linked in: pvrsrvkm drm ti81xxhdmi ti81xxfb vpss syslink
CPU: 0    Not tainted  (2.6.37+ #1)
PC is at OSReadHWReg+0x24/0x48 [pvrsrvkm]
LR is at SysCreateVersionString+0x54/0x138 [pvrsrvkm]
pc : [<bf19c0c8>]    lr : [<bf1b5f94>]    psr: a0000013
sp : d67fdc88  ip : d67fdca8  fp : d67fdca4
r10: bf1cbf34  r9 : bf19f5b4  r8 : 401c6440
r7 : d5c38580  r6 : 0000001c  r5 : d67fde48  r4 : bf1cd624
r3 : dbde0014  r2 : dbde0000  r1 : 00000014  r0 : dbde0000
Flags: NzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5387d  Table: 95ee0019  DAC: 00000015
Process pvrsrvinit (pid: 736, stack limit = 0xd67fc2e8)
Stack: (0xd67fdc88 to 0xd67fe000)
dc80:                   00000014 dbde0000 dbde0000 d6788a80 d67fdcdc d67fdca8
dca0: bf1b5f94 bf19c0b0 00000025 bf1cd624 00000000 56000000 d5e02540 d6788a80
dcc0: bf1cadec 00000080 dbde0000 00000025 d67fdd0c d67fdce0 bf1b6968 bf1b5f4c
dce0: d6788a80 d67fde48 0000001c d5c38580 401c6440 00000000 00000008 0000001c
dd00: d67fdd3c d67fdd10 bf1826f8 bf1b67fc 00000008 beb93ab4 d5e4a000 00000001
dd20: 00000001 bf1cd624 00000001 d67fdd24 d67fdd64 d67fdd40 bf1af2c0 bf182684
dd40: bf1aa0a8 bf19d7d0 d5ed79c0 d5e4b000 d5e4a000 00000042 d67fddac d67fdd68
dd60: bf1b1928 bf1af234 00000008 00000000 00000001 00000001 d67fde48 d5ed79c0
dd80: bf1cd624 d5e4a000 d5e4b000 bf1af228 00000042 fffffff2 d67fdd80 00000000
dda0: d67fde1c d67fddb0 bf19f8f8 bf1b15d0 c0b231e0 00000000 d67fddec d67fddc8
ddc0: c003d680 c01c6742 d67fde54 d5c38580 d67fde48 d5e68000 d5ed79c0 c01c6742
dde0: d67fde48 000002e0 fffffff2 00000000 00000000 b0a8f30f d67fde54 d67fde48
de00: 0000001c d5c38580 401c6440 d67fde48 d67fdef4 d67fde20 bf14d308 bf19f5c0
de20: 000002e0 401c6440 00000040 0000e200 00000001 d67fde40 c003eb9c beb93a6c
de40: d5e68000 d5e68020 00000042 0000001c beb93ab4 00000008 beb93aac 00000008
de60: 00000001 d67fdea0 c0369470 c017cc30 00000000 c0369470 d67fde9c d67fde88
de80: c0369470 c003d650 d5dfa034 60000113 d67fdeb4 d67fdea0 c017cc30 c03693c0
dea0: 00000200 d5dfedc0 d67fdec4 d67fdeb8 c0081e38 c017cb8c d67fdefc d67fdec8
dec0: c0369268 c0081e34 bf19663c d5ddbc60 d5c38a00 00000003 00000003 beb93a6c
dee0: d67fc000 00000000 d67fdf04 d67fdef8 c00d308c bf14d074 d67fdf74 d67fdf08
df00: c00d3820 c00d3070 c003d680 c003eb84 d67fdf74 d67fdf50 c0369470 c017cb58
df20: 00000000 c0369470 d67fdf4c d67fdf38 c0369470 c003d650 00000000 d5dfa034
df40: d67fdf74 d67fdf50 c017cb58 00000000 beb93a6c 401c6440 00000003 d5c38a00
df60: d67fc000 00000000 d67fdfa4 d67fdf78 c00d38c0 c00d32d4 d67fdfa4 00000000
df80: c00b6764 beb93a6c 401c6440 00000003 00000036 c003b884 00000000 d67fdfa8
dfa0: c003b700 c00d3874 beb93a6c 401c6440 00000003 401c6440 beb93a6c 0000001c
dfc0: beb93a6c 401c6440 00000003 00000036 00000000 00000000 40123000 beb93a94
dfe0: 00000000 beb93a30 40397b6c 40278aec 60000010 00000003 00000000 00000000
Backtrace:
[<bf19c0a4>] (OSReadHWReg+0x0/0x48 [pvrsrvkm]) from [<bf1b5f94>] (SysCreateVersionString+0x54/0x138 [pvrsrvkm])
[<bf1b5f40>] (SysCreateVersionString+0x0/0x138 [pvrsrvkm]) from [<bf1b6968>] (SysFinalise+0x178/0x214 [pvrsrvkm])
[<bf1b67f0>] (SysFinalise+0x0/0x214 [pvrsrvkm]) from [<bf1826f8>] (PVRSRVFinaliseSystem+0x80/0x14c [pvrsrvkm])
 r4:0000001c
[<bf182678>] (PVRSRVFinaliseSystem+0x0/0x14c [pvrsrvkm]) from [<bf1af2c0>] (PVRSRVInitSrvDisconnectBW+0x98/0x100 [pvrsrvkm])
[<bf1af228>] (PVRSRVInitSrvDisconnectBW+0x0/0x100 [pvrsrvkm]) from [<bf1b1928>] (BridgedDispatchKM+0x364/0x3f4 [pvrsrvkm])
[<bf1b15c4>] (BridgedDispatchKM+0x0/0x3f4 [pvrsrvkm]) from [<bf19f8f8>] (PVRSRV_BridgeDispatchKM+0x344/0x370 [pvrsrvkm])
[<bf19f5b4>] (PVRSRV_BridgeDispatchKM+0x0/0x370 [pvrsrvkm]) from [<bf14d308>] (drm_ioctl+0x2a0/0x428 [drm])
[<bf14d068>] (drm_ioctl+0x0/0x428 [drm]) from [<c00d308c>] (vfs_ioctl+0x28/0x44)
[<c00d3064>] (vfs_ioctl+0x0/0x44) from [<c00d3820>] (do_vfs_ioctl+0x558/0x5a0)
[<c00d32c8>] (do_vfs_ioctl+0x0/0x5a0) from [<c00d38c0>] (sys_ioctl+0x58/0x7c)
[<c00d3868>] (sys_ioctl+0x0/0x7c) from [<c003b700>] (ret_fast_syscall+0x0/0x30)
 r8:c003b884 r7:00000036 r6:00000003 r5:401c6440 r4:beb93a6c
Code: e50b101c e51b2018 e51b301c e0823003 (e5933000)
=) ModulePath set to "/usr/local/XSGX/lib/xorg/modules"
(==) |-->Input Device "Main Touch Scree---[ end trace f1c8c06af4c343e9 ]---
n"
(==) |-->Inp[drm:drm_release] *ERROR* Device busy: 1
ut Device "Keyboard"
(==) No LaPVR_K:(Error): PVRSRVDrmRelease : drm_release failed: -16 [236, home/ralphc/ezsdk/ti-ezsdk_dm816x-evm_5_03_01_15/component-sources/graphics-sdk_4.05.00.03/GFX_Linu
x_KM/services4/srvkm/env/linux/pvr_drm.c]
yout section. Using the first core pointer device.
(==) No Layout section. Using the first core keyboard device.
(--) using VT number 2

chmod: /dev/pvrsrvkm: No such file or directory
(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) pvr: Driver for PowerVR chipsets: PowerVR SGX
(WW) Falling back to old probe method for pvr

Here is the output of the gfx_check.sh script, after I have run the load-hd-firmware script and done "modprobe pvrsrvkm":

# modprobe pvrsrvkm
[drm] Initialized drm 1.1.0 20060810
PVR: PVRSRVDrmLoad
PVR: PVRCore_Init
PVR: EnableSystemClocks: Enabling System Clocks
PVR: GPTIMER11 clock is 0MHz
PVR: Setting GPTIMER11 mode to posted (currently is non-posted)
PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa048054
PVR: OSUnMapPhysToLin: unmapping 4 bytes from fa048038
omaplfb: Device 0: Framebuffer physical address: 0xb0b00000
omaplfb: Device 0: Framebuffer virtual address: 0xd8000000
omaplfb: Device 0: Framebuffer size: 25165824
omaplfb: Device 0: Framebuffer virtual width: 1920
omaplfb: Device 0: Framebuffer virtual height: 1080
omaplfb: Device 0: Framebuffer width: 1920
omaplfb: Device 0: Framebuffer height: 1080
omaplfb: Device 0: Framebuffer stride: 7680
omaplfb: Device 0: LCM of stride and page size: 61440
omaplfb: Device 0: Maximum number of swap chain buffers: 3
omaplfb: Device 0: PVR Device ID: 1
[drm] Initialized pvrsrvkm 1.6.4117 Fri March 02 GMT 2012 for SGX on minor 0
# /gfx_check.sh
WSEGL settings
[default]
WindowSystem=libpvrPVR2D_DRIWSEGL.so
#WindowSystem=libpvrPVR2D_FLIPWSEGL.so

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

Hardware        : ti8168evm
Revision        : 0000
Serial          : 0000000000000000
------
SGX driver information
Version 1.6.16.4117 (debug) /home/ralphc/ezsdk/ti-ezsdk_dm816x-evm_5_03_01_15/component-sources/graphics-sdk_4.05.00.03/GFX_Linux_KM
System Version String: None
------
Framebuffer settings
------
Rotation settings
0
------
Kernel Module information
Module                  Size  Used by    Not tainted
pvrsrvkm              396766  0
drm                   124623  1 pvrsrvkm
ti81xxhdmi             14668  0
ti81xxfb               20741  1
vpss                   67003  3 pvrsrvkm,ti81xxhdmi,ti81xxfb
syslink              1067008  0
------
Boot settings
console=ttyO2,115200n8 mem=364M mem=324M@0x9F900000 earlyprintk notifyk.vpssm3_sva=0xBF900000 vram=50M ti816xfb.vram=0:16M,1:16M,2:6M ip=dhcp vmalloc=500M root=/dev/nfs nfsr
oot=172.20.1.27:/home/ralph/rootfs noinitrd
------
Linux Kernel version
Linux buildroot 2.6.37+ #1 PREEMPT Fri Mar 2 17:15:31 GMT 2012 armv7l GNU/Linux

Grateful if someone could help me. I thought I'd followed the installation guide properly.

Ralph

  • Okay, I didn't realise you had to run the 38xx-demo script every time you booted, as this sets up some registers then calls the /etc/init.d/rc.pvr file. It now seems to work.

    Next problem if I can post it here, is the incredible slowness of glxgears. I get an average of about 57 frames per second.

    The installation guide webpage gets 36fps!!!!!!!

    1) Do I have the driver running correctly at full speed? Surely I should be expecting a faster frame rate?

    2) Do I need to worry about this error:

    (EE) AIGLX error: dlopen of /usr/local/XSGX/lib/dri/pvr_dri.so failed (/usr/local/XSGX/lib/dri/pvr_dri.so: cannot open shared object file: No such file or directory)
    (EE) AIGLX: reverting to software rendering
    (II) AIGLX: Screen 0 is not DRI capable
    (II) AIGLX: Loaded and initialized /usr/local/XSGX/lib/dri/swrast_dri.so
    (II) GLX: Initialized DRISWRAST GL provider for screen 0

    I know it is on the installation guide webpage but I wanted to check.

    3) How do I get the demos such as Skybox2 running full screen and not in a small rectangle within the display?

    Thanks,

    Ralph