Я написал собственное устройство кадрового буфера QEMU. В поддержку этого я также написал драйвер кадрового буфера для Linux. cat /dev/urandom > /dev/fb0
прекрасно работает и вызывает мой обратный вызов fb_write (нестандартный макет, не может быть mmap'ed). Однако моя попытка приложения пользовательского пространства отказывается работать.
Я открыл /dev/fb0
с fopen([filename], "rwb");
, и возвращается ненулевой указатель. Но когда я пишу в него с помощью fwrite, хотя FILE * все еще не равен нулю, возвращается ошибка, и perror печатает «Дескриптор плохого файла». Есть идеи?