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-X,
which is subscribed to xorg in 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

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to