Giter Club home page Giter Club logo

linux-module-virtfb's People

Contributors

su5hil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linux-module-virtfb's Issues

Segmentation fault on module initialization

root@var-som-mx6:~# modprobe virtual_fb                                                                                 
Segmentation fault

According to dmesg it looks like it happens in the register_framebuffer function:

[   94.754774] Console: switching to colour frame buffer device 16x16
[   94.754809] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[   94.754814] pgd = d9b54000
[   94.754817] [00000000] *pgd=00000000
[   94.754831] Internal error: Oops: 80000005 [#1] PREEMPT SMP ARM
[   94.754835] Modules linked in: virtual_fb(O+) uvcvideo mxc_v4l2_capture ipu_bg_overlay_sdc ipu_still ipu_prp_enc ipu_csi_enc ipu_fg_overlay_sdc ahci_imx libahci_platform libahci ov5640_camera_mipi_int v4l2_int_device imx_sdma mxc_dcic virt_dma p2_shutdown(O) galcore(O)
[   94.754887] CPU: 2 PID: 851 Comm: modprobe Tainted: G           O    4.14.78-mx6+ge692c3062368 #1
[   94.754891] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[   94.754896] task: d9bf8000 task.stack: d9776000
[   94.754903] PC is at 0x0
[   94.754915] LR is at soft_cursor+0x184/0x1f4
[   94.754920] pc : [<00000000>]    lr : [<80470514>]    psr: 60010013
[   94.754925] sp : d9777b68  ip : d898a007  fp : d9cc34b8
[   94.754929] r10: d898a000  r9 : 00000001  r8 : 00000001
[   94.754934] r7 : d99d5c00  r6 : 00000008  r5 : d9777ba8  r4 : d9cc3480
[   94.754938] r3 : 00000000  r2 : d9cc34c0  r1 : d9cc3480  r0 : d99d5c00
[   94.754945] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment none
[   94.754950] Control: 10c53c7d  Table: 69b5404a  DAC: 00000051
[   94.754955] Process modprobe (pid: 851, stack limit = 0xd9776210)
[   94.754961] Stack: (0xd9777b68 to 0xd9778000)
[   94.754969] 7b60:                   00000008 80e0f864 80b307c8 00000000 d9dbc800 d9dbc800
[   94.754978] 7b80: d9777ba8 d9cc33c0 d9cc33c7 d99d5c00 80937b80 00000000 00000001 8046fe10
[   94.754987] 7ba0: 00000002 00000000 0000003b 00000001 d9cc33c0 00000000 00000078 00000068
[   94.754995] 7bc0: 00000008 00000008 00000007 00000000 80ed0101 80937b80 80ed0178 80874130
[   94.755004] 7be0: ffffffff 80168888 60010013 60010013 00000023 d8008800 00000000 d99d5c00
[   94.755012] 7c00: 8046fab4 00000002 00000769 00000007 80ed0178 8046cf78 00000007 00000000
[   94.755021] 7c20: d8008800 80e31b38 80ed0114 80e7638c 00000001 80b248a0 00000000 804dafb4
[   94.755029] 7c40: d8008800 00000000 80ed0114 804dc254 00000001 801702fc 80b248a0 00000000
[   94.755038] 7c60: 00000000 80ed0114 00000001 00000001 80b248a0 804dce7c 00000010 8053194c
[   94.755046] 7c80: 80e31b50 00000000 0000003e 00000000 80ed021c 80ed0234 00000001 80ed0130
[   94.755054] 7ca0: 80943fb4 00000000 00000000 00000000 0000003e 00000001 80ed0734 804dd28c
[   94.755063] 7cc0: 80e31b50 80b30724 00000001 80911b88 d9871420 80ec984c 80e2119c d9777d40
[   94.755071] 7ce0: 00000005 00000000 00000000 d99d5e24 d99d5e24 8046c008 ffffffff 80e21f4c
[   94.755081] 7d00: d9777d40 8014836c 00000005 80e210ac d9777d40 80e047ac d99d5c0c 80148b6c
[   94.755090] 7d20: 00000000 80874130 d99d5c00 00000000 80ec9844 80463530 80b24488 00000000
[   94.755098] 7d40: d99d5c00 808740dc 00000000 00000000 00000080 00000080 00000000 00000000
[   94.755106] 7d60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000020
[   94.755115] 7d80: d99d5c00 7f12d000 00000001 7f12d280 7f12c0fc d99d5c34 00010001 7f130190
[   94.755123] 7da0: 00000000 00000000 00000080 00000080 00000000 00000000 00000000 00000000
[   94.755131] 7dc0: 00000000 00000000 00000000 00000000 00000000 00000020 d9dbda00 ffffe000
[   94.755140] 7de0: 7f130000 00000000 7f12d080 d9cc3de4 00000001 00000000 00000028 80101938
[   94.755148] 7e00: d8676000 00000004 d8676018 d8185400 7f12d0c8 00000000 dbd3c9bc 80d694c8
[   94.755156] 7e20: 00000000 80e70d40 80e70d40 801d161c d9cc3800 f1bc8000 00000001 0000000c
[   94.755165] 7e40: 7f12d080 00000001 7f12d080 00000001 d9cc3880 7f12d080 d9cc3de4 8019dd08
[   94.755175] 7e60: d9cc3de4 8020500c d9777f50 d9777f50 00000001 d9cc3dc0 7f12d080 801a0020
[   94.755184] 7e80: 7f12d08c 00007fff 7f12d080 8019ca78 7f12d0c8 8019c4b0 7f12d23c 7f12c108
[   94.755193] 7ea0: 7f12d1b0 80b9585c 809038b4 80af4dac 80af4c70 ffffe000 7f000000 000021f4
[   94.755204] 7ec0: 00000000 d8b82b40 d9777f48 00000000 00000000 00000000 00000000 00000000
[   94.755212] 7ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   94.755220] 7f00: 00000000 00000000 7fffffff 00000000 00000003 0049fb7c 0000017b 80107b44
[   94.755229] 7f20: d9776000 0000017b 00d20430 801a0494 7fffffff 00000000 00000003 00000000
[   94.755238] 7f40: 00000000 f1bc8000 000021f4 00000000 f1bc8886 f1bc8000 000021f4 f1bc9d94
[   94.755246] 7f60: f1bc9c80 f1bc96e4 00003000 00003220 00000000 00000000 00000000 0000186c
[   94.755254] 7f80: 00000019 0000001a 00000014 00000011 0000000d 00000000 00000000 00000000
[   94.755265] 7fa0: 00000000 80107940 00000000 00000000 00000003 0049fb7c 00000000 00040000
[   94.755273] 7fc0: 00000000 00000000 00000000 0000017b 00000000 00000000 7eee1c34 00d20430
[   94.755281] 7fe0: 7eee0820 7eee0810 00498875 76ef4e12 40010030 00000003 00000000 00000000
[   94.755302] [<80470514>] (soft_cursor) from [<8046fe10>] (bit_cursor+0x35c/0x4c4)
[   94.755313] [<8046fe10>] (bit_cursor) from [<8046cf78>] (fbcon_cursor+0x13c/0x15c)
[   94.755331] [<8046cf78>] (fbcon_cursor) from [<804dafb4>] (hide_cursor+0x38/0xa0)
[   94.755344] [<804dafb4>] (hide_cursor) from [<804dc254>] (redraw_screen+0x118/0x228)
[   94.755358] [<804dc254>] (redraw_screen) from [<804dce7c>] (do_bind_con_driver+0x340/0x3ac)
[   94.755370] [<804dce7c>] (do_bind_con_driver) from [<804dd28c>] (do_take_over_console+0x150/0x1b8)
[   94.755381] [<804dd28c>] (do_take_over_console) from [<8046c008>] (do_fbcon_takeover+0x74/0xd4)
[   94.755396] [<8046c008>] (do_fbcon_takeover) from [<8014836c>] (notifier_call_chain+0x48/0x84)
[   94.755409] [<8014836c>] (notifier_call_chain) from [<80148b6c>] (blocking_notifier_call_chain+0x50/0x68)
[   94.755426] [<80148b6c>] (blocking_notifier_call_chain) from [<80463530>] (register_framebuffer+0x1e0/0x2b0)
[   94.755448] [<80463530>] (register_framebuffer) from [<7f130190>] (init_module+0x190/0x1000 [virtual_fb])
[   94.755476] [<7f130190>] (init_module [virtual_fb]) from [<80101938>] (do_one_initcall+0x44/0x170)
[   94.755489] [<80101938>] (do_one_initcall) from [<8019dd08>] (do_init_module+0x60/0x230)
[   94.755500] [<8019dd08>] (do_init_module) from [<801a0020>] (load_module+0x20e0/0x2348)
[   94.755509] [<801a0020>] (load_module) from [<801a0494>] (SyS_finit_module+0xa4/0xbc)
[   94.755520] [<801a0494>] (SyS_finit_module) from [<80107940>] (ret_fast_syscall+0x0/0x54)
[   94.755529] Code: bad PC value
[   94.755536] ---[ end trace 8f217d13d61f3767 ]---

fbset gives "ioctl FBIOPUT_VSCREENINFO: Cannot allocate memory"

Built and inserted the module. Got a new device "/dev/fb2". Managed to render to it using the GPU, and did read the rendered image from the device at 128x128 pixels.

However if I try to re-configure the device with a usable resolution (let's say 640x480), fbset always replies

fbset -fb /dev/fb2 g 640 480 640 480 32
ioctl FBIOPUT_VSCREENINFO: Cannot allocate memory

dmesg gives
[ xxx] (NULL device *): Unable to allocate framebuffer memory
[ xxx] detected fb_set_par error, error code: -12

Any way to get around this? Tried setting kernel bootargs like fbmem=10M,10M,10M, cma=384M. No difference.

The kernel version I'm using is 4.1.15+g3501f52.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.