RX 6500 XT freezes the image after login

This is what I did for the workaround:

  boot.kernelParams = [
    "amd_iommu=on"
    "iommu=pt"
    "kvm_amd.npt=1"
    "kvm_amd.avic=1"
    "quiet"
    "splash"
    "microcode.amd_sha_check=off"
    "amdgpu.ppfeaturemask=0xfffdffff" # turned off Stutter Mode
    "amd_pstate=disable" # also disabled AMD's pstate
  ];

  # set the performance to manual after boot
  systemd.services.set-amd-power-settings = {
    enable = true;
    description = "Set AMD GPU power settings";
    wantedBy = [ "sysinit.target" ];
    serviceConfig = {
      Type = "oneshot";
      ExecStart = pkgs.writeShellScript "set-amd-power" ''
        echo "manual" > /sys/class/drm/card1/device/power_dpm_force_performance_level
        echo "1" > /sys/class/drm/card1/device/pp_power_profile_mode
      '';
    };
  };