debcrafters-packages team mailing list archive
-
debcrafters-packages team
-
Mailing list archive
-
Message #01779
[Bug 2112695] Re: Add Adreno623 support for Noble
The PPA with the packages for Noble and Oracular is
https://launchpad.net/~kadamski/+archive/ubuntu/sru
I did run a test on my test board and I'm attaching the log from the
kmscube run. You can see that before the packages from the PPA are
installed, the kmscube segfaults. After enabling the PPA, updating mesa
packages and running kmscube again, there is a successful run. What you
can't see from the logs but I did see on my own eyes was the colorful
spinning cube on the screen.
I didn't attach that because it doesn't show much useful information but I then did:
sudo apt install ubuntu-desktop-minimal
And observed the login screen to appear.
The Oracular package was built on LP and I did install it in a temporary sbuild, with:
$ apt install software-properties-common kmscube
$ add-apt-repository ppa:kadamski/sru
$ apt upgrade
To make sure the package is also installable without any problems.
--
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/2112695/+subscriptions
References