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

Eric Anholt eric at anholt.net
Wed Nov 4 18:36:34 PST 2015


Fabio Fantoni <fabio.fantoni at m2r.biz> writes:

> 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.

I've updated http://dri.freedesktop.org/wiki/VC4/ to have links to
.configs.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-users/attachments/20151104/d09ebbbf/attachment.sig>


More information about the mesa-users mailing list