MobileVRInterface disortion factors in Compatibility mode don't work

Godot Version

v4.3.stable.arch_linux

Hardware

model: Motorola G8
CPU: Qualcomm Technologies, Inc TRINKET, AArch64 Processor rev 4 (aarch64)
GPU: Qualcomm Adreno610v1

Question

If I use Compatibility rendering mode, k1 and k2 properties on MobileVRInterface don’t work (they don’t affect the distortion). In Mobile mode they work fine, but I don’t want to use that one because it’s not powerful enough.

This is my initializing script:

extends Node3D

var xr_interface: MobileVRInterface

func _ready():
	xr_interface = XRServer.find_interface("Native mobile")
	xr_interface.initialize()
	if xr_interface and xr_interface.is_initialized():
		DisplayServer.window_set_vsync_mode(DisplayServer.VSYNC_DISABLED)
		get_viewport().use_xr = true
		xr_interface.eye_height = 0
		xr_interface.k1 = 0.15
		xr_interface.k2 = 0

I don’t know if it’s a bug or if I did something wrong.

Do you have any ideas on how to fix or workaround this? Thanks.

At first glance, this looks like a bug.

Looks like this got missed when we ported the OpenGL renderer over from Godot 3, unless I’m missing something. I can have a look at fixing it but can’t promise to have time for that right away.

One alternative to try is to install Monado and use OpenXR. That should work with the compatibility renderer and then Monado handles the lens distortion for you.

Ok, thanks to your reply. I’ll try using Monado.