Great, I didn't really dig too deep into it, usually when you get libtool complaints it means hours and hours of fun patching up a recipe.
I did try the gksu-polkit version, but the latest version uses vala, and needs newer versions of a lot of stuff. So i didn't bother with that either after finding that out.
I also moved the seperate v2012.12 stuff back to the master branch on github, so that's the branch where all the action is happening.
There's 3 new patches here (the 01_revert_forkpty is a runtime fix borrowed from Debian, the other 2 fix the build)
The new bitbake file is here. This adds the patches, and changes so it calls autoreconf (the build problem was because it was using an old version of libtool).
I think some stuff that was in the Codec Pack has migrated it's way into the SZ image. The image I used was one from here. I didn't install either the SZ or the .next image, I just extracted them on my PC.
As mentioned earlier, there's a problem with Network Manager in that clicking on a protected network gets you nothing, and right-clicking on the applet and choosing Edit Connections doesn't work as a normal user (it errors with: "No session found for uid 1000 (Error statting file /var/run/ConsoleKit/database: no such file or directory)".
Googling the error suggests that it's because ConsoleKit isn't running. There seems to be 3 possible solutions:
1) Starting ConsoleKit before starting a GUI session, as per klaxon's post
2) Compiling Network Manager without ConsoleKit support (this just involves adding "--without-ck" to EXTRA_OECONF in the bitbake recipe).
3) Compiling a later version of Network Manager (> 0.9.4), which can use systemd rather than ConsoleKit.
I've only tried option 2 so far (it works). I'm in favour of it because ConsoleKit is not actively maintained (it's been depreciated in favour of systemd), and it doesn't seem to offer us anything useful (since there's typically only one user).
Option 1 is what the current image uses. Although the way things work, you won't actually see any change unless you do a clean install of that. (or change some files manually)
The other options do sound a lot cleaner, so i'll give those a try.
I sent a pull request via github for adding Openbox as a GUI to .next. It also contains a couple of minor fixes (the Pandora key toggles the applications menu in XFCE, and blacklisted modules aren't loaded at startup, so it doesn't always switch the wifi on).
Yes. I realise it may seem a lot, but it only adds up to a couple of MB. aTc has merged it, so you'll hopefully be able to see for yourself when a new image is released.
Option 1 is what the current image uses. Although the way things work, you won't actually see any change unless you do a clean install of that. (or change some files manually)
The other options do sound a lot cleaner, so i'll give those a try.
I generated a new image with the openbox stuff in it and a networkmanager that should have been compiled with the "--without-ck" flag.
openbox seems to work fine, but networkmanager still seems to have problems.
edit: tried it with the xfce gui, and nm works there.. could be because of some left over bits from the old "fix". although xfce isn't started with dbus-launch anymore.
Re: Openbox and networking - it should work if you've already got the credentials for a connection set up, either through XFCE, or via Menu -> Connectivity -> Edit Network Connections. It won't work if you click on a new connection showing in nm-applet. Part of the reason is because /usr/libexec/polkit-gnome-authentication-agent needs to be running.
I haven't figured out the rest yet, but I will eventually (I thought I'd look into the pvr-init fail for a bit, instead).
Running "systemctl | grep failed" shows that the pvr-init.service is failing when it boots up.
Also, none of the 3D demos work.
If you've installed the image, you can fix it by opening a terminal and doing:
sudo /etc/init.d/pvr-init stop
sudo mousepad /etc/init.d/pvr-init
Modify lines 25, 44, 45, 46, 48-55 so it looks like:
Code:
#!/bin/sh
PATH=$PATH:/usr/sbin
# Check if an fb device is available. If not then just go ahead and
# exit because we have no display.
fbset > /dev/null 2>&1
if [ "$?" == "1" ]
then
# looks like there is no display, so let's exit
exit 0
fi
BITSPERPIXEL="$(fbset | grep geom | awk '{print $6}')"
YRES="$(fbset | grep geom | awk '{print $3}')"
CPUTYPE="$(cputype)"
if [ "$1" = "" ]; then
echo PVR-INIT: Please use start, stop, or restart.
exit 1
fi
if [ "$1" = "stop" -o "$1" = "restart" ]; then
echo Stopping PVR
#rmmod bufferclass_ti
rmmod omaplfb 2>/dev/null
rmmod pvrsrvkm 2>/dev/null
fi
if [ "$1" = "stop" ]; then
exit 0
fi
# Set RGBA ordering to something the drivers like
if [ "$BITSPERPIXEL" = "32" ] ; then
fbset -rgba 8/16,8/8,8/0,8/24
fi
# Try to enable triple buffering when there's enough VRAM
fbset -vyres $(expr $YRES \* 3)
sgxprepare () {
echo Starting PVR
insmod /lib/modules/$(uname -r)/kernel/drivers/gpu/pvr/pvrsrvkm.ko
insmod /lib/modules/$(uname -r)/kernel/drivers/gpu/pvr/omaplfb.ko
#modprobe bufferclass_ti
#pvr_maj=`grep "pvrsrvkm$" /proc/devices | cut -b1,2,3`
#bc_maj=`grep "bc" /proc/devices | cut -b1,2,3`
#if [ -e /dev/pvrsrvkm ] ; then
# rm -f /dev/pvrsrvkm
#fi
#mknod /dev/pvrsrvkm c $pvr_maj 0
chmod 666 /dev/pvrsrvkm
touch /etc/powervr-esrev
SAVED_ESREVISION="$(cat /etc/powervr-esrev)"
}
sgxfinish () {
if [ "${ES_REVISION}" != "${SAVED_ESREVISION}" ] ; then
echo -n "Starting SGX fixup for"
echo " ES${ES_REVISION}.x"
cp -a /usr/lib/ES${ES_REVISION}.0/* /usr/lib
cp -a /usr/bin/ES${ES_REVISION}.0/* /usr/bin
echo "${ES_REVISION}" > /etc/powervr-esrev
fi
/usr/bin/pvrsrvinit
}
case $CPUTYPE in
"OMAP3530")
sgxprepare
devmem2 0x48004B48 w 0x2 > /dev/null
devmem2 0x48004B10 w 0x1 > /dev/null
devmem2 0x48004B00 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x50000014 | sed -e s:0x00010205:5: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI33XX")
sgxprepare
devmem2 0x44e01104 w 0x0 > /dev/null
devmem2 0x44e00904 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:8: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
"TI816x")
sgxprepare
devmem2 0x48180F04 w 0x0 > /dev/null
devmem2 0x48180900 w 0x2 > /dev/null
devmem2 0x48180920 w 0x2 > /dev/null
ES_REVISION="$(devmem2 0x56000014 | sed -e s:0x00010205:6: -e s:0x00010201:3: -e s:0x00010003:2: | tail -n1 | awk -F': ' '{print $2}')"
sgxfinish
;;
*)
echo No SGX hardware, not starting PVR
;;
esac
Save and exit mousepad.
Find your ES revision by typing
cat /etc/powervr-esrev
On my machine, it says "2". I assume it's different for other Pandora models.
Dowload and install the correct libraries for your ES revision. I did:
sudo opkg update
sudo opkg install libgles-omap3-es2
Delete /etc/powervr-esrev so that the correct libs get copied into /usr/lib when we start pvr-init again.
The demos should work after doing that. I've only tried one game (A7Xpg), which doesn't work.The error in pndrun_a7xpg.out doesn't seem EGL-related though. It says:
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 3 (X_GetWindowAttributes)
Resource id of failed request: 0x0
Serial number of failed request: 7
Current serial number in output stream: 8
all the different versions of libgles should already be on there.
I did get it somewhat going by copying the pvr-init script and /etc/powervr.ini from the old firmware.
One of the reasons it doesn't work is because in powervr.ini it tries to use X11 versions of the lib, and you need one of the framebuffer ones with this X11 apparently
In the latest image, /usr/lib/ contains all the GPU libs (libEGL, libGLES_CM, libGLESv2 etc, aswell as the libpvrPVR2D_* stuff) and /usr/lib/ES2.0/ contains ES2-specific versions of only the libpvrPVR2D_* libraries.
The first time pvr-init is run, it copies the libpvrPVR2D_ libraries into /usr/lib/, and libEGL, libGLES_CM, libGLESv2 etc remain unchanged.
If you add libgles-omap3-es2, then it also adds ES2-specific versions of libEGL, libGLES_CM, libGLESv2 etc to /usr/lib/ES2.0/, so pvr-init also replaces those in /usr/lib/ too.
For me, it wasn't until those libraries were also replaced, that the demos worked.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.