# First, set up directory on droid4:
mkdir pvr-wip cd pvr-wip wget http://launchpadlibrarian.net/123825575/libdri2-1_1.0.0~git20120510+26fee2e-0ubuntu2_armhf.deb dpkg -i libdri2-1_1.0.0~git20120510+26fee2e-0ubuntu2_armhf.deb apt install xserver-xorg-video-omap
Then, either build the module according to https://github.com/tmlind/pvr-omap4-dkms/blob/testing-v5.4/README_DROID4 ; or if you use linux-image-droid4=5.4.1-1+1m7.1:
wget https://wizzup.org/omapdrm_pvr.ko
Copy it to ~/pvr-wip and see if it loads:
insmod omapdrm_pvr.ko
Should show:
[ 556.995605] [drm] Initialized pvr 1.9.2253347 20110701 for 56000000.img on minor 1
Then, in ~/pvr-wip, run:
git clone git://github.com/mobiaqua/pvr-omap4
Create script to init pvr:
root@devuan-droid4:~/pvr-wip# cat > init.sh #!/bin/sh pvr=${HOME}/pvr-wip/pvr-omap4 PVRDebugLevel=0x7fffffff \ LD_PRELOAD=${pvr}/usr/lib/libsrv_init.so:\ ${pvr}/usr/lib/libsrv_um.so \ ${pvr}/usr/bin/pvrsrvinit root@devuan-droid4:~/pvr-wip# chmod +x init.sh
Run it:
root@devuan-droid4:~/pvr-wip# ./init.sh root@devuan-droid4:~/pvr-wip# echo $? 0
Now, set xorg up:
mv /etc/X11/xorg.conf.d/ /etc/X11/xorg.conf.d.old #... 20200112.img.xz has weird path, oopsie mv /etc/xorg.conf.d.pvr /etc/X11/xorg.conf.d
Now, get out your serial, since you will need it. Run this:
mv /etc/init.d/dsme /etc/init.d/dsme_ reboot
And watch the droid4 boot on Serial until you get:
Devuan GNU/Linux ascii devuan-droid4 ttyS2 devuan-droid4 login:
Well, what are you waiting for? Log in.
Then:
# cd pvr-wip # insmod omapdrm_pvr.ko [ 42.446685] omapdrm_pvr: loading out-of-tree module taints kernel. [ 42.464996] omapdrm_pvr 56000000.img: Enabling quirks 00000001 [ 42.475463] [drm] Initialized pvr 1.9.2253347 20110701 for 56000000.img on minor 1 # ./init.sh # echo ? 0
Start X (don't forget &, it's important)
# Xorg -retro &
Create test script:
root@devuan-droid4:~/pvr-wip# cat > test.sh #!/bin/sh pvr=${HOME}/pvr-wip/pvr-omap4 LD_PRELOAD=\ ${pvr}/usr/lib/libsrv_init.so:\ ${pvr}/usr/lib/libsrv_um.so:\ ${pvr}/usr/lib/libIMGegl.so:\ ${pvr}/usr/lib/libusc.so:\ ${pvr}/usr/lib/libpvrws_KMS.so:\ ${pvr}/usr/lib/libpvr2d.so:\ ${pvr}/usr/lib/libpvrws_WAYLAND.so:\ ${pvr}/usr/lib/libpvrws_OMAPDRI2.so:\ ${pvr}/usr/lib/libGLESv2.so:\ ${pvr}/usr/lib/libglslcompiler.so:\ ${pvr}/usr/lib/libEGL.so \ ${pvr}/usr/bin/xgles2test1 -f 300 root@devuan-droid4:~/pvr-wip# chmod +x test.sh
Run it:
root@devuan-droid4:~/pvr-wip# ./test.sh --------------------- started --------------------- PVR:(Warning): LoadWSModule: Window system module libpvrws_KMS.so did not validate native display [98, /generic_ws.c] PVR:(Warning): LoadWSModule: Window system module libpvrws_WAYLAND.so did not validate native display [98, /generic_ws.c] PVR:(Warning): PVRSRVOpenDCDevice: Warning - 138 returned [80, /bridged_pvr_dc_glue.c] PVR:(Warning): PVRDRMSetFD: DRM fd already set [57, /pvr_bridge_u.c] --------------------- finished ---------------------
If you want, you can try to run hildon-desktop:
# cat > test-hd.sh #!/bin/sh pvr=${HOME}/pvr-wip/pvr-omap4 LD_PRELOAD=\ ${pvr}/usr/lib/libsrv_init.so:\ ${pvr}/usr/lib/libsrv_um.so:\ ${pvr}/usr/lib/libIMGegl.so:\ ${pvr}/usr/lib/libusc.so:\ ${pvr}/usr/lib/libpvrws_KMS.so:\ ${pvr}/usr/lib/libpvr2d.so:\ ${pvr}/usr/lib/libpvrws_WAYLAND.so:\ ${pvr}/usr/lib/libpvrws_OMAPDRI2.so:\ ${pvr}/usr/lib/libGLESv2.so:\ ${pvr}/usr/lib/libglslcompiler.so:\ ${pvr}/usr/lib/libEGL.so \ CLUTTER_BACKEND=x11 \ HILDON_DESKTOP_APPS_PRESTART=auto \ COGL_DRIVER=gles2 COGL_RENDERER=egl_xlib \ hildon-desktop.launch # chmod +x test-hd.sh
But it will mostly just render a black screen.