Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multirom crashes (framebuffer issue?) #98

Closed
z3ntu opened this issue Jun 25, 2016 · 10 comments
Closed

multirom crashes (framebuffer issue?) #98

z3ntu opened this issue Jun 25, 2016 · 10 comments

Comments

@z3ntu
Copy link

z3ntu commented Jun 25, 2016

When I try to compile multirom for the Fairphone 2, it crashes when trying to use the framebuffer (fb_update())

I already found out (with many INFO() statements) that multirom crashes in the fb_update() function in https://github.com/Tasssadar/multirom/blob/master/lib/framebuffer.c#L189 EDIT: the function fb_cpy_fb_with_rotation. (Line in source: https://github.com/Tasssadar/multirom/blob/master/lib/framebuffer.c#L280). 99% the memcpy function/statement crashes everything. EDIT2:: The last printed line (from my debug lines) is in https://github.com/Tasssadar/multirom/blob/master/lib/framebuffer.c#L289 (the memcpy(dst, src, fb.vi.xres_virtual * fb.vi.yres * PIXEL_SIZE); line)

Output of fb_dump_info():

[ 7.296819] multirom: Framebuffer:
[ 7.300363] multirom: fi.smem_len: 16711680
[ 7.304504] multirom: fi.type: 0
[ 7.307756] multirom: fi.type_aux: 0
[ 7.311295] multirom: fi.visual: 2
[ 7.314660] multirom: fi.xpanstep: 1
[ 7.318219] multirom: fi.ypanstep: 1
[ 7.321834] multirom: fi.ywrapstep: 0
[ 7.325423] multirom: fi.line_length: 4352
[ 7.329501] multirom: fi.mmio_start: 0x0
[ 7.333472] multirom: fi.mmio_len: 0
[ 7.336968] multirom: fi.accel: 0
[ 7.340285] multirom: vi.xres: 1080
[ 7.343779] multirom: vi.yres: 1920
[ 7.347211] multirom: vi.xres_virtual: 1088
[ 7.351404] multirom: vi.yres_virtual: 3840
[ 7.355584] multirom: vi.xoffset: 0
[ 7.359015] multirom: vi.yoffset: 0
[ 7.362506] multirom: vi.bits_per_pixel: 32
[ 7.366696] multirom: vi.grayscale: 0
[ 7.370319] multirom: vi.red: offset: 24 len: 8 msb_right: 0
[ 7.375986] multirom: vi.green: offset: 16 len: 8 msb_right: 0
[ 7.381782] multirom: vi.blue: offset: 8 len: 8 msb_right: 0
[ 7.387443] multirom: vi.transp: offset: 0 len: 8 msb_right: 0
[ 7.393237] multirom: vi.nonstd: 0
[ 7.396604] multirom: vi.activate: 128
[ 7.400394] multirom: vi.height: 4294967295
[ 7.404505] multirom: vi.width: 4294967295
[ 7.408583] multirom: vi.accel_flags: 0

Some important-looking lines from last_kmsg:

[ 7.028942] multirom: /proc/config.gz is not available!
[ 7.034200] multirom: /proc/atags was not found!
[ 7.038878] multirom: Pixel format: 1080x1920 @ 32bpp
[ 7.044820] msm_ehci_host msm_ehci_host: EHCI USB in low power mode
[ 7.050102] multirom: Pixel format: RGBX_8888
[ 7.244227] mdss_dsi_on:682 Panel already on.
[ 7.251830] multirom: Framebuffer implementation: Generic

I have set the pixel format to RGBX_8888 (with MR_PIXEL_FORMAT := "RGBX_8888" in the BoardConfig.mk).

EDIT: last_kmsg tells me something about "Unable to handle kernel paging request at virtual address"

[ 7.420969] Unable to handle kernel paging request at virtual address ��
[ 7.428068] pgd = �
[ 7.430756] [�� ] *pgd=00000000
[ 7.434321] Internal error: Oops: [#1] PREEMPT SMP ARM
[ 7.440220] Modules linked in:
[ 7.443259] CPU: 1 Not tainted (3.4.0-z3ntu-lastkmsg-ge6e52d0 #1)
[ 7.449681] PC is at 0x��
[ 7.452812] LR is at scheduler_tick+0x /0x
[ 7.457274] pc : [<�� >] lr : [< >] psr: �
[ 7.457277] sp : � � ip : 00000 � fp : � �
[ 7.468730] r10: � � r9 : � � � r8 :
[ 7.473899] r7 : 0000000 r6 : � r5 : 0000000 r4 :
[ 7.480451] r3 : �� r2 : 00000000 r1 : � r0 :
[ 7.486925] Unable to handle kernel paging request at virtual address ��
[ 7.492589] Unable to handle kernel paging request at virtual address ��
[ 7.492593] pgd = �
[ 7.492597] [�� ] *pgd=00000000
[ 7.507582] pgd = �
[ 7.510272] [�� ] *pgd=00000000
[ 8.020982] Unable to handle kernel paging request at virtual address ��
[ 8.020991] Unable to handle kernel paging request at virtual address ��
[ 8.020997] pgd = �
[ 8.021001] [�� ] *pgd=00000000
[ 8.040727] pgd = �
[ 8.043377] [�� ] *pgd=00000000

(and yes, the broken characters are in last_kmsg)

TWRP reports in /tmp/recovery.log about the framebuffer:

Starting the UI...fb0 reports (possibly inaccurate):
vi.bits_per_pixel = 32
vi.red.offset = 24 .length = 8
vi.green.offset = 16 .length = 8
vi.blue.offset = 8 .length = 8
setting GGL_PIXEL_FORMAT_RGBX_8888
framebuffer: 3 (1080 x 1920)

EDIT2: Complete last_kmsg: http://pastebin.com/eiBFgL76

@z3ntu z3ntu changed the title multirom crashes (framebuffer issue) multirom crashes (framebuffer issue?) Jun 26, 2016
@sndnvaps
Copy link

sndnvaps commented Jul 2, 2016

you have to port kexec hardboot to you custom kernel

@z3ntu
Copy link
Author

z3ntu commented Jul 2, 2016

@sndnvaps is this really the issue...?

@sndnvaps
Copy link

sndnvaps commented Jul 3, 2016

i think, i was the one problem of you multirom mgr.

@z3ntu
Copy link
Author

z3ntu commented Jul 12, 2016

@sndnvaps What did you mean as I didn't really understood your last message?

@z3ntu
Copy link
Author

z3ntu commented Jul 12, 2016

See #99 (comment) for a bit more information.

[    7.433124] multirom: Framebuffer:
[    7.436752] multirom: fi.smem_len: 16711680
[    7.440850] multirom: fi.type: 0
[    7.444061] multirom: fi.type_aux: 0
[    7.447681] multirom: fi.visual: 2
[    7.451003] multirom: fi.xpanstep: 1
[    7.454565] multirom: fi.ypanstep: 1
[    7.458181] multirom: fi.ywrapstep: 0
[    7.461771] multirom: fi.line_length: 4352
[    7.465867] multirom: fi.mmio_start: 0x0
[    7.469796] multirom: fi.mmio_len: 0
[    7.473312] multirom: fi.accel: 0
[    7.476631] multirom: vi.xres: 1080
[    7.480127] multirom: vi.yres: 1920
[    7.483559] multirom: vi.xres_virtual: 1088
[    7.487757] multirom: vi.yres_virtual: 3840
[    7.491931] multirom: vi.xoffset: 0
[    7.495362] multirom: vi.yoffset: 0
[    7.498853] multirom: vi.bits_per_pixel: 32
[    7.503042] multirom: vi.grayscale: 0
[    7.506665] multirom: vi.red: offset: 24 len: 8 msb_right: 0
[    7.512292] multirom: vi.green: offset: 16 len: 8 msb_right: 0
[    7.518163] multirom: vi.blue: offset: 8 len: 8 msb_right: 0
[    7.523748] multirom: vi.transp: offset: 0 len: 8 msb_right: 0
[    7.529618] multirom: vi.nonstd: 0
[    7.532950] multirom: vi.activate: 128
[    7.536747] multirom: vi.height: 4294967295
[    7.540852] multirom: vi.width: 4294967295
[    7.544931] multirom: vi.accel_flags: 0

I will try the MR_QCOM_OVERLAY_CUSTOM_PIXEL_FORMAT patch next (maybe tomorrow)

@z3ntu
Copy link
Author

z3ntu commented Jul 15, 2016

New kmsg, it skips multirom now (doesn't display it): http://pastebin.com/Pu2yaMxL and boots to Android

@sndnvaps
Copy link

@z3ntu i get the same issue.. multirom menu cannt show on boot ..
just show the black screen .. after 30 sec,, bootam is show ..

@z3ntu
Copy link
Author

z3ntu commented Jul 16, 2016

I actually got it working now. /closed

@z3ntu z3ntu closed this as completed Jul 16, 2016
@sndnvaps
Copy link

@z3ntu what you have done .. make it work for you device .?

@z3ntu
Copy link
Author

z3ntu commented Jul 16, 2016

z3ntu/android_device_fairphone_FP2@ebc16e5 that was the last thing I had to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants