OK, I have made some progress on this:
The busid reported by libdrm on the arm64 system is "0007:a1:00.0"
The busid reported by libdrm on a amd64 system is "pci:0000:00:02.0"
The "pci:" prefix is missing on arm64. I think this leads to the
segfault on arm64 as X tests for the prefix.
This little C program below extracts the information and demonstrates
the difference.
I will follow up why this is happening.
Regards,
Daniel
#include <xf86drm.h>
#include <unistd.h>
#include "stdio.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main() {
char *path="/dev/dri/card0";
drmSetVersion sv;
char *buf;
int fd;
int err = 0;
fd = open(path, O_RDWR, O_CLOEXEC);
sv.drm_di_major = 1;
sv.drm_di_minor = 4;
sv.drm_dd_major = -1; /* Don't care */
sv.drm_dd_minor = -1; /* Don't care */
err = drmSetInterfaceVersion(fd, &sv);
buf = drmGetBusid(fd);
printf("busid: '%s'\n", buf);
drmFreeBusid(buf);
close(fd);
return (err == 0);
}
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1691991
Title:
Xorg Segmentation fault on Hisilicon D05 board (arm64)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1691991/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs