I am not able to find the way to install it, also I am very surprised how there can NOT always be an installation when the beaglebone black is sold indicating that it has graphic acceleration (there is no god who can use it).
Somebody could help me? On the other hand, is there an image (unofficial) or can someone provide me with an image that allows me to run a simple game?
I’m trying to run this library: GitHub - efornara/frt: A Godot "platform" targeting single board computers.
I only managed to get it to work without hardware acceleration.
Thanks
The ImgTec image was created with this in mind, that image is about the best we can do with what we got…
The version of SGX support we got from TI was EGL / OpenGL ES only… So you can’t run X/etc. TI had wayland working on their TI SDK’s from back in the day…
Yes, I get it of course I know this is open source but if I use ImgTech, I couldn’t find a way to access it. I don’t remember exactly the steps that figure out because I’ve done a lot of tests.
I’ve done it both manually I think, I’m going to redo the tutorial step by step to be sure.
What if I do the tutorial with a clean image of Debian 9.3 2018-01-28 4GB SD IoT and follow the tutorial step by step I get dependency problems with libdrm.so.2 and libwayland-server.so.0.
That’s the problem… The drivers used on the AM335x are NOT open source in our image. They were built for Android and TI got them to work on wayland. Another user hacked up a few libs (libgbm) to make them work~ish. So they require a specific kernel with a specific user-space…
I’ve just triggered a rebuild, in the next hour, i’ll have an updated link for the ImgTec build…
Oh I understand! Sorry it’s so complicated, I didn’t know this. My hardware knowledge is limited, I’m just trying to use the beaglebone black for a personal project of running a godot game next to this projector DLPDLCR2000EVM Evaluation board | TI.com.
Ok, I tried to follow again the tutorial step by step, I used Debian 9.3 2018-01-28 4GB SD IoT (kernel: 4.9.78-ti-r94) and I used “Fast installation with deb files (not official)” downloading the .deb, …
During the installation everything worked fine:
debian@beaglebone:/opt$ ls /sys/devices/platform/ocp/56000000.sgx
driver driver_override drm modalias of_node power subsystem uevent
debian@beaglebone:/opt$ /usr/bin/pvrsrvctl --start --no-module
/usr/bin/pvrsrvctl: error while loading shared libraries: libdrm.so.2: cannot open shared object file: No such file or directory
(I had previously tried to install it manually with apt install, then I got another error with wayland-server that I also corrected with apt install manually, and also for lib_omap.so.1 but after these two errors I always got the PVR:(Error): OpenServices: PVRDRMOpenRender failed [0, ])
I can try to follow it again by doing the manual installation.
It uses the 4.14.108-ti-r143 and everything is prebuilt/pre-installed with sgx enabled.
If you need any kernel changes, you can tweak the device-tree and overlays, but a kernel rebuild will require a full sgx module rebuild… So yeah, a pain…
Once booted, just run dmesg | grep pvr and you should see the SGX modules loaded and active…
root@beaglebone:/opt/img-powervr-sdk/Examples/Advanced/NullWS# ./OGLES2Water
./OGLES2Water: error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory
Can I install libgbm1 by hand? If I do, would I still use SGX?
At the moment to continue investigating I have done it manually (apt install libgbm1).
With a normal display work like a charm!!! But with the projector I got:
debian@beaglebone:/opt/img-powervr-sdk/Examples/Advanced/NullWS$ ./OGLES2Water
PVR:(Error): WSEGL_CreateWindowDrawable: Couldn't set CRTC: Invalid argument [0, ]
PVR:(Error): WSEGL_CreateWindowDrawable: Couldn't set CRTC: Invalid argument [0, ]
Exit message has been set to: "PVRShell: Unable to create surface
".
InitAPI failed!
PVRShell: Unable to create surface
I have the feeling that it is not detecting my projector correctly, since it is not on HDMI-1 (as in the example):
debian@beaglebone:/opt/img-powervr-sdk/Examples/Advanced/NullWS$ ls -alh /sys/class/drm/
total 0
drwxr-xr-x 2 root root 0 Nov 30 23:29 .
drwxr-xr-x 59 root root 0 Jan 1 2000 ..
lrwxrwxrwx 1 root root 0 Jan 1 2000 card0 -> ../../devices/platform/vgem/drm/card0
lrwxrwxrwx 1 root root 0 Jan 1 2000 card1 -> ../../devices/platform/ocp/4830e000.lcdc/drm/card1
lrwxrwxrwx 1 root root 0 Jan 1 2000 card1-LVDS-1 -> ../../devices/platform/ocp/4830e000.lcdc/drm/card1/card1-LVDS-1
lrwxrwxrwx 1 root root 0 Nov 30 23:29 card2 -> ../../devices/platform/ocp/56000000.sgx/drm/card2
lrwxrwxrwx 1 root root 0 Nov 30 23:29 renderD128 -> ../../devices/platform/ocp/56000000.sgx/drm/renderD128
-r--r--r-- 1 root root 4.0K Jan 1 2000 version
I have tried using weston.init to use this device:
I created a bash script to simplify the build. I’m posting it for posterity. Obviously stuff needs to be changed per environment.
#!/bin/bash
KERNEL_REPO_DIR="/home/embedded/GitHub/ti-linux-kernel-dev"
MAKEFILE_DIR="./eurasia_km/eurasiacon/build/linux2/omap_linux"
# This sets CC to the value set up by the kernel
source "$KERNEL_REPO_DIR/.CC"
# Robert Nelson defined a sh variable to simplify the make command.
MAKE_OPTIONS="ARCH=arm CROSS_COMPILE=${CC} KERNELDIR=${KERNEL_REPO_DIR}/KERNEL TARGET_PRODUCT=ti335x"
# ------------------ start script --------------------------------
# An installation option. Change this to suit your needs.
# You need to create the extra directory on the BBB first, e.g.
# $ sudo mkdir -p /lib/modules/4.14.108-ti-r144.2/extra/ti335x
# You need to be able to ssh as root on the BBB.
if [[ "$1" == "install" ]]; then
BUILD_TARGET_DIR="./eurasia_km/eurasiacon/binary2_omap_linux_release/target/kbuild"
BBB_TARGET_DIR="/lib/modules/4.14.108-ti-r144.2/extra/ti335x"
scp $BUILD_TARGET_DIR/*.ko root@BBBIMGTEC:$BBB_TARGET_DIR
exit 0
fi
# Build all the things
{
cd $MAKEFILE_DIR
echo "Running make clean . . . "
make $MAKE_OPTIONS clean
echo "Running make . . . "
make $MAKE_OPTIONS
}