Argon One doesn't work with Ubuntu

In the known issues of Ubuntu 22.04 there is:

Raspberry Pi

  • The Raspberry Pi desktop images have switched to using the Full KMS graphics drivers. The official Raspberry Pi DSI display does not work with full KMS enabled. To enable the use of the Raspberry Pi DSI display, edit the config.txt file on your Raspberry Pi’s hard drive and change the line dtoverlay=vc4-fkms-v3d to dtoverlay=vc4-kms-v3d

Jammy Jellyfish Release Notes - Release - Ubuntu Community Hub

So I decided to give that a go:

  1. Booted the raspi with Manjaro
  2. Connected the ubuntu sd card via a usb sd card adapter
  3. Open the ubuntu’s config.txt and compared it to Manjaro, there were three differences:
    1. Manjaro had dtoverlay=vc4-fkms-v3d (fake kms enabled) whereas ubuntu had dtoverlay=vc4-kms-v3d (full kms enabled), I changed Ubuntu to match Manjaro.
    2. Manjaro also had disable_splash=1 and a specific kernel applied, I did not make these changes.
  4. I powered the unit off, took out the manjaro sd card, took out the usb adapter, put in the ubuntu sd card into the raspi
  5. I powered the unit on, it successfully booted each time, however with extreme visual tearing when dragging windows. I compared this against full kms enabled on raspberry pi 4 outside argon, and raspberry pi 400 and full kms (the default on ubuntu) produces zero tearing.
  6. During boot I got low power warnings when using usb-c on a 5v3a power supply and usb-c on a 5.2v2.4a power supply. Using usb-a to usb-c on the same 5v3a power supply, and using the adafruit power supply produces no low-power warnings.

So conclusion:

  1. For some reason the Argon One hat (regardless of the hdmi+audio adapter) is not compatible with full kms dtoverlay=vc4-kms-v3d which is required to not experience visual tearing.
  2. usb-c to usb-c power is not completely compatible with the Argon One hat, despite working fine otherwise, usb-a to usb-c power and adafruit power is completely compatible with the Argon One hat.