I'm currently using Ubuntu 22.04 LTS and I think I have the same problem as yours. I've made some (small) changes to /boot/firmware/config.txt and it works for me.
This is my config file:
[all]
kernel=vmlinuz
cmdline=cmdline.txt
initramfs initrd.img followkernel
[pi4]
max_framebuffers=2
arm_boost=1
[all]
Enable the audio output, I2C and SPI interfaces on the GPIO header. As
these
parameters related to the base device-tree they must appear before any
other dtoverlay= specification
dtparam=audio=on
dtparam=i2c_arm=on
dtparam=spi=on
Comment out the following line if the edges of the desktop appear outside
the edges of your display
disable_overscan=1
If you have issues with audio, you may try uncommenting the following
line
which forces the HDMI output into HDMI mode instead of DVI (which doesn't
support audio output)
#hdmi_drive=2
[cm4]
Enable the USB2 outputs on the IO board (assuming your CM4 is plugged
into
such a board)
dtoverlay=dwc2,dr_mode=host
[all]
Enable the KMS ("full" KMS) graphics overlay, leaving GPU memory as the
default (the kernel is in control of graphics memory with full KMS)
#dtoverlay=vc4-kms-v3d
dtoverlay=vc4-fkms-v3d
max_framebuffers
Autoload overlays for any recognized cameras or displays that are
attached
to the CSI/DSI ports. Please note this is for libcamera support, not
for
the legacy camera stack
camera_auto_detect=1
display_auto_detect=1
Config settings specific to arm64
arm_64bit=1
dtoverlay=dwc2
#overclocking
over_voltage=5
arm_freq=2000
uncomment if hdmi display is not detected
hdmi_force_hotplug=1
uncomment to force a specific HDMI mode
hdmi_group=2
hdmi_mode=82
hdmi_enable_4k60=1
gpu_mem=256
gpu_freq=500
start_x=1
So, basically, I've copied the whole config file from my Raspberry Pi OS on the other hard drive (with some minor adaptations for Ubuntu 22.04 LTS ofcourse).
Oh, and I'm using RealVNC Server instead of Teamviewer.