Here are some common problems you might encounter while trying to apply a Screen and Windowing patch.
It's likely that you have extracted your Screen and Windowing patch onto a DOS-formatted device, but did not set the appropriate option when starting your devb process. You will need to do the following:
Kill your devb process:
slay devb-TARGET-SPECIFIC
Restart your devb process with the dos exe=all option:
devb-TARGET-SPECIFIC blk automount=hd0@dos:SCREEN-DIR dos exe=all
For example, if you have an OMAP3 board, your Screen and Windowing patch directories were extracted to a DOS-formatted device, and you want to specify the mount of /, then your commands would be:
slay devb-mmcsd-omap3
devb-mmcsd-omap3 blk automount=hd0@dos:/ dos exe=all
SCREEN-DIR/sbin/screen
It's possible that you have multiple devb processes running, one of which has the incorrect mount or is missing the dos exe=all option. You will need to do the following:
Check the processes you are running using the following command:
pidin arFrom the output of pidin ar, look for the devb processes.
pid Arguments 1 procnto-instr -v 4098 devc-seromap -e -F -p -b115200 -c48000000/16 0x49020000^2,74 4099 slogger 4100 pipe 4101 i2c-omap35xx -a2 -i57 -p0x48072000 4102 i2c-omap35xx -a1 -i56 -p0x48070000 4103 io-audio -domap35xx-twl4030 4104 devb-mmcsd-omap3 cam quiet blk cache=2m mmcsd noac12 4105 spi-master -d omap3530 16394 io-usb -d ehci-omap3 ioport=0x48064800,irq=77 16395 io-pkt-v4 -dsmsc9500 -ptcpip 20492 sh 28685 devb-mmcsd-omap3 blk automount=hd0@dos:/ dos exe=all
4104 devb-mmcsd-omap3 cam quiet blk cache=2m mmcsd noac12and
28685 devb-mmcsd-omap3 blk automount=hd0@dos:/ dos exe=all
Kill ALL running devb processes; use the following command on each running devb process:
slay devb-TARGET-SPECIFIC
Restart your devb process with the correct screendirectory location and option:
devb-TARGET-SPECIFIC blk automount=hd0@dos:SCREEN-DIR dos exe=all
SCREEN-DIR/sbin/screen
It's likely that you don't have your LD_LIBRARY_PATH environment variable set with the location of the screen and graphics libraries. You will need to do the following:
Set your LD_LIBRARY_PATH environment variable:
export LD_LIBRARY_PATH= SCREEN-DIR/usr/lib :SCREEN-DIR/lib :SCREEN-DIR/lib/dll :$LD_LIBRARY_PATH
SCREEN-DIR/sbin/screen
It's likely that you don't have your LD_LIBRARY_PATH environment variable set with the location of these shared libraries. You will need to do the following:
Set your LD_LIBRARY_PATH environment variable to add the directory location of where these shared libraries reside on your target system. In this example, the location of the shared libraries is denoted by SO-LIBRARY-DIR.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:SO-LIBRARY-DIR
SCREEN-DIR/sbin/screen
slay screen
export GRAPHICS_ROOT=SCREEN-DIR/usr/lib/graphics/TARGET-SPECIFIC
SCREEN-DIR/sbin/screen
It's likely that, due to a known issue, you don't have libGLSLC.so in your LD_LIBRARY_PATH environment variable.
slay screen
SCREEN-DIR/usr/lib/graphics/TARGET-SPECIFIC
toSCREEN-DIR/usr/lib/
For example, for an i.MX 6 board with the screen directory location mounted to /, the command would be:
cp /usr/lib/graphics/imx6/libGLSLC.so /usr/lib/
SCREEN-DIR/sbin/screen