Can't open a device node after setenforce 0

109 views Asked by At

im trying to get some data from a device file at path /dev/graphics/fb0 in service, U have root permission and execute the chmod 777 command, then I got an "permission denied" error.
Then I excuted: setenforce 0, and the error disappears, but the file's size is still zero

        RandomAccessFile raf = new RandomAccessFile("/dev/graphics/fb0", "rw");
        FileChannel fc = raf.getChannel();
        logText.setText(raf.length() + " "); // length is 0
        MappedByteBuffer mbb = fc.map(FileChannel.MapMode.PRIVATE, 0, 1024 * 1920 * 4);
        raf.close();

        FileInputStream fileInputStream = new FileInputStream("/dev/graphics/fb0");
        logText.setText(fileInputStream.available() + " "); // available is still 0
1

There are 1 answers

1
Rick Sanchez On

You aren't supposed to do normal read on framebuffer AFAIK.

You'll need to use ioctl sys call to read/write into it. See some examples:

https://android.googlesource.com/platform/system/extras/+/donut-release/tests/framebuffer/fb_test.c

http://betteros.org/tut/graphics1.php