Audi MHI2 RVC fullscreen patch: Difference between revisions

From MIB-Helper.com Wiki
Jump to navigation Jump to search
Line 117: Line 117:
  scp -r ~/MHI2_backup/HMIEarlyAppsEvoHighScale_modified root@10.173.189.1:/mnt/app/eso/hmi/lsd/images/HMIEarlyAppsEvoHighScale
  scp -r ~/MHI2_backup/HMIEarlyAppsEvoHighScale_modified root@10.173.189.1:/mnt/app/eso/hmi/lsd/images/HMIEarlyAppsEvoHighScale
   
   
  scp -r ~/MHI2_backup/HMISystemEvoHighScale_modified root@10.173.189.1:/mnt/app/eso/hmi/lsd/kzbs/HMISystemEvoHighScale
  scp ~/MHI2_backup/HMISystemEvoHighScale_modified/OPS*.kzb root@10.173.189.1:/mnt/app/eso/hmi/lsd/kzbs/HMISystemEvoHighScale/

Revision as of 09:48, 29 August 2025

Audi MHI2 RVC fullscreen hack
Audi MHI2 RVC fullscreen hack

Audi MMI MHI2 is set up in such a way that rear view camera is shown in split view. Camera stream is shown on the left side of the display, when the right side is occupied by parking sensors visualisation or AreaView image in equipped cars.

If your car is not equipped with AreaView (you have for example Audi A3 8V where AreaView was not available), you are stuck with RVC image not on fullscreen. Luckily there's a way around it!

We need to change 3 things:

  • how the unit is processing video stream (crop and position)
  • OPS background texture opacity
  • OPS vehicle and radar lines textures inside .kzb container.

Access MHI2 main unit file system

Connection

You can do this via WLAN, USB-to-Ethernet DLink DUB-E100 adapter, or via TX/RX connection from QuadLock.

Protocol

You can use TelNet (unit already supports it) or SSH (service needs to be installed via More Incredible Bash or MIB2 Toolbox).

Root user password

Root user password can be found in the Password_List_V4.0.pdf document from More Incredible Bash repo. You can also use More Incredible Bash to change the root password to harman_f for your convenience.

Backup original files

Local copy inside MHI2 unit

ssh root@10.173.189.1

mount -uw /net/mmx/mnt/app && mount -uw /net/mmx/mnt/system #enable filesystem write mode

cp /etc/eso/production/displaymanager.json /etc/eso/production/displaymanager.json.original

cp -r /eso/hmi/lsd/images/HMIEarlyAppsEvoHighScale /eso/hmi/lsd/images/HMIEarlyAppsEvoHighScale_original

cp -r /eso/hmi/lsd/kzbs/HMISystemEvoHighScale /eso/hmi/lsd/kzbs/HMISystemEvoHighScale_original

Remote copy on your computer

mkdir ~/MHI2_backup

scp root@10.173.189.1:/mnt/system/etc/eso/production/displaymanager.json ~/MHI2_backup/displaymanager.json

scp -r root@10.173.189.1:/mnt/app/eso/hmi/lsd/images/HMIEarlyAppsEvoHighScale ~/MHI2_backup/HMIEarlyAppsEvoHighScale_original

scp -r root@10.173.189.1:/mnt/app/eso/hmi/lsd/kzbs/HMISystemEvoHighScale ~/MHI2_backup/HMISystemEvoHighScale_original

Modifications

Changing FBAS stream size and position

That's easy. Duplicate the displaymanager.json file and call it displaymanager_modified.json. Now open the displaymanager_modified.json with text or code editor and look for section related to the rear view camera. It should look like this:

#<-

#this block configures the RVC
#	"norm": the norm to use, "AUTO", "NTSC_443", "NTSC_M", "PAL"
#	"deinterlace": the deinterlace mode "WEAVE", "BOB", "TEMP_FRAME", "TEMP_FIELD"
#	"source": x,y,w,h
#	"target": x,y,w,h 
#	"brightness": integer representing the brightness value
#	"color": integer representing the color value
#	"saturation": integer representing the saturation value
#	"hue": integer representing the hue value
 "rvc" : {
  "norm" : "AUTO",
  "deinterlace" : "WEAVE",
  "source":{
   "x": 96,
   "y": 48,
   "w": 528,
   "h": 384
  },
  "target":{
   "x": 0,
   "y": 54,
   "w": 528,
   "h": 384
  },
  "brightness": 0,
  "color": 0,
  "saturation": 0,
  "hue": 0
 },

We are going to change two things: source and target parameters. source defines how to crop the original video stream from the camera, and target defines where and how to display it.

Let's start with expanding the source view. RVC camera uses an analog NTSC stream. Full resolution of such video source is 720 by 480 pixel, so let's remove the original cropping and expand the field of view.

"source":{
 "x": 0,
 "y": 0,
 "w": 720,
 "h": 480
},

And now let's make sure that the image is stretched to the full width od the display..

"target":{
 "x": 0,
 "y": 0,
 "w": 800,
 "h": 438
},

Changing opacity of PNG file

This texture is displayed on top of the video stream to create a black background for the distance sensor image.

Duplicate the 2100002.png file and call it 2100002_modified.png. Open the 2100002_modified.png file with image editor of your choice (GIMP, Photoshop...) and change opacity of the image to 25% or even 0%if you want the PDC background to not be visible at all.

Changing opacity of asset inside KZB container

Some textures are not stored directly in the MHI2 filesystem, but are compressed into .kzb containers, most likely made with Kanzi Studio. Free trail exists, but it's not freely available - you can request free trail and hope get a positive reply.

Don't give up. There might be a way.

OPS_AU371.kzb

TODO

Uploading modified files to unit

scp ~/MHI2_backup/displaymanager_modified.json root@10.173.189.1:/mnt/system/etc/eso/production/displaymanager.json 

scp -r ~/MHI2_backup/HMIEarlyAppsEvoHighScale_modified root@10.173.189.1:/mnt/app/eso/hmi/lsd/images/HMIEarlyAppsEvoHighScale

scp ~/MHI2_backup/HMISystemEvoHighScale_modified/OPS*.kzb root@10.173.189.1:/mnt/app/eso/hmi/lsd/kzbs/HMISystemEvoHighScale/