LSD.JXE: Difference between revisions
Created page with "== Basics == === Location === === Variables === export MOUNT_DIR= export MOUNT_APP_DIR=/mnt/app export BASE_DIR=$MOUNT_APP_DIR/eso/hmi export LSD_DIR=$MOUNT_DIR/ifs export GRAPHICS_DIR=$BASE_DIR/graphics == LSD.jxe development mode == Warning! In my case developer mode caused screen freeze. I was able to recover the unit. === How to enable dev mode === DEV_ACTIVATED=$BASE_DIR/lsd/development_activated Enable development mode by creating this empty file: touch /..." |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Basics == | == Basics == | ||
=== Location === | === Location === | ||
<code>/ifs/lsd.jxe</code>??? | |||
=== | === Run script === | ||
<code>/mnt/app/eso/hmi/lsd/lsd.sh</code> | |||
=== Run script variables === | |||
export MOUNT_DIR= | export MOUNT_DIR= | ||
export MOUNT_APP_DIR=/mnt/app | export MOUNT_APP_DIR=/mnt/app | ||
Line 8: | Line 12: | ||
export LSD_DIR=$MOUNT_DIR/ifs | export LSD_DIR=$MOUNT_DIR/ifs | ||
export GRAPHICS_DIR=$BASE_DIR/graphics | export GRAPHICS_DIR=$BASE_DIR/graphics | ||
== lsd.sh flags and VMOPTIONS == | |||
Some functions and options of the LSD.JXE can be adjusted and passed via a <code>VMOPTION</code> parameter. This will allow to run it in with some debug options, experimental features, bypassing safety check, changing screen resolution, etc. | |||
More information about [[VMOPTIONS]]. | |||
-DActivateAllCarMenus=true | |||
-DSetMenuCoding=ACC:5,INT_LIGHT:5, (...) ,MKE:5,BCME:0 | |||
-DSetCarMenusVisible=true | |||
-DOfficial_Release=true | |||
-DSYNC_EARLY_RVC=true | |||
-DWAIT_FOR_MAP_AVAILABLE=20000 | |||
-DWAIT_FOR_AUDIO_TIMEOUT=1 | |||
-DWAIT_FOR_SDS_AVAILABLE=1 | |||
-Dmedia.config.usb=installed | |||
-Dmedia.config.aux=installed | |||
-Dmedia.config.tv=installed | |||
-Dmedia.config.cd=installed | |||
-Dmedia.config.dvd=notinstalled | |||
-Dtv.startup.config.force.enable=true | |||
-DdisableRRDforPOI=true | |||
-DActivateNaviDebugPopup=true | |||
-DenableNLU=true" | |||
-DsdsPauseActive=false | |||
-DsdsLogicalPopup=true | |||
-DexternalSDS=true | |||
-DenableGEM=true | |||
-DIS_PRODUCTION_MODE=true | |||
-DEOLFLAG_IMPORT_MEDIA_DATA=1 | |||
-DEOLFLAG_RIPPING_MEDIA_DATA=1 | |||
-DuseNewTtsClient=true | |||
-DErrorDumpTriggerPort=6767 | |||
-DSWDLAutoRetries=0 | |||
-Dscreenshot.dirs=/fs/sda0;/fs/sdb0;/fs/usb0;/fs/usb1;/tmp | |||
-DmyAudi.VIN=BAUIEE4HZ09012808 | |||
-DmyAudi.IMSI=2620225510 | |||
-DoverrideBtMediaDiagCode=true | |||
-DbtIgnoreSpeedThreshold=true | |||
-Dbluetooth.enableFastInquiry=true | |||
-DScreenRes=1 | |||
-DScreenRes=4 | |||
== LSD.jxe development mode == | == LSD.jxe development mode == | ||
Line 23: | Line 68: | ||
If development mode is enabled, it will trigger couple things in <code>LSD.JXE</code>. | If development mode is enabled, it will trigger couple things in <code>LSD.JXE</code>. | ||
* overwrites JAVA_HOME directory path. | * overwrites JAVA_HOME directory path. | ||
if [[ -f $DEV_ACTIVATED ]]; then | <nowiki>if [[ -f $DEV_ACTIVATED ]]; then | ||
if [[ -d $BASE_DIR/lsd/jre ]]; then | if [[ -d $BASE_DIR/lsd/jre ]]; then | ||
export JAVA_HOME=$BASE_DIR/lsd/jre | export JAVA_HOME=$BASE_DIR/lsd/jre | ||
Line 32: | Line 77: | ||
if [[ -f $DEV_ACTIVATED ]]; then | if [[ -f $DEV_ACTIVATED ]]; then | ||
VMOPTIONS="$VMOPTIONS -Dlsd.bundles=$BASE_DIR/lsd/bundles.properties" | VMOPTIONS="$VMOPTIONS -Dlsd.bundles=$BASE_DIR/lsd/bundles.properties" | ||
fi | fi</nowiki> | ||
* sets <code>dev_mode</code> variable for hmi logic, sets path to external hmi.zip boot class if it exists | * sets <code>dev_mode</code> variable for hmi logic, sets path to external hmi.zip boot class if it exists | ||
#development mode | <nowiki>#development mode | ||
if [[ -f $DEV_ACTIVATED ]]; then | if [[ -f $DEV_ACTIVATED ]]; then | ||
echo "######################################" | echo "######################################" | ||
Line 59: | Line 104: | ||
* outputs diagnostic info | * outputs diagnostic info | ||
#Diagnosis output in development mode: | <nowiki>#Diagnosis output in development mode: | ||
if [[ -f $DEV_ACTIVATED ]]; then | if [[ -f $DEV_ACTIVATED ]]; then | ||
echo "JAVA_HOME=$JAVA_HOME" | echo "JAVA_HOME=$JAVA_HOME" | ||
echo "VMOPTIONS=$VMOPTIONS" | echo "VMOPTIONS=$VMOPTIONS" | ||
echo "BOOTCLASSPATH=$BOOTCLASSPATH (plus lsd.jxe)" | echo "BOOTCLASSPATH=$BOOTCLASSPATH (plus lsd.jxe)" | ||
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" | echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"</nowiki> | ||
fi | fi</nowiki> | ||
* executes this | * executes this | ||
if [[ -f $DEV_ACTIVATED && -f "$HMI_ZIP" ]]; then | <nowiki>if [[ -f $DEV_ACTIVATED && -f "$HMI_ZIP" ]]; then | ||
# start hmi.zip | # start hmi.zip | ||
info "starting j9 with $HMI_ZIP" | info "starting j9 with $HMI_ZIP" | ||
Line 81: | Line 126: | ||
echo !!!!! lsd.jxe not found !!!!! | echo !!!!! lsd.jxe not found !!!!! | ||
fi | fi | ||
fi | fi</nowiki> | ||
== Tweaks == | == Tweaks == | ||
=== Google Earth / Satellite View license bypass === | === Google Earth / Satellite View license bypass === | ||
Not working. Passing flag will only remove the popup warning about invalid license. Validation is done on server side. | |||
=== Apple Siri / Google Assistent patch === | === Apple Siri / Google Assistent patch === | ||
Line 97: | Line 142: | ||
=== Car Menus override === | === Car Menus override === | ||
//TODO | //TODO | ||
== More TODOOO == | |||
Look for: | |||
flush | |||
deviceModeToString | |||
initAudioFocusManagement | |||
...to find potentially interesting elements of the code. |
Latest revision as of 08:37, 16 March 2025
Basics
Location
/ifs/lsd.jxe
???
Run script
/mnt/app/eso/hmi/lsd/lsd.sh
Run script variables
export MOUNT_DIR= export MOUNT_APP_DIR=/mnt/app export BASE_DIR=$MOUNT_APP_DIR/eso/hmi export LSD_DIR=$MOUNT_DIR/ifs export GRAPHICS_DIR=$BASE_DIR/graphics
lsd.sh flags and VMOPTIONS
Some functions and options of the LSD.JXE can be adjusted and passed via a VMOPTION
parameter. This will allow to run it in with some debug options, experimental features, bypassing safety check, changing screen resolution, etc.
More information about VMOPTIONS.
-DActivateAllCarMenus=true -DSetMenuCoding=ACC:5,INT_LIGHT:5, (...) ,MKE:5,BCME:0 -DSetCarMenusVisible=true -DOfficial_Release=true -DSYNC_EARLY_RVC=true -DWAIT_FOR_MAP_AVAILABLE=20000 -DWAIT_FOR_AUDIO_TIMEOUT=1 -DWAIT_FOR_SDS_AVAILABLE=1 -Dmedia.config.usb=installed -Dmedia.config.aux=installed -Dmedia.config.tv=installed -Dmedia.config.cd=installed -Dmedia.config.dvd=notinstalled -Dtv.startup.config.force.enable=true -DdisableRRDforPOI=true -DActivateNaviDebugPopup=true -DenableNLU=true" -DsdsPauseActive=false -DsdsLogicalPopup=true -DexternalSDS=true -DenableGEM=true -DIS_PRODUCTION_MODE=true -DEOLFLAG_IMPORT_MEDIA_DATA=1 -DEOLFLAG_RIPPING_MEDIA_DATA=1 -DuseNewTtsClient=true -DErrorDumpTriggerPort=6767 -DSWDLAutoRetries=0 -Dscreenshot.dirs=/fs/sda0;/fs/sdb0;/fs/usb0;/fs/usb1;/tmp -DmyAudi.VIN=BAUIEE4HZ09012808 -DmyAudi.IMSI=2620225510 -DoverrideBtMediaDiagCode=true -DbtIgnoreSpeedThreshold=true -Dbluetooth.enableFastInquiry=true -DScreenRes=1 -DScreenRes=4
LSD.jxe development mode
Warning! In my case developer mode caused screen freeze. I was able to recover the unit.
How to enable dev mode
DEV_ACTIVATED=$BASE_DIR/lsd/development_activated
Enable development mode by creating this empty file:
touch /mnt/app/eso/hmi/lsd/development_activated && sync && sync && sync
How to disable dev mode
rm /mnt/app/eso/hmi/lsd/development_activated && sync && sync && sync
What is dev mode?
If development mode is enabled, it will trigger couple things in LSD.JXE
.
- overwrites JAVA_HOME directory path.
if [[ -f $DEV_ACTIVATED ]]; then if [[ -d $BASE_DIR/lsd/jre ]]; then export JAVA_HOME=$BASE_DIR/lsd/jre fi fi * loads <code>bundles.properties</code> file if [[ -f $DEV_ACTIVATED ]]; then VMOPTIONS="$VMOPTIONS -Dlsd.bundles=$BASE_DIR/lsd/bundles.properties" fi
- sets
dev_mode
variable for hmi logic, sets path to external hmi.zip boot class if it exists
#development mode if [[ -f $DEV_ACTIVATED ]]; then echo "######################################" echo "# DEVELOPER MODE ACTIVE #" echo "######################################" echo "BASEDIR = $BASE_DIR" VMOPTIONS="$VMOPTIONS -Ddev_mode=true" ## ## hmi.zip classpath ## HMI_ZIP=$BASE_DIR/lsd/hmi.zip if [ -f "$HMI_ZIP" ]; then BOOTCLASSPATH="$BOOTCLASSPATH:$HMI_ZIP" fi # use JXE from basedir (eso/hmi) if it exists if [[ -f $BASE_DIR/lsd/lsd.jxe ]]; then LSD_JXE=$BASE_DIR/lsd/lsd.jxe fi fi * outputs diagnostic info <nowiki>#Diagnosis output in development mode: if [[ -f $DEV_ACTIVATED ]]; then echo "JAVA_HOME=$JAVA_HOME" echo "VMOPTIONS=$VMOPTIONS" echo "BOOTCLASSPATH=$BOOTCLASSPATH (plus lsd.jxe)" echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" fi</nowiki>
- executes this
if [[ -f $DEV_ACTIVATED && -f "$HMI_ZIP" ]]; then # start hmi.zip info "starting j9 with $HMI_ZIP" $J9 $VMOPTIONS -Xbootclasspath:$BOOTCLASSPATH de.dreisoft.lsd.LSD & else if [[ -f "$LSD_JXE" ]]; then # start lsd.jxe BOOTCLASSPATH="$BOOTCLASSPATH:$LSD_JXE" info "starting j9 ...." $J9 $VMOPTIONS -Xbootclasspath:$BOOTCLASSPATH -jxe:$LSD_JXE & else echo !!!!! lsd.jxe not found !!!!! fi fi
Tweaks
Google Earth / Satellite View license bypass
Not working. Passing flag will only remove the popup warning about invalid license. Validation is done on server side.
Apple Siri / Google Assistent patch
Not 100% sure, but this might disable the SDS popup about external SDS when using Siri/Assistant. Will try it soon.
VMOPTIONS="$VMOPTIONS -DsdsLogicalPopup=false"
Touchpad input rubberband disable
Not 100% sure, but this might disable inertion of user input from the touchpad (map scrolling, balance/fader setting)
touch /mnt/app/eso/hmi/disableRubberbandCrosshair && sync && sync && sync
Car Menus override
//TODO
More TODOOO
Look for:
flush deviceModeToString initAudioFocusManagement
...to find potentially interesting elements of the code.