debcrafters-packages team mailing list archive
-
debcrafters-packages team
-
Mailing list archive
-
Message #01912
[Bug 2112695] Re: Add Adreno623 support for Noble
*** This bug is a duplicate of bug 2111480 ***
https://bugs.launchpad.net/bugs/2111480
** This bug has been marked a duplicate of bug 2111480
Backport packages for 24.04.3 HWE stack
--
You received this bug notification because you are a member of
Debcrafters 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. I did build and install test the package on all
other releases.
* Plucky and Questing already have this change:
- https://git.launchpad.net/ubuntu/+source/mesa/tree/src/freedreno/common/freedreno_devices.py?h=applied/ubuntu/plucky#n760
- https://git.launchpad.net/ubuntu/+source/mesa/tree/src/freedreno/common/freedreno_devices.py?h=applied/ubuntu/questing#n765
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/2112695/+subscriptions
References