hns
Well-Known Member
More progress with Stretch:
leads to
This means the SGX is up and running and the firmware was loaded successfully.
So the final (?) question is now quite different: why does it enumerate devices but fail with PVRSRV_ERROR_NO_DC_DEVICES_FOUND?
Some thoughts - please help if you know answers:
Code:
# ssh into BeagleBone and become root
# insert empty (or to be overwritten) SD card into reader
wget -O makesd "http://git.goldelico.com/?p=gta04-makesd.git;a=blob_plain;hb=HEAD;f=makesd" && chmod +x makesd
DEV=/dev/sdb ./makesd pyra -r http://download.goldelico.com/letux-debian-rootfs/20190708-stretch-9.9-armhf-lxde.tbz -m http://download.goldelico.com/letux-kernel/letux-4.19.4-pvr-lpae/modules.tgz -f1 -k http://download.goldelico.com/letux-kernel/letux-4.19.4-pvr-lpae/uImage -d http://download.goldelico.com/letux-kernel/letux-4.19.4-pvr-lpae/device-trees.tbz
mkdir -p /media/letux/rootfs
mount /dev/sdb2 /media/letux/rootfs
cd /media/letux/rootfs
KVERSION=$(cd lib/modules && ls -1)
wget -O lib/modules/$KVERSION/kernel/pvrsrvkm.ko https://packages.pyra-handheld.com/images/extra/pvr/4.19.4-letux-lpae-zmatt-pyra/pvrsrvkm.ko
depmod -b . $KVERSION
wget -O sgx.tar.xz https://packages.pyra-handheld.com/images/extra/sgx.tar.xz
tar xvJf sgx.tar.xz
cp -R sgx/pvr/etc sgx/pvr/lib .
cp -R sgx/pvr/bin sgx/pvr/include ./usr
sed -i.bak "s/modprobe -q pvrsrvkm/modprobe -q -f pvrsrvkm/g" etc/init.d/rc.pvr # ignore small diff in version code
ln -sf libgbm.so.1 usr/lib/arm-linux-gnueabihf/libgbm.so.2
cd $HOME
umount /dev/sdb*
# extract SD card and insert into Pyra
# boot Pyra
# ssh or access console into Pyra (ssh root@192.168.0.202 through USB3 port)
yes | apt-get install libdrm-omap1 # needs some active internet connection on Pyra (ethernet over USB, wwan, wlan)
/etc/init.d/rc.pvr start # does not start automatically
cat /proc/pvr/* # check that PVR was loaded successfully
sgx_clipblit_test # run 3D demo
eglinfo # get some info
Code:
root@letux:~# /etc/init.d/rc.pvr start
[ 641.137519] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
[ 641.178769] omap_hwmod: gpu: _wait_target_disable failed
[ 641.195573] omap_hwmod: gpu: _wait_target_disable failed
Module bc_example failed to load. Retrying.
Running /sbin/depmod
Continuing to load PowerVR services
Loaded PowerVR consumer services.
root@letux:~# cat /proc/pvr/*
Registered nodes
Addr Type Class Index Ref pvDev Size Res
0879702f ?7 3D 0 1 70e09523 0 c89a74d5
Command Queues
Queue CmdPtr Pid Command Size DevInd DSC SSC #Data ...
Version SGX_DDK sgxddk MAIN@3699939 (release) omap_linux
System Version String: SGX revision = 116
root@letux:~# sgx_clipblit_test
----------------- SGX CLipBlit test -----------------
---------------------- Start ------------------------
Call PVRSRVConnect with a valid argument:
OK
Get number of devices from PVRSRVEnumerateDevices:
OK
.... Reported 1 devices
.... Device Number | Device Type
0000 | PVRSRV_DEVICE_ID_SGX
Attempt to acquire device 0:
OK
Getting SGX Client info
OK
.... ui32ProcessID:16482
Display Class API: enumerate devices
OK
PVRSRVEnumerateDeviceClass() returns 0 display device(s)
FAIL - PVRSRV_ERROR_NO_DC_DEVICES_FOUND(134)
Aborted
root@letux:~#
So the final (?) question is now quite different: why does it enumerate devices but fail with PVRSRV_ERROR_NO_DC_DEVICES_FOUND?
Some thoughts - please help if you know answers:
- X11 is running and showing a Log In window - could that be a problem?
- What I do not know is if TILER code is included in the newly built kernel or not. Probably yes.