Я портировал / компилировал androidvncserver для моего устройства Android, но когда я запускаю его (как root), я получаю ошибки mmap.
Код, вызывающий сбой, выглядит следующим образом:
/* Android does not use /dev/fb0. */
#define FB_DEVICE "/dev/graphics/fb0"
if ((fbfd = open(FB_DEVICE, O_RDONLY)) == -1)
{
printf("cannot open fb device %s\n", FB_DEVICE);
exit(EXIT_FAILURE);
}
<SNIP>
fbmmap = mmap(NULL, pixels * bytespp, PROT_READ, MAP_SHARED, fbfd, 0);
if (fbmmap == MAP_FAILED)
{
printf("mmap failed errno = %d\n", errno);
exit(EXIT_FAILURE);
}
Я ищу мысли о том, как отладить это дальше.
Для записи, пиксели = 614400 и байтыpp = 4.Кроме того, / dev / graphics / fb0 принадлежит пользователю root (group = graphics) и имеет разрешения 660.