Linux kernel 用户空间代码未调用帧缓冲区写入cb

Linux kernel 用户空间代码未调用帧缓冲区写入cb,linux-kernel,framebuffer,Linux Kernel,Framebuffer,我已经编写了一个自定义QEMU帧缓冲区设备。为了支持这一点,我还为Linux编写了一个帧缓冲区驱动程序cat/dev/uradom>/dev/fb0工作非常出色,可以调用我的fb_write回调(非标准布局,无法mmap'ed)。然而,我在用户空间应用程序上的尝试失败了 我已经用fopen([filename],“rwb”)打开了/dev/fb0并返回一个非空指针。但是当我用fwrite写入时,虽然文件*仍然是非空的,但是返回了一个错误,perror打印了“坏文件描述符”。有什么想法吗?试试po

我已经编写了一个自定义QEMU帧缓冲区设备。为了支持这一点,我还为Linux编写了一个帧缓冲区驱动程序
cat/dev/uradom>/dev/fb0
工作非常出色,可以调用我的fb_write回调(非标准布局,无法mmap'ed)。然而,我在用户空间应用程序上的尝试失败了


我已经用fopen([filename],“rwb”)打开了
/dev/fb0
并返回一个非空指针。但是当我用fwrite写入时,虽然文件*仍然是非空的,但是返回了一个错误,perror打印了“坏文件描述符”。有什么想法吗?

试试
posix
I/O.
open[/dev/fb0,O_WRDONLY)
。还要注意,
“rwb”
对于
fopen
(你的意思是
“r+”
)在posix系统上,
b
被忽略。这是正确的。想象一下编写一个QEMU设备和一个内核模块只是为了挂断open vs fopen的连接。如果您需要internet points,请随时升级此选项。