[Mesa-users] Testing VC4 on rpi2 with wayland and weston, weston fail to start with drm

Fabio Fantoni fabio.fantoni at m2r.biz
Sun Nov 1 02:32:37 PST 2015



Il 30/10/2015 18:49, Eric Anholt ha scritto:
> Fabio Fantoni <fabio.fantoni at m2r.biz> writes:
>
>> Il 25/10/2015 15:32, Fabio Fantoni ha scritto:
>>> Il 07/10/2015 00:01, Eric Anholt ha scritto:
>>>> Fabio Fantoni <fabio.fantoni at m2r.biz> writes:
>>>>
>>>>> Il 03/10/2015 00:50, Eric Anholt ha scritto:
>>>>>> Fabio Fantoni <fabio.fantoni at m2r.biz> writes:
>>>>>>
>>>>>>> Hi, I want try VC4 on rpi2 with wayland on debian (I used Sid).
>>>>>>> Following this howto:
>>>>>>> http://dri.freedesktop.org/wiki/VC4/
>>>>>>> I rebuild the kernel from
>>>>>>> https://github.com/anholt/linux/tree/vc4-kms-v3d-rpi2
>>>>>>> Base config modified with: CONFIG_DRM_VC4=y and
>>>>>>> CONFIG_CMA_SIZE_MBYTES=128, full .config in attachment.
>>>>>>> I did the 2 additions to rpi2 config.txt (full in attachment).
>>>>>>> New kernel is working, in kern.log about drm I saw only this about
>>>>>>> drm:
>>>>>>> Oct  1 11:11:16 jessie-rpi kernel: [    1.577017] [drm]
>>>>>>> Initialized drm
>>>>>>> 1.1.0 20060810
>>>>>>> I suppose that compiling with CONFIG_DRM_VC4=y should be present
>>>>>>> but I
>>>>>>> not saw line about.
>>>>>> You should also have various lines in dmesg about:
>>>>>>
>>>>>> [    3.185410] vc4-drm soc:vc4 at 7e4c0000: bound 20902000.hdmi (ops
>>>>>> vc4_hdmi_ops)
>>>>>> [    3.200606] vc4-drm soc:vc4 at 7e4c0000: bound 20206000.pixelvalve
>>>>>> (ops vc4_crtc_ops)
>>>>>> [    3.220583] vc4-drm soc:vc4 at 7e4c0000: bound 20207000.pixelvalve
>>>>>> (ops vc4_crtc_ops)
>>>>>> [    3.232884] vc4-drm soc:vc4 at 7e4c0000: bound 20807000.pixelvalve
>>>>>> (ops vc4_crtc_ops)
>>>>>> [    3.250938] vc4-drm soc:vc4 at 7e4c0000: bound 20400000.hvs (ops
>>>>>> vc4_hvs_ops)
>>>>>> [    3.263385] [drm] Supports vblank timestamp caching Rev 2
>>>>>> (21.10.2013).
>>>>>> [    3.270162] [drm] No driver support for vblank timestamp query.
>>>>>> [    3.470743] Console: switching to colour frame buffer device 240x67
>>>>>> [    3.540179] vc4-drm soc:vc4 at 7e4c0000: fb0:  frame buffer device
>>>>>>
>>>>>> so something is going wrong and keeping you from probing. There's at
>>>>>> least one problem in your config -- you can't have
>>>>>>
>>>>>> CONFIG_FB_BCM2708=y
>>>>>>
>>>>>> since you're trying to run a proper graphics driver, instead.  I don't
>>>>>> think that would keep vc4 from probing, though.  Maybe you wouldn't
>>>>>> have
>>>>>> hit any of those "bound" messages because HDMI fails first due to your
>>>>>> config being missing:
>>>>>>
>>>>>> CONFIG_I2C_BCM2835=y
>>>>>>
>>>>>> I've added that to the wiki page.
>>>>> Thanks for your reply and all your work.
>>>>> I recompiled the kernel and retried, now screen show only and always
>>>>> "initial image" but system with ssh is working.
>>>>> Strange thing is that I not found vc4-drm lines also in this case.
>>>>> Actual kernel .config and kern.log in attachment.
>>>>> I did something missed or wrong or there is problem or an unexpected
>>>>> case?
>>>>> I suppose is probable that also kernel parameters may change something
>>>>> but I don't know if I must change something, actual cmdline.txt.
>>>>> config.txt already attached in previous mail is ok or other changes not
>>>>> present in wiki are present?
>>>>> I also saw the strange thing that kernel is launched with addition
>>>>> parameters (from kern.log) but I not know how and if can be a problem:
>>>>>> Oct  3 17:22:02 jessie-rpi kernel: [ 0.000000] Kernel command line:
>>>>>> dma.dmachans=0x7f35 bcm2708_fb.fbwidth=1360 bcm2708_fb.fbheight=768
>>>>>> bcm2708.boardrev=0x2000010 bcm2708.serial=0x968d5adc
>>>>>> smsc95xx.macaddr=B8:27:EB:8D:5A:DC bcm2708_fb.fbswap=1
>>>>>> bcm2708.disk_led_gpio=47 bcm2708.disk_led_active_low=0
>>>>>> sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000
>>>>>> vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0
>>>>>> console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait
>>>>>> net.ifnames=1
>>>>> If you need more informations or tests tell me and I'll post them.
>>>> Looking through the logs again, I'm not sure what's going on. At this
>>>> point I think I'd start adding DRM_INFO()s in vc4_drm_register(),
>>>> vc4_platform_drm_probe() and vc4_drm_bind() to start bisecting where
>>>> things are going wrong.
>>> I saw update on vc4-kms-v3d-rpi2 branch, I build it and tried but I
>>> had the same result.
>>>
>>> I created the .config with:
>>> make bcm2709_defconfig
>>> and did the changes of the wiki, full .config used is in attachment.
>>> looking the syslog (see attachment) I not saw vc4 even if enabled, I
>>> suppose there is still something wrong or missed in .config.
>>>
>>> Thanks for any reply and sorry for my bad english.
>>>
>> I retried with many other changes, in latest kernel build (config in
>> attachment) I was able to boot with screen output working and something
>> about vc4 in logs but there are errors about it like:
>>> Oct 28 11:44:19 jessie-rpi kernel: [ 3.695517] vc4-drm
>>> soc:gpu at 7e4c0000: failed to bind 3f902000.hdmi (ops vc4_hdmi_ops): -517
>>> Oct 28 11:44:19 jessie-rpi kernel: [    3.713539] vc4-drm
>>> soc:gpu at 7e4c0000: master bind failed: -517
> Those errors are the normal -EPROBE_DEFERs because Linux sucks at device
> probe ordering.  You get a successful DRM probe a moment later when I2C2
> probes.
>
>> Full syslog in attachment.
>> I was able to boot weston with vc4 drm but screen output always freeze
>> after terminal window draw.
>>   From log I saw a segfault but trying to take a backtrace with gdb
>> strangely fails, weston log in attachment.
>>
>> If you need more informations/tests tell me and I'll post them.
> Next step is to figure out how to get a good backtrace from gdb.
>

I tried to update all debian sid packages and rebuild update mesa 
11.0.4-1 packages with vc4 with same result.
With gdbserver connecting to it with ssh I'm able to have gdb working 
until segfault but when I do "bt full" for take the backtrace show only 
these kernel messages:
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.628849] Internal error: Oops: 807 [#1] PREEMPT SMP ARM
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.714166] Process weston (pid: 756, stack limit = 0xa61f0210)
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.720077] Stack: (0xa61f1bc0 to 0xa61f2000)
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.724437] 1bc0: a8cd7800 a9ab1100 00000002 a8e97810 
> a9b1ad00 805ffaf0 00000000 a9ab1100
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.732610] 1be0: a61f1c14 a61f1bf0 8039864c 803c1c14 
> a9ab1100 a8cd7800 a8d9b240 a8e96c10
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.740783] 1c00: a8d9b240 00000000 a61f1c34 a61f1c18 
> 803c2f2c 803984bc ffffffff ffffffff
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.748956] 1c20: 00000000 00000000 a61f1c74 a61f1c38 
> 803c3098 803c2efc ffffffff ffffffff
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.757128] 1c40: 00000000 a8cd7800 a9b1a880 a9ab1100 
> a8cd7800 a8cd6410 a8c79c00 00000069
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.765301] 1c60: a9b1a880 00400000 a61f1c8c a61f1c78 
> 803bedb0 803c2f78 a9ab1100 a8e97810
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.773474] 1c80: a61f1cc4 a61f1c90 803996cc 803bed68 
> a61f1cbc a61f1d30 a8cd7800 a8e97810
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.781647] 1ca0: a8c79c00 a8cd6410 803995d4 00000000 
> 000000a3 0000001c a61f1d0c a61f1cc8
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.789819] 1cc0: 803ae260 803995e0 000002f7 00000040 
> 00000040 00000000 00000000 00400000
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.797992] 1ce0: 00400000 00000004 a61f1dfc a8c79c00 
> a61f1dfc a8cd6410 00400000 a6226240
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.806165] 1d00: a61f1dbc a61f1d10 803ae398 803adf54 
> 000002f7 00000040 00000040 00000000
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.814337] 1d20: 00000000 00400000 00400000 a8cd6420 
> 00000000 00000040 00000040 34325241
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.822510] 1d40: 00000000 00000004 00000000 00000000 
> 00000000 00000100 00000000 00000000
>
> Message from syslogd at jessie-rpi at Nov  1 11:18:34 ...
>  kernel:[  487.830681] 1d60: 00000000 00000000 00000000 00000000 
> 00000000 00000000 00000000 00000000
>

I not other way to take a backtrace.
Can you post your kernel's .config for rpi2 please? I suppose there is 
still something different that cause problem.

Thanks for any reply and sorry for my bad english.


More information about the mesa-users mailing list