Home of the Squeezebox™ & Transporter® network music players.
Page 11 of 22 FirstFirst ... 91011121321 ... LastLast
Results 101 to 110 of 217
  1. #101
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Posts
    1,222
    Quote Originally Posted by ralphy View Post
    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}
    Thanks Ralphy

    I had found this bit of code in SelectSkinMeta.lua
    Code:
    	if skins <= 1 then
    		jiveMain:removeItemById('appletSelectSkin')
    	end
    so I figured that removing all but the Joggler skin would also remove the option to select skins. That will be ideal. The authors of this code thought of everything!
    Last edited by chill; 2019-01-29 at 06:23.

  2. #102
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Posts
    1,222
    Quote Originally Posted by ralphy View Post
    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.
    I'll look into that this evening, thank you. So if I understand this, even though I've built the SDL library with TSLIB support, Jivelite may have linked to the old version of SDL that didn't have TSLIB support. That would explain why nothing I do with respect to TSLIB seems to make any difference to the behaviour of Jivelite. They don't make this simple do they!

  3. #103
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,202
    Quote Originally Posted by chill View Post
    Jivelite may have linked to the old version of SDL that didn't have TSLIB support. That would explain why nothing I do with respect to TSLIB seems to make any difference to the behaviour of Jivelite.

    Yes, I think that's likely what's happening.

    Quote Originally Posted by chill View Post
    They don't make this simple do they!
    No they don't. It's very difficult to separate the system install libraries from ones you build yourself.

    If jivelite is still in fact using the system libSDL use the patchelf program to set the RPATH inside the binary as I've found that setting LD_LIBRARY_PATH doesn't always work.

    patchelf --set-rpath "/usr/local/lib" jivelite

    ldd jivelite

    should show jivelite using the /usr/local/lib SDL.

    There should be a patchelf package available for ubuntu.
    Ralphy

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

  4. #104
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Posts
    1,222
    Quote Originally Posted by ralphy View Post

    If jivelite is still in fact using the system libSDL use the patchelf program to set the RPATH inside the binary as I've found that setting LD_LIBRARY_PATH doesn't always work.

    patchelf --set-rpath "/usr/local/lib" jivelite

    ldd jivelite

    should show jivelite using the /usr/local/lib SDL.

    There should be a patchelf package available for ubuntu.
    Brilliant, thank you. Patchelf worked, and now Jivelite seems to be responding to TSLIB - I can touch the screen and the correct part of the menu responds, i.e.it highlights for a moment, but the menu item doesn't actually trigger anything. By leaving the cursor visible I can see that although the menu item responds where I touch the screen, the cursor is elsewhere (currently top-left of the screen)! Must be something to do with SDL_MOUSEDRV/SDL_MOUSEDEV I guess. Something for me to get my teeth into later.

  5. #105
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Posts
    1,222
    Got there! I had only a minimal /usr/local/etc/ts.conf, with just:
    Code:
    module_raw input
    module linear
    It turns out there's another important line (module pthres pmin=1)

    So my full ts.conf file is now:
    Code:
    module_raw input
    module pthres pmin=1
    module dejitter delta=100
    module linear
    With that, after running ts_calibrate, Jivelite now starts up with a properly calibrated, responsive touchscreen.

    Home straight now: I've set up a script file in /etc/profile.d to set all the environment variables and start Jivelite, and now it starts without intervention on boot. It contains:
    Code:
    if [ "$(tty)" = "/dev/tty1" ]; then
            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 JIVE_NOCURSOR=1
            /root/jivelite/bin/jivelite
    fi
    I guess I should change that so that it restarts on exit, but for now it works ok, especially if I remove 'Quit' from the homescreen.

    The binary for Jivelite is only 376KB, so now I'd like to look into putting it into the internal flash storage. Is it just a case of copying the binary to the same place, and making sure all these libraries are in place?
    Code:
    root@openframe:~/jivelite/bin# ldd jivelite
    	linux-gate.so.1 (0xb7771000)
    	librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb76fc000)
    	libSDL-1.2.so.0 => /usr/local/lib/libSDL-1.2.so.0 (0xb765c000)
    	libSDL_ttf-2.0.so.0 => /usr/lib/i386-linux-gnu/libSDL_ttf-2.0.so.0 (0xb7654000)
    	libSDL_image-1.2.so.0 => /usr/lib/i386-linux-gnu/libSDL_image-1.2.so.0 (0xb7634000)
    	libSDL_gfx.so.15 => /usr/lib/i386-linux-gnu/libSDL_gfx.so.15 (0xb761b000)
    	libluajit-5.1.so.2 => /usr/local/lib/libluajit-5.1.so.2 (0xb75a8000)
    	libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb74a6000)
    	libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb7487000)
    	libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb72ab000)
    	libts.so.0 => /lib/i386-linux-gnu/libts.so.0 (0xb72a5000)
    	libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb729e000)
    	libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb71e1000)
    	libpng16.so.16 => /usr/lib/i386-linux-gnu/libpng16.so.16 (0xb71a7000)
    	libjpeg.so.8 => /usr/lib/i386-linux-gnu/libjpeg.so.8 (0xb7136000)
    	libtiff.so.5 => /usr/lib/i386-linux-gnu/libtiff.so.5 (0xb70b7000)
    	libwebp.so.6 => /usr/lib/i386-linux-gnu/libwebp.so.6 (0xb7043000)
    	libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7025000)
    	/lib/ld-linux.so.2 (0xb7772000)
    	libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb7006000)
    	liblzma.so.5 => /lib/i386-linux-gnu/liblzma.so.5 (0xb6fda000)
    	libjbig.so.0 => /usr/lib/i386-linux-gnu/libjbig.so.0 (0xb6fcb000)
    Last edited by chill; 2019-01-29 at 14:12.

  6. #106
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Posts
    1,222
    If anyone else wants to go through the build steps, here's what I did (assuming I haven't missed anything out), starting with a fresh USB stick with Roobarb's 8GB Bionic image here:
    Code:
    # Edit /boot/network.yaml to enter wifi SSID and password, then reboot to connect to wifi
    
    apt-get update
    
    apt-get install build-essential
    
    apt-get install automake libtool
    
    apt-get install git-core
    
    apt-get install libluajit-5.1-dev libsdl1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libexpat1-dev
    
    git clone git://github.com/kergoth/tslib.git
    cd tslib
    ./autogen.sh
    ./configure
    make
    sudo make install
    sudo cp -P /usr/local/lib/libts* /lib/i386-linux-gnu/
    
    wget https://www.libsdl.org/release/SDL-1.2.15.tar.gz
    tar -xvzf SDL-1.2.15.tar.gz
    cd SDL-1.2.15/
    mkdir build
    cd build
    ../configure --enable-input-tslib=yes
    make
    sudo make install
    
    cd
    mkdir luajit
    cd luajit
    git clone http://luajit.org/git/luajit-2.0.git
    cd luajit-2.0
    make
    sudo make install
    sudo ldconfig
    
    cd
    git clone https://github.com/ralph-irving/jivelite.git
    cd jivelite
    sudo make PREFIX=/usr/local
    
    apt-get install patchelf
    cd /root/jivelite/bin
    patchelf --set-rpath "/usr/local/lib" jivelite
    
    # Edit /usr/local/etc/ts.conf to contain:
    ——
    module_raw input
    module pthres pmin=1
    module dejitter delta=100
    module linear
    —-
    
    # Edit /root/jivelite/share/jive/applets/DesktopJive/DesktopJiveMeta.lua
    change HDSkin-VGA to JogglerSkin
    
    # Set these environment variables to be able to run ts_calibrate and test jivelite
    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 
    ts_calibrate
    /root/jivelite/bin/jivelite
    
    #create /etc/profile.d/10-start-jivelite.sh with:
    —-
    if [ "$(tty)" = "/dev/tty1" ]; then
            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 JIVE_NOCURSOR=1
            /root/jivelite/bin/jivelite
    fi
    ——
    
    #reboot
    EDIT: After removing the USB hub and plugging the USB stick directly into the joggler socket, the event number for the touchscreen changed from 3 to 1 (checked with cat '/proc/bus/input/devices'), so the environment variable TSLIB_TSDEVICE had to be updated accordingly.
    Last edited by chill; 2019-01-29 at 12:51.

  7. #107
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Posts
    1,222
    Quote Originally Posted by ralphy View Post
    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 - where do the three 'Touch' skins come from? I've deleted all the other skin files, but the 'Select Skin' option hasn't disappeared because those three skins are still present.

  8. #108
    Senior Member
    Join Date
    Jan 2011
    Location
    Staffordshire. UK
    Posts
    2,827
    Quote Originally Posted by chill View Post
    If anyone else wants to go through the build steps, here's what I did (assuming I haven't missed anything out), starting with a fresh USB stick with Roobarb's 8GB Bionic image here:
    Code:
    # Edit /boot/network.yaml to enter wifi SSID and password, then reboot to connect to wifi
    
    apt-get update
    
    apt-get install build-essential
    
    apt-get install automake libtool
    
    apt-get install git-core
    
    apt-get install libluajit-5.1-dev libsdl1.2-dev libsdl-ttf2.0-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libexpat1-dev
    
    git clone git://github.com/kergoth/tslib.git
    cd tslib
    ./autogen.sh
    ./configure
    make
    sudo make install
    sudo cp -P /usr/local/lib/libts* /lib/i386-linux-gnu/
    
    wget https://www.libsdl.org/release/SDL-1.2.15.tar.gz
    tar -xvzf SDL-1.2.15.tar.gz
    cd SDL-1.2.15/
    mkdir build
    cd build
    ../configure --enable-input-tslib=yes
    make
    sudo make install
    
    cd
    mkdir luajit
    cd luajit
    git clone http://luajit.org/git/luajit-2.0.git
    cd luajit-2.0
    make
    sudo make install
    sudo ldconfig
    
    cd
    git clone https://github.com/ralph-irving/jivelite.git
    cd jivelite
    sudo make PREFIX=/usr/local
    
    apt-get install patchelf
    cd /root/jivelite/bin
    patchelf --set-rpath "/usr/local/lib" jivelite
    
    # Edit /usr/local/etc/ts.conf to contain:
    ——
    module_raw input
    module pthres pmin=1
    module dejitter delta=100
    module linear
    —-
    
    # Edit /root/jivelite/share/jive/applets/DesktopJive/DesktopJiveMeta.lua
    change HDSkin-VGA to JogglerSkin
    
    # Set these environment variables to be able to run ts_calibrate and test jivelite
    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 
    ts_calibrate
    /root/jivelite/bin/jivelite
    
    #create /etc/profile.d/10-start-jivelite.sh with:
    —-
    if [ "$(tty)" = "/dev/tty1" ]; then
            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 JIVE_NOCURSOR=1
            /root/jivelite/bin/jivelite
    fi
    ——
    
    #reboot
    EDIT: After removing the USB hub and plugging the USB stick directly into the joggler socket, the event number for the touchscreen changed from 3 to 1 (checked with cat '/proc/bus/input/devices'), so the environment variable TSLIB_TSDEVICE had to be updated accordingly.


    Are you doing this all as root or as user? (I see some sudo in there, I guess that it doesn't really matter though, it doesn't effect the command).

    One could set up a user then just install the usb stick to the joggler and continue from there via ssh.


    I'll see if I have time today. I was just wondering if you have checked in any SqueezePlay files which correspond to the the Jivelite ones that are being used? There might be clues therein.

    ronnie

  9. #109
    Senior Member chill's Avatar
    Join Date
    Mar 2007
    Posts
    1,222
    All done as root so far - still finding my feet with Linux permissions, so didn't want any extra complications! The stray 'sudo' commands are a left-over from copying and pasting the commands from various sources.

    Yes, one nice thing about the network setup with this image is that you can edit the network.yaml file on your PC immediately after making the USB stick, then put the stick in the Joggler and SSH in. Is it possible to make a user at that stage too, before booting from the stick?

    I've just started to look at Roobarb's Squeezeplay image. Any idea how to transfer Applets to a new Jivelite installation? Do I just copy the Applet folders over? There's no guarantee that they'll work, if they're doing things to specific files, but it would be nice to get the easy network setup, the Joggler backlight, and the 'screensaver while off' features of Roobarb's Squeezeplay.

    I did spend a bit of time yesterday evening making duplicates of my installed 8GB setup - I used dd to make an image, shrank the main linux partition and then truncated the image file, and the resulting image file was comfortably less than 2GB. I then deployed that to a couple of other Jogglers and they both worked perfectly. Next step will be to transfer the Jivelite binary and the necessary libraries to the internal version.

  10. #110
    Senior Member
    Join Date
    Jan 2011
    Location
    Staffordshire. UK
    Posts
    2,827
    Quote Originally Posted by chill View Post
    Is it possible to make a user at that stage too, before booting from the stick?
    I don't know.

    I tend to burn the image, connect everything to the joggler with a usb hub, edit the .yaml, make the user and change the root password.

    Reboot to see that all is OK, then shutdown and use just the stick in the joggler and ssh via my windows machine, with a few reboots in the process.

    I leave the jivelite configuration until the very last.

    I think that the Bionic Ubuntu is a bit of a different beast than Trusty.

    ronnie

    I think you are doing very well. I have no idea how this stuff works, even less about which directory in which to put it (and why )


    https://www.howtogeek.com/117435/htg...ure-explained/
    Last edited by Man in a van; 2019-01-30 at 00:57.

Posting Permissions

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