LSD.JXE
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
-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.