Home of the Squeezebox™ & Transporter® network music players.
Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 22
  1. #11
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    Ok, duh, I installed libjpeg-turbo and things improved dramatically! No crashing and I'm getting album art. I'll let it run over night. Now to get touch working. I think I'm going to have recompile SDL against tslib. Do I need to just recompile SDL or jivelite also?

    Code:
    alps:/usr/lib# ldd /usr/lib/libSDL-1.2.so.0.11.4 
    	/lib/ld-musl-armhf.so.1 (0xb6f45000)
    	libc.musl-armhf.so.1 => /lib/ld-musl-armhf.so.1 (0xb6f45000)
    This is the screen I'm working with. Seems like it will be pretty nice once I get it all together. I've had touch working using the tslib utilities and now seem to have jivelite working - next is to get them together!

    It has a 3.5mm audio jack, which is audio split off the HDMI and run through a 4334 KSZ Cirrus Logic DAC. I've tested it with squeezelite and a pair of headphones just to see if it works and it does. Haven't really done any critical listening, I'm not under illusions, it's an ancient, inexpensive DAC chip. I'm not too fussy though so if it sounds decent to my ears I might just use it and not worry about using a DAC board.

    Also pictured is the project box I'm going to try to use. Mounting the screen to the angled side should make it about right for comfortable operation and viewing.
    Attached Images Attached Images   
    Last edited by sodface; 2020-01-16 at 21:08.

  2. #12
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    Touch is actually working so I'm not sure what the ldd check above means. Calibration is off in Jivelite even after running ts_calibrate. I guess that's the next issue to resolve.

  3. #13
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,590
    There is no way to know what was causing the segfault without building a debug version of jivelite and running it in gdb. Even then if the crash is happening within the lua interpreter it becomes even harder to track down.

    Calibration in jivelite won't work unless libSDL 1.2 was compiled with libts support. That should be the only library you need to recompile. I helped chill through this for the joggler.
    Ralphy

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

  4. #14
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    Quote Originally Posted by ralphy View Post
    There is no way to know what was causing the segfault without building a debug version of jivelite and running it in gdb. Even then if the crash is happening within the lua interpreter it becomes even harder to track down.

    Calibration in jivelite won't work unless libSDL 1.2 was compiled with libts support. That should be the only library you need to recompile. I helped chill through this for the joggler.
    Thanks for the support Ralphy, recompiling sdl as we speak. I think the seg fault was just due to not having libjpeg-turbo installed.

    //edit Ralphy, will jivelite pickup the tslib support from the newly compiled SDL or do I need to recompile jivelite also?
    Last edited by sodface; 2020-01-17 at 06:55.

  5. #15
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    Well the recompiled SDL seems to be working with tslib. Touch point accuracy is good but it's just constantly bringing up the context menu like I've done a long click instead of just a tap. Probably a knob that needs turning in /etc/ts.conf? I'll mess with it more tomorrow. I'm starting to second guess the screen a little, it seems a little dark.

  6. #16
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    Ok thanks to Ralphy, Jeff, Chill, et al, this is now working quite well, though the screen brightness (lack of) probably is what it is.

    My currently working settings:

    Code:
    alps:/home/sodface# cat /etc/ts.conf 
    # generated by libts
    module_raw input (null)
    module pthres pmin=1
    module dejitter delta=100
    module linear (null)
    module skip nhead=2
    Starting Jivelite with:

    Code:
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_TSDEVICE=/dev/input/event0
    export TSLIB_CALIBFILE=/etc/pointercal
    export TSLIB_CONFFILE=/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/lib/ts
    export SDL_MOUSEDRV=TSLIB
    export SDL_MOUSEDEV=$TSLIB_TSDEVICE 
    export JIVE_NOCURSOR=1
    /opt/jivelite/bin/jivelite
    Alpine includes the file usercfg.txt at the end of config.txt, they want you to leave config.txt alone:

    Code:
    alps:/home/sodface# cat /media/mmcblk0/usercfg.txt 
    gpu_mem=128
    dtparam=audio=on
    hdmi_cvt=800 480 60 6
    hdmi_group=2
    hdmi_mode=87
    hdmi_drive=2

  7. #17
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,590
    That's great!

    Too bad about the brightness. Hopefullly, you find a way to improve it.
    Ralphy

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

  8. #18
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    Here's the "prototype" (that's what I'm calling it so I don't feel so bad about the botched execution) player based on the Uctronics 5" touchscreen, pi zero, squeezelite and jivelite on Alpine Linux. I'm probably going to rip it apart and redo it all in a couple of weeks when I come back from work travel.

    It's setup on a little folding camp table for the photo op, now sitting on my desk.
    Attached Images Attached Images    
    Last edited by sodface; 2020-01-26 at 10:56.

  9. #19
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    I had a second one of these Uctronics 5" screens, it's as dark and dull as the other one. This is with Alpine x86_64 on a Wyse 3030 thin client.
    Attached Images Attached Images  

  10. #20
    Senior Member
    Join Date
    Jul 2008
    Posts
    140
    A few notes to self on getting the x86_64 working:

    Coaxing Alpine to set the correct screen resolution took me a bit longer than I'd like to admit. The default grub command line has "nomodeset" which I don't think actually does anything for this specific device (Wyse 3030) with the i915 based video I think you also have to add "i915.modeset=0" to really disable KMS, so the resolution kept getting set to 1920x1080 which resulted in tiny text on the 800x480 Uctronics 5" display. I added the video= argument to the grub command line:

    Code:
    jl-01:~# cat /etc/default/grub 
    GRUB_TIMEOUT=2
    GRUB_DISABLE_SUBMENU=y
    GRUB_DISABLE_RECOVERY=true
    GRUB_CMDLINE_LINUX_DEFAULT="modules=sd-mod,usb-storage,ext4 nomodeset quiet rootfstype=ext4 video=800x480M@60mD"
    
    jl-01:~# grub-mkconfig -o /boot/grub/grub.cfg
    To start Jivelite on boot, I ended up with what feels like an ugly solution, but it is working. I commented out the existing tty1 line in /etc/inittab and added the /bin/login one per an entry I found in the Alpine wiki:

    Code:
    #tty1::respawn:/sbin/getty 38400 tty1
    tty1::respawn:/bin/login -f root
    So this auto logs in root, then I have a .profile file in /root that runs a jivelite.sh script:
    Code:
    jl-01:~# cat /root/.profile 
    /root/jivelite.sh &
    The jivelite.sh script figures out which device the touchscreen is, since it's not the same every boot, sets some env variables, clears and blanks the framebuffer and starts jivelite:
    Code:
    jl-01:~# cat jivelite.sh 
    #!/bin/sh
    for dev in /dev/input/event* 
    do
      tsdev=$(ts_finddev ${dev} 1 2> /dev/null)
      if printf "${tsdev}" | grep -q caught 
      then
        break
      fi
    done
    
    fbset -g 800 480 800 480 32
    export TSLIB_FBDEVICE=/dev/fb0
    export TSLIB_TSDEVICE=${dev}
    export TSLIB_CALIBFILE=/etc/pointercal
    export TSLIB_CONFFILE=/etc/ts.conf
    export TSLIB_PLUGINDIR=/usr/lib/ts
    export SDL_MOUSEDRV=TSLIB
    export SDL_MOUSEDEV=$TSLIB_TSDEVICE 
    export JIVE_NOCURSOR=1
    dd if=/dev/zero of=/dev/fb0
    /usr/bin/jivelite &
    This in addition to the calibration and ts.conf edits documented above. As I said, feels ugly, but it's booting up to Jivelite without user intervention. There must be a better way to determine the touchscreen device file, but that's what I came up with for now.
    Last edited by sodface; 2020-09-20 at 08:07.

Posting Permissions

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