The attachment
"debdiff_noble_mesa_from_24.2.8-1ubuntu1~24.04.1_to_24.2.8-1ubuntu2~24.04.1~ppa1.diff"
seems to be a debdiff.  The ubuntu-sponsors team has been subscribed to
the bug report so that they can review and hopefully sponsor the
debdiff.  If the attachment isn't a patch, please remove the "patch"
flag from the attachment, remove the "patch" tag, and if you are member
of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by
~brian-murray, for any issue please contact him.]

** Tags added: patch

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mesa in Ubuntu.
https://bugs.launchpad.net/bugs/2112695

Title:
  Add Adreno623 support for Noble

Status in mesa package in Ubuntu:
  New

Bug description:
  [ Impact ]
   * It is a hardware enablement SRU.

   * There is a desire from the community and our Partner (Qualcomm) for being
     able to use the relatively new Adreno 663 GPU for platforms newer than RB3
     (which is supported by
     https://ubuntu.com/download/qualcomm-iot) platform in Ubuntu 24.04.

   * To enable the new GPU, Mesa needs to be made aware about the the
     GPUId/chip_id.

  [ Fix ]
   * Mesa commit:
     334af37697e49e08567b3a3067116cf9568475d2 ("freedreno: Add support for 
Adreno 663 GPU")
     
https://gitlab.freedesktop.org/mesa/mesa/-/commit/334af37697e49e08567b3a3067116cf9568475d2

   * More information could be found in:
     https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33525

  [ Test Plan ]

   * This was already tested on Qualcomm evaluation board using
     Ubuntu Desktop 24.04 Beta release from
     https://ubuntu.com/download/qualcomm-iot

   * Follow the setps
     0. Install Ubuntu Server 24.04 from 
https://ubuntu.com/download/qualcomm-iot
     1. Boot the system and log-in using serial console, ssh or virtual terminal
     2. Verify we are running Adreno Adreno623. Following script should return 
"OK"
  #!/bin/bash
  sudo apt update
  sudo apt-get install build-essential libdrm-dev pkgconf
  cat <<END > /tmp/chip_id.c
  #include <stdio.h>
  #include <fcntl.h>
  #include <drm/msm_drm.h>
  #include <xf86drm.h>

  int main(int argc, char *argv[])
  {
          struct drm_msm_param req = {.pipe = MSM_PIPE_3D0, .param = 
MSM_PARAM_CHIP_ID};
          int fd;

          drmCommandWriteRead(open("/dev/dri/card0", O_RDWR | O_NONBLOCK), 
DRM_MSM_GET_PARAM, &req, sizeof(req));
          printf("%llx\n", req.value);
          return 0;
  }
  END
  gcc /tmp/chip_id.c $(pkg-config --libs --cflags libdrm) -o /tmp/chip_id
  [ $(/tmp/chip_id) == "ffff06060300" ] && echo OK || echo ERROR

     3. Verify we are running Freedreno. Following command should return "msm":
  basename $(readlink /sys/class/drm/card0/device/driver/module)

     4. Make sure some display/screen is physically connected to the
  board

     5. Install  kmscube:
  sudo apt install kmscube

     6. Verify the output of the 'kmscube' command run from the virtual.
     Expected output (especially note the "FD663" as renderer):
  [..]
  EGL information:
    version: "1.5"
    vendor: "Mesa Project
  [..]
  OpenGL ES 2.x information:
  [..]
    vendor: "freedreno"
    renderer: "FD663"
  [..]
  Rendered 120 frames in 2.004499 sec (59.865323 fps)

     7. Verify visually that you can see rotating colorful cube on the screen.
     Press 'q` to quit.

     9. Install ubuntu-desktop:
  sudo apt-add-repository ppa:ubuntu-qcom-iot/qcom-noble-ppa
  sudo apt install ubuntu-desktop-minimal

     10. Reboot the system and verify that you can see ubuntu login screen on
         your display.

  
  [ Where problems could occur ]

   * The chip ID could be wrong. In this case the change would effectively be
     a noop and the test would fail/crash. It is thus mitigated by the test
     plan explained above.

   * The chip ID could be a duplicate for another existing GPU entry, therefore
     creating a conflict. It was manually verified that this is not the case.

   * Since this code is Qualcomm specific, it will not have an impact on
     any other hardware.

   * The change is a one-liner that adds a new ID to the existing GPU entry,
     therefore the patch is very traceable.

  [ Other Info ]

   * The test was performed on an Qualcomm evaluation board with QCS9100

   * Without this patch in mesa, running kmscube produces a SIGSEGV due to
   https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33830

   * The test can only be performed on Noble since no other Ubuntu release
   works on this board yet.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/2112695/+subscriptions


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to