Audi MHI2 RVC fullscreen patch

From MIB-Helper.com Wiki
Revision as of 13:42, 10 September 2025 by Mr-fix (talk | contribs) (Uploading already modified files to unit)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
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 screen 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! And here's the repo with needed assets: https://github.com/mrfixpl/Audi-MHI2-RVC-fullscreen

We need to change 3 things:

  • how the unit is processing video stream (crop and position)
  • OPS textures 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 D-Link 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

If you have installed the latest firmware for Audi A3 (MHI2_ER_AU37X_P5089), the root password is 4SapmKoq

Root user passwords for other firmwares and MU app versions 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

Choose one (or more) method to backup original assets in your unit, before you change anything.

Local copy inside MHI2 unit

ssh root@10.173.189.1

mount -uw /net/mmx/mnt/app && mount -uw /net/mmx/mnt/system

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

exit

Remote copy on your computer

mkdir ~/MHI2_backup

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

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

scp -O -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:

 "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

Those textures are displayed on top of the video stream to create base for the rest of user interface.

  • 2100002.png - OPS background
  • 2100003.png - split screen divider
  • 2100137.png - right drawer button frame
  • 2100145.png to 2100156.png - top view car image for cars with RVC and no parking sensors

With an image editor of your choice (GIMP, Photoshop, Affinity Designer, Paint...) modify opacity of the files.

My personal choice:

  • OPS background: opacity 0% (invisible)
  • split screen divider: fading from opacity 25% (top) to 0% (bottom)
  • all other files: opacity 25%

Changes 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.

Interesting files are the OPS_AU*.kzb packages with assets for the Optical Parking System for different body variants of the vehicle.

I found a way to extract images from the .kzb package. You can try with DragonUnPACKer [1] - game file resource explorer/unpacking tool. Once I had the files extracted, I modified couple of them by, once again, changing opacity to 25%.

  • ops_trailer.png - trailer image if vehicle equipped with tow bar and trailer is connected
  • ops_bg_splitscreen.png - parking sensors background
  • ops_car_au*.png - top-view images of vehicles in different body variants.

How to pack the .kzb back? Well I have a messy way of doing it and I'm not going to show you that just yet.

Uploading already modified files to unit

Enable write mode in your MIB

ssh root@10.173.189.1

mount -uw /net/mmx/mnt/app && mount -uw /net/mmx/mnt/system

exit

Send modified assets to MIB

git clone https://github.com/mrfixpl/Audi-MHI2-RVC-fullscreen.git

cd Audi-MHI2-RVC-fullscreen/MHI2_AU37x/modification/

scp -O displaymanager.json root@10.173.189.1:/mnt/system/etc/eso/production/

scp -O *.png root@10.173.189.1:/mnt/app/eso/hmi/lsd/images/HMIEarlyAppsEvoHighScale/

scp -O OPS_*.kzb root@10.173.189.1:/mnt/app/eso/hmi/lsd/kzbs/HMISystemEvoHighScale/

Make sure files are synced with storage drive

ssh root@10.173.189.1

sync

exit

Now reboot the unit with 3-button combination and check if it works.