Home of the Squeezebox™ & Transporter® network music players.
Page 10 of 33 FirstFirst ... 8910111220 ... LastLast
Results 91 to 100 of 328
  1. #91
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    Quote Originally Posted by ralphy View Post
    and apply the attached jivelite-defaultjogglerskin.patch to change the default skin to be for the Joggler to avoid SDL trying to open the fb at 640x480 a second time.
    Success - changing the default skin to JogglerSkin was all it took. And even without me replacing the splash.png, the splash screen is now properly centred.

    So now Jivelite starts up without X, but I'm back to the problem I had with the old Trusty image - even though I can run ts_calibrate to create an/etc/pointercal file, the touch screen is way off when I run Jivelite. The two commands I'm using are:

    Code:
    TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE=/dev/input/event3 TSLIB_CALIBFILE=/etc/pointercal TSLIB_CONFFILE=/usr/local/etc/ts.conf TSLIB_PLUGINDIR=/usr/local/lib/ts ts_calibrate
    
    TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE=/dev/input/event3 TSLIB_CALIBFILE=/etc/pointercal TSLIB_CONFFILE=/usr/local/etc/ts.conf TSLIB_PLUGINDIR=/usr/local/lib/ts /root/jivelite/bin/jivelite
    I wonder if it's the mouse driver.....

  2. #92
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    The mouse driver didn't seem to make any difference. In fact nothing I do does. It's as though Jivelite is ignoring the pointercal file.

    @Ralphy, when you said:

    Quote Originally Posted by ralphy View Post
    You'll need to build SDL and enable tslib support using the same tslib that you built previously using --enable-input-tslib=yes when you run configure.
    did you mean:
    Code:
    ../configure --enable-input-tslib=yes
    ..or should that option be specified somewhere else?

  3. #93
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    I guess my SDL build DOES have tslib support now:
    Code:
    root@openframe:/usr/local/lib# ldd libSDL-1.2.so.0.11.4
    	linux-gate.so.1 (0xb7719000)
    	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb756a000)
    	libts.so.0 => /lib/i386-linux-gnu/libts.so.0 (0xb7564000)
    	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb755f000)
    	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7540000)
    	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7364000)
    	/lib/ld-linux.so.2 (0xb771a000)
    So is there another obvious reason why the pointercal calibration seems to be being ignored?

  4. #94
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    I've been running some of the ts_ tools in /usr/local/bin, and it seems like everything is working ok from the tslib side of things. Using ts_print I can see the coordinates of the pointer change as I move my finger around on the screen. When I made a diagonal swipe from top-left to bottom-right the coordinates went from (close to) 0,0 to (close to) 800,480. So this seems to tally with the SDL coordinate system. Without the pointercal file the coordinates are completely different - still starting at ~0,0 and increasing in the same direction, but going up to ~32k.

    So the problem seems to be just that JiveLite isn't using the pointercal file. I'm not convinced it's using any of the other environment variables either. The current variables that I've set are:
    Code:
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_TSDEVICE=/dev/input/event3
    export TSLIB_CALIBFILE=/usr/local//etc/pointercal
    export TSLIB_CONFFILE=/usr/local/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/local/lib/ts
    export SDL_MOUSEDRV=TSLIB
    export SDL_MOUSEDEV=$TSLIB_TSDEVICE
    export SDL_TOUCHSCREEN=1
    I then simply run
    Code:
    ts_calibrate or
    /root/jivelite/bin/jivelite

  5. #95
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    A clue, maybe. I've been setting SDL_MOUSEDEV to the same value as TSLIB_TSDEVICE, with:
    Code:
    export SDL_MOUSEDEV=$TSLIB_TSDEVICE
    Both therefore take the value /dev/input/event3.

    But if I don't set the SDL_MOUSEDEV variable at all, the mouse pointer is more stable and the calibration is less inaccurate. The pointer is still about half the screen away from where I touch, but that's an improvement! So should I be looking to set SDL_MOUSEDEV to a different value?

    The relevant output from cat '/proc/bus/input/devices' looks like this:
    Code:
    I: Bus=0003 Vendor=04b4 Product=1974 Version=0111
    N: Name="AmSC OpenPeak Touchscreen Hyup05_3"
    P: Phys=usb-0000:00:1d.2-2/input0
    S: Sysfs=/devices/pci0000:00/0000:00:1d.2/usb4/4-2/4-2:1.0/0003:04B4:1974.0003/input/input3
    U: Uniq=00000001
    H: Handlers=mouse0 event3 js0 
    B: PROP=0
    B: EV=1b
    B: KEY=70000 0 0 0 0 0 0 0 0
    B: ABS=3
    B: MSC=10
    As well as 'event3' I've tried 'mouse0' and 'js0'.

  6. #96
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    A little more progress. With these environment variables:
    Code:
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_TSDEVICE=/dev/input/event3
    export TSLIB_CALIBFILE=/usr/local//etc/pointercal
    export TSLIB_CONFFILE=/usr/local/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/local/lib/ts
    export SDL_MOUSEDRV=TSLIB
    and with SDL_MOUSEDEV unset, I find that when I start JiveLite the mouse pointer calibration is very poor, but if I 'swipe in' from every corner of the screen (i.e. touch outside the screen area, then drag over the screen corner onto the touchscreen area), the pointer seems to calibrate itself! How can that be? Is there some sort of SDL calibration routine being called from inside Jivelite? This is NOT the case when I set SDL_MOUSEDEV=$TSLIB_TSDEVICE

    EDIT: In fact it's enough to just touch each corner of the screen. Weird.
    EDIT2: It's enough just to touch the top left corner when Jivelite starts up!

  7. #97
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Location
    Nottingham, UK
    Posts
    1,652
    I'll need to do some more experimenting this evening, but the impression I have is that the mouse pointer is scaled down approx 50% when Jivelite starts up, i.e. if I touch the bottom-right corner the cursor moves to the centre of the screen, if I touch the top-right the cursor moves to the middle of the top edge etc. But when I touch the top-left it automagically self-calibrates.

    This makes no sense to me. I could almost understand it if touching the bottom-right corner would do this, since 'big numbers' in X and Y could be interpreted as the extremes of the display. But touching top-left will register near-zero actual coordinates, so how can this help with any sort of auto-scaling?

    This evening I'll do some more testing, to see how close I have to move to the top-left corner before this self-calibration takes place, and also to see whether all those TSLIB environment variables make any difference to this self-calibration (to rule out the possibility that the whole setup is somehow ignoring TSLIB).

    For now, I have Jivelite running independently of X, and I can get the touch calibration working well, so that's progress, but it would be nice to get to the bottom of the apparent self-calibration, and if it turns out that a touch to the top-left corner is necessary, can this be achieved programmatically?

    Thoughts/experience/suggestions all welcomed!

  8. #98
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,497
    Quote Originally Posted by chill View Post
    @Ralphy, when you said:

    did you mean:
    Code:
    ../configure --enable-input-tslib=yes
    ..or should that option be specified somewhere else?
    Yes
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

  9. #99
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,497
    Quote Originally Posted by chill View Post
    I guess my SDL build DOES have tslib support now:
    Code:
    root@openframe:/usr/local/lib# ldd libSDL-1.2.so.0.11.4
    	linux-gate.so.1 (0xb7719000)
    	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb756a000)
    	libts.so.0 => /lib/i386-linux-gnu/libts.so.0 (0xb7564000)
    	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb755f000)
    	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7540000)
    	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7364000)
    	/lib/ld-linux.so.2 (0xb771a000)
    So is there another obvious reason why the pointercal calibration seems to be being ignored?
    You should confirm that jivelite is using the libSDL from /usr/local/lib and not still using the system version.
    Code:
    ldd /opt/jivelite/bin/jivelite
    	librt.so.1 => /lib/librt.so.1 (0xb6fa2000)
    	libSDL-1.2.so.0 => /opt/jivelite/lib/libSDL-1.2.so.0 (0xb6f31000)
    	libSDL_ttf-2.0.so.0 => /opt/jivelite/lib/libSDL_ttf-2.0.so.0 (0xb6f1b000)
    	libSDL_image-1.2.so.0 => /opt/jivelite/lib/libSDL_image-1.2.so.0 (0xb6ef0000)
    	libSDL_gfx.so.13 => /opt/jivelite/lib/libSDL_gfx.so.13 (0xb6ecc000)
    	liblua.so => /opt/jivelite/lib/liblua.so (0xb6e99000)
    	libm.so.6 => /lib/libm.so.6 (0xb6e15000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0xb6deb000)
    	libc.so.6 => /lib/libc.so.6 (0xb6cad000)
    	/lib/ld-linux-armhf.so.3 (0xb6fb9000)
    	libts-1.0.so.0 => /usr/local/lib/libts-1.0.so.0 (0xb6c99000)
    	libdl.so.2 => /lib/libdl.so.2 (0xb6c86000)
    	libfreetype.so.6 => /opt/jivelite/lib/libfreetype.so.6 (0xb6c0d000)
    	libz.so.1 => /usr/lib/libz.so.1 (0xb6bea000)
    	libpng12.so.0 => /opt/jivelite/lib/libpng12.so.0 (0xb6bb8000)
    	libjpeg.so.62 => /opt/jivelite/lib/libjpeg.so.62 (0xb6b84000)
    You could try not installed libsdl1.2-dev in your build script if jivelite is using the wrong one, however the other libsdl support libraries may not load using your libSDL and you will have to change the jivelite Makefiles and likely several of the .config files to look for the SDL headers in /usr/local/include/SDL instead of /usr/include/SDL.

    It would seem that you are getting into the same situation I had when I first started porting jivelite to picoreplayer from raspbian. In the end I uninstalled all the system provided SDL, libts, lua others and built them from squeezeplay. Squeezeplay creates a build folder with all the libraries and header files needed to compile itself and it can be used for other applications. You would need to change the makefile to include libts as that's not standard. I can provide a patch if needed.
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

  10. #100
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,497
    Quote Originally Posted by chill View Post
    Thanks Ralphy - I'll try those this evening.

    Changing the default skin was going to be a question for the future, as this is a very specific build for fixed hardware. In fact, I don't see a need to keep all the other skin options in the build, or the option to choose between them, so maybe I'll look at trimming those bits out later. But setting a sensible default is a good first step.

    Chris
    You can safely remove these skin folders from your installed jivelite since you're only using JogglerSkin.

    share/jive/applets/{HDGridSkin,HDSkin}
    share/jive/applets/{WQVGAlargeSkin,WQVGAsmallSkin}
    share/jive/applets/{QVGAbaseSkin,QVGAlandscapeSkin,QVGAportraitSkin}
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 1-UE Radio
    Squeezebox client builds donations always appreciated.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •