First of all:
    
- Does anybody know some structured documentation on all the
  prarameters of the dtoverlay hdmi settings of raspberry Pi?
- How can I detect the hdmi timings and settings for my very special
  display and driver, if the selling company does not offer it? Is there
  some indirect (software) or hardware derived method getting or
  deriving these values?
  

Hi all,

finally I was able to solve this issue, as expected it was not straight
forward, so I hope I won't miss any necessary step to rebuild my
solution with a similar display (so I hope the approach is usable):

PROBLEM
There is no fitting skin for Jivelite. I did not find a solution to
install and USE the other skins in the other packages. The subset of
skins was small (7), I did not find the often referenced skin Joggler or
Pi Grid Skin. I really stopped, installed, rebooted very often in many
combinations. I found "only" these":
36798
According to my testings, you must find a resolution which finally fits
to your touch calibration. If you do the calibration with the
framebuffer width and height set to 1024x600 and calibrate afterwards
with ts_calibrate, the calibration data was not fitting to the
resolution of 800x480 in the end of Jivelite. To shrink framebuffer to
800x480 was one major part of the solution.

BASIC IDEA FOR SOLUTION
After reading a lot in different forums my idea was to calibrate the
touch and the display for an assisted resolution. The nearest resolution
for my 1024x600 display was 800x480. I had to set the framebuffer
accordingly and then calibrate the touch with that resolution. Then
Jivelite finally starts. There was really no way to operate on the
original resolution of 1024x600 and I tried nearly 24 h continuously any
combination with excluding...

So I don't know, but I am happy to find a solution working with touch
and display  for the ELECROW Touch Display 7" 1024x600 with a resolution
of 800x480:

Change config.txt on Raspberry Pi in /mnt/mmcblk0p1, I have highlighted
all changes I have made:

Code:
--------------------
    
  $ c1
  $ m1
  $ vi config.txt
  
  [Press i for insert, and copy the following into the script]
  # For more options and information see
  # http://rpf.io/configtxt
  # Some settings may impact device functionality. See link above for details
  
  # RPi PI0-1-2 are not supported on this image.
  
  [PI02]
  initramfs rootfs-pCP64-13.1.gz,modules-5.10.77-pcpCore-v8.gz followkernel
  kernel kernel51077v8.img
  arm_64bit=1
  
  [PI3]
  initramfs rootfs-pCP64-13.1.gz,modules-5.10.77-pcpCore-v8.gz followkernel
  kernel kernel51077v8.img
  arm_64bit=1
  
  [PI4]
  initramfs rootfs-pCP64-13.1.gz,modules-5.10.77-pcpCore-v8.gz followkernel
  kernel kernel51077v8.img
  arm_64bit=1
  
  [CM4]
  otg_mode=1
  
  [ALL]
  
  cmdline cmdline.txt
  
  # uncomment if you get no picture on HDMI for a default "safe" mode
  #hdmi_safe=1
  
  # uncomment this if your display has a black border of unused pixels visible
  # and your display can output without overscan
  DISABLE_OVERSCAN=1
  
  # uncomment the following to adjust overscan. Use positive numbers if console
  # goes off screen, and negative if there is too much border
  OVERSCAN_LEFT=16
  OVERSCAN_RIGHT=16
  OVERSCAN_TOP=16
  OVERSCAN_BOTTOM=16
  
  # uncomment to force a console size. By default it will be display's size 
minus
  # overscan.
  FRAMEBUFFER_WIDTH=800
  FRAMEBUFFER_HEIGHT=480
  
  # uncomment if hdmi display is not detected and composite is being output
  
  # uncomment to force a specific HDMI mode (this will force VGA)
  #hdmi_group=1
  #hdmi_mode=1
  
  # uncomment to force a HDMI mode rather than DVI. This can make audio work in
  # DMT (computer monitor) modes
  
  # uncomment to increase signal to HDMI, if you have interference, blanking, or
  # no display
  #config_hdmi_boost=4
  
  # uncomment for composite PAL
  
  #sdtv_mode=2
  
  #----------------------------------------------------
  dtparam=i2c_arm=on,spi=on,i2s=on
  
  #---pCP----------------------------------------------
  # pCP does not use graphics chip by default, free up most memory
  GPU_MEM=128
  initial_turbo=60
  
  # onboard audio overlay
  dtparam=audio=on
  audio_pwm_mode=2
  
  # For Jivelite use with HDMI screens
  # Comment out the lines above
  #   gpu_mem=xx
  dtparam=audio=on
  # Then uncomment the following line.
  #dtoverlay=vc4-kms-v3d
  
  #
  
  #Disable Bluetooth on both rpi3 and rpi0W
  dtoverlay=disable-bt
  
  # uncomment to overclock the arm. 700 MHz is the default.
  #arm_freq=
  #gpu_freq=
  #core_freq=
  #sdram_freq=
  #over_voltage=
  #force_turbo=
  
  # Remove audio hiss
  # disable_audio_dither=1
  
  #If booting from USB or network, enable this option to reduce CPU load 
looking for a non-existing card.
  #dtparam=sd_poll_once
  DISPLAY_ROTATE=2
  # Screen rotation 0 => 0 degrees, 2 => 180 degrees
  #lcd_rotate=0
  
  #Custom Configuration Area, for config settings that are not managed by pCP.
  #pCP will retain these settings during insitu-update
  #---Begin-Custom-(Do not alter Begin or End Tags)-----
  MAX_FRAMEBUFFER_HEIGHT=600
  MAX_FRAMEBUFFER_WIDTH=1024
  MAX_USB_CURRENT=1
  CONFIG_HDMI_BOOST=10
  #CONFIG_HDMI_BOOST=7
  HDMI_GROUP=2
  HDMI_MODE=1
  HDMI_MODE=88
  HDMI_DRIVE=1
  HDMI_CVT 1024 600 60 6 0 0 0
  #---End-Custom----------------------------------------
  
  [Press Esc, and exit with Shift-zz]
  
--------------------


Especially all custom changes and the framebuffer, display_rotate
changes are in my opinion the essential ones.

Futhermore one must add a jivelite.sh to the /mnt/mmcblk0p2/tce :


Code:
--------------------
    
  $ ce
  $ sudo vi jivelite.sh
  
  [Press i for insert, and copy the following into the script]
  #!/bin/sh
  
  #EVENTNO=$(cat /proc/bus/input/devices | awk '/QDtech\ 
MPI7003/{for(a=0;a>=0;a++){getline;{if(/mouse/==1){ print $NF;exit 0;}}}}')
  EVENTNO=$(cat /proc/bus/input/devices | awk '/QDtech 
MPI7003/{for(a=0;a>=0;a++){getline;{if(/mouse/==1){ print $NF;exit 0;}}}}')
  
  # Define custom JogglerSkin size
  export JL_SCREEN_WIDTH=800
  export JL_SCREEN_HEIGHT=480
  #export JL_SCREEN_WIDTH=1024
  #export JL_SCREEN_HEIGHT=600
  
  export JIVE_NOCURSOR=1
  export SDL_VIDEODRIVER=fbcon
  export SDL_FBDEV=/dev/fb0
  export TSLIB_TSDEVICE=/dev/input/$EVENTNO
  export SDL_MOUSEDRV=TSLIB
  
  ## Just debugging info
  echo Starten Jivelite...
  echo Starten Jivelite... > /home/tc/logJivelite.sh.log
  echo JL_SCREEN_WIDTH=${JL_SCREEN_WIDTH}    >> /home/tc/logJivelite.sh.log
  echo JL_SCREEN_HEIGHT=${JL_SCREEN_HEIGHT}    >> /home/tc/logJivelite.sh.log
  echo JIVE_NOCURSOR=${JIVE_NOCURSOR}    >> /home/tc/logJivelite.sh.log
  echo SDL_VIDEODRIVER=${SDL_VIDEODRIVER}    >> /home/tc/logJivelite.sh.log
  echo SDL_FBDEV=${SDL_FBDEV}    >> /home/tc/logJivelite.sh.log
  echo TSLIB_TSDEVICE=${TSLIB_TSDEVICE}    >> /home/tc/logJivelite.sh.log
  echo SDL_MOUSEDRV=${SDL_MOUSEDRV}    >> /home/tc/logJivelite.sh.log
  
  # Set touch calibration file
  TSLIB_CALIBFILE=/usr/local/etc/pointercal
  
  # Jivelite interface framerate
  export JIVE_FRAMERATE=22
  # Set 32bit color
  /usr/sbin/fbset -depth 32
  
  # Set custom screen resolution
  /usr/sbin/fbset -xres 800 -yres 480
  #/usr/sbin/fbset -xres 1024 -yres 600
  
  
  while true; do
  /opt/jivelite/bin/jivelite >> /var/log/jivelite.log 2>&1
  sleep 3
  done
  
  [Press Esc, and exit with Shift-zz]
  
  $ sudo chmod 755 jivelite.sh
  
--------------------


Install via Tweaks Jivelite, set it to "Set Autostart: No" and reboot,
either with 


Code:
--------------------
    $sudo reboot
--------------------


or on main page in the browser.

After reboot one have to calibrate the touch screen with the following
command (before Jivelite isn't installed and STOPPED, the command is not
available (package touchscreen-5.10.77-pcpCore-v8.tcz ??)):


Code:
--------------------
    
  # find out which event is responsible for your touch, in my case it was one 
time unbelievably event5 (and I had an ADS7846 controller on event6 ( but was 
not working)), but this changes from time to time (here event0):
  $ cat /proc/bus/input/devices
  I: Bus=0003 Vendor=0483 Product=5750 Version=0101
  N: Name="QDtech MPI7003"
  P: Phys=usb-3f980000.usb-1.1.3/input0
  S: 
Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.3/1-1.1.3:1.0/0003:0483:5750.0001/input/input0
  U: Uniq=瓿적죯耈쌂 
青逢¢Ŵࣈʀ㏃ﳘ陂ΐ
  H: Handlers=mouse0 event0
  B: PROP=0
  B: EV=1b
  B: KEY=400 0 0 0 0 0
  B: ABS=10001000003
  B: MSC=10
  
  $ cat /proc/bus/input/devices | awk '/QDtech 
MPI7003/{for(a=0;a>=0;a++){getline;{if(/mouse/==1){ print $NF;exit 0;}}}}'
  event0
  
  $ ll /dev/fb*
  crw-rw----    1 root     staff      29,   0 Jan  1  1970 /dev/fb0
  
  # put the found event and the found framebuffer device (memory for the 
display) into the next command
  $  sudo TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE=/dev/input/event0 
/usr/local/bin/ts_calibrate
  
  # Test the result (drag and draw then quit, look if the screen could be fully 
accessed and all Buttons and so on are visible)
  $ sudo TSLIB_FBDEVICE=/dev/fb0 TSLIB_TSDEVICE=/dev/input/event0 
/usr/local/bin/ts_test
  
  # finally save the results on the web page main "Backup" or via
  $  sudo filetool.sh -b 
  
--------------------


Now start on tweaks page on the PicorePlayer web page of your device and
set Jivelite to start at each boot (Set Autostart: yes). Press save and
reboot. Done!

The result looks like this, I am enjoying the sound after a hard days of
tweaking and tricking :
36799
36800

if anybody has more detailed information, that let the -fog of horror-
vanish and clarifies how to generally approach a solution for _*ANY*_
display which is offered anywhere in the net, I really would appreciate
any comment. If my assumptions are partly wrong please correct!


-----
REFERENCES:
    
- 'dtoverlays params overview'
  
(https://raw.githubusercontent.com/raspberrypi/firmware/master/boot/overlays/README)
- 'how setup picoreplayer jivelite use waveshare-55 amoled
  touchscreen'
  
(https://www.thefanclub.co.za/how-to/how-setup-picoreplayer-jivelite-use-waveshare-55-amoled-touchscreen)


+-------------------------------------------------------------------+
|Filename: 20220112_235854(0).jpg                                   |
|Download: http://forums.slimdevices.com/attachment.php?attachmentid=36800|
+-------------------------------------------------------------------+

------------------------------------------------------------------------
peddanet's Profile: http://forums.slimdevices.com/member.php?userid=70331
View this thread: http://forums.slimdevices.com/showthread.php?t=115743

_______________________________________________
diy mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/diy

Reply via email to