Topic: Etnaviv, Mesa 3D and Novena

Guys, can you please share some news/progress on this topic?

Thanks and regards.

Re: Etnaviv, Mesa 3D and Novena

The current plan of attack is something like this:

  • 1. Get the latest galcore kernel module from jnettlet.  This is required for both 2D and 3D to work.  The etnadrm kernel module is not yet ready.
    2. Finish up 3.19.  There are a few problems with it still, but I'd like to push it out.
    3. Re-enable 2D acceleration.
    4. Examine progress of Mesa 3D.

I haven't seen 3D working myself yet, but I hear that it works at least on the framebuffer.

Re: Etnaviv, Mesa 3D and Novena

Hi xobs,

Thanks. Do you have any ideas about the availibility of EGL implementation, as part of the Mesa delivery? That would be awesome, as it will allow running Wayland on the top of the fully free graphics stack.

Regards.

Re: Etnaviv, Mesa 3D and Novena

One of the goals is to have an EGL library that will work with Wayland.  Though another goal is to be able to use the 2D engine for Wayland, which should work as well but has the added benefit of using less power for 2D operations.

But alas, I don't have any estimates.  I do have my 3.19 running more stably now, which means #2 should be closer to reality.

5 (edited by Vumber2 2015-03-28 06:20:28)

Re: Etnaviv, Mesa 3D and Novena

I am not that familiar with linux graphics so that's why I am asking If i am correct to assume that for the 2d acceleration it kinda looks like this?:

GPU <> Galcore(vivante supplied gpl)(kernel) <> libdrm (with etnaviv support)(userspace) <> xserver-xorg-video-armada(with etnaviv support)(userspace)

And for 3d like this?:

GPU <> Galcore(vivante supplied gpl)(kernel) <> libdrm (with etnaviv support)(userspace) <> mesa(with etnaviv support)(userspace)

I have been looking around and saw that https://github.com/austriancoder  has been recently active with etnaviv
but I couldn't find any publicly available information about Jon Nettleton's https://github.com/linux4kix or russell king's http://ftp.arm.linux.org.uk/cgit/ progress. russel king's name has not been named by xobs or bunnie as being an participant in the current development, but he has developed a big part of the etnaviv project so that's why i named him.

Re: Etnaviv, Mesa 3D and Novena

rmk (Russel King) did the xserver-xorg-video-armada driver.  austriancoder has been doing his own work with etnadrm, the open-source galcore replacement, but the ABI has been shifting a lot, and doesn't work with libdrm/libetnaviv/xserver-xorg-video-armada anymore.

Re: Etnaviv, Mesa 3D and Novena

What's the status of 2D acceleration?  How hard is it to enable experimentally on my own machine?

Re: Etnaviv, Mesa 3D and Novena

I think I answered my own question: https://github.com/xobs/xorg-novena/blo … ovena.conf

Re: Etnaviv, Mesa 3D and Novena

Using that config I get:

[ 11967.876] (EE) armada(0): etnaviv: unable to open: No such file or directory
[ 11967.876] (WW) armada(0): [drm] Vivante initialization failed, running unaccelerated

Re: Etnaviv, Mesa 3D and Novena

Seems to be working for these people on related hardware: http://forum.solid-run.com/linux-on-cub … -s240.html -- not sure what I'm missing yet.

Re: Etnaviv, Mesa 3D and Novena

Seems likely that the issue is I lack https://github.com/austriancoder/linux/ … ng/etnaviv in my kernel.  Going to try playing with that.

Re: Etnaviv, Mesa 3D and Novena

Hmm, seems that I cannot build that module for the existing kernel because it needs CONFIG IOMMU API on ... maybe I'll try doing a full kernel build later, if I get some time.

Re: Etnaviv, Mesa 3D and Novena

I am now running on branch v3.19-novena-etnadrm-r3 from xobs' novena-linux git, which has etnaviv enabled as a built-in module, but I get the same error from X...

Re: Etnaviv, Mesa 3D and Novena

I switched etnaviv to be built as a loadable module so that I can clearly see it in my lsmod.  I still get the same in my X logs:

[     7.821] (EE) armada(0): etnaviv: unable to open: No such file or directory
[     7.822] (WW) armada(0): [drm] Vivante initialization failed, running unaccelerated

Re: Etnaviv, Mesa 3D and Novena

etnaviv support is definitely still a work in progress.  In particular, it fails frequently when resuming from hibernate.

I think you're still using vivante/galcore.  You'll need to edit /usr/share/X11/xorg.conf.d/60-novena.conf and uncomment these lines:

    Option "Screen"        "0"
    Option "AccelModule"   "etnadrm_gpu"

Re: Etnaviv, Mesa 3D and Novena

My 60-novena.conf looks like this:

Section "Device"
    Identifier "novena"
    Driver "armada"
    Option "UseGPU" "true" # change to "false" to disable 2D acceleration
    Option "XvPreferOverlay" "FALSE" # FALSE enables xv acceleration

    # The next two options switch it from galcore to etnadrm mode
    Option "Screen" "0"
    Option "AccelModule" "etnadrm_gpu"
EndSection

Section "Files"
    ModulePath "/usr/lib/xorg/modules/"
    ModulePath "/usr/lib/arm-linux-gnueabihf/xorg/modules/"
EndSection

Full Xorg.0.log after removing it and rebooting: http://pastie.org/10302549

Re: Etnaviv, Mesa 3D and Novena

I grabbed the source package for the X11 driver, and narrowed the problem down to this line in etnadrm.c :

conn->fd = drmOpen("etnaviv", NULL);

I'm reading about drmOpen now, but I'm not really sure what's likely to be failing.

18 (edited by ballanux 2015-07-25 16:01:20)

Re: Etnaviv, Mesa 3D and Novena

I had the same errors as you, singpolyma, I installed all the *deb packages from https://nas.xobs.io/novena/20150603/ and now the 2D acceleration works fine. For example I can play full screen videos (low resolution ones). Although I still get these errors:

[    10.641] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/etnadrm_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/etnadrm_dri.so: cannot open shared object file: No such file or directory)
[    10.641] (EE) AIGLX: reverting to software rendering

xobs, I don't really know if you leave those packages for people to test them from time to time or what... I just thought, "what can go wrong?" big_smile

Re: Etnaviv, Mesa 3D and Novena

@ballanux installing just the kernel image and two xserver packages from that link worked for me, thanks!

I now get the same error as you.  etnadrm_dri is definitely a thing in that source tree, but it doesn't seem to compile to its own .so?

I'm not sure how these binaries are different from the kernel/xserver packages I was building from source.  I definitely needed both, though, since the xserver packages without the kernel clearly tried to use GPU, but then would fail and X would not start, until I installed the kernel from that link.

Re: Etnaviv, Mesa 3D and Novena

Hmm, mplayer just crashes now, @ballanux -- what video player are you using?

I can drag windows around with their contents showing, so something is definitely accelerated!

21 (edited by ballanux 2015-07-26 16:35:24)

Re: Etnaviv, Mesa 3D and Novena

yes, mplayer also crashes for me, I use vlc with auto settings for video output

Anyway, I only can play videos of 720x400px or so, if its 720px vertical it gets stuck and only plays audio

Edit: if you want mplayer to work you can use the following options:

mplayer -vo x11 -fs video_file.mp4

or

mplayer -vo x11 -fs -zoom -framedrop video_file.mp4

but the last one may be dropping a lot of frames...

Re: Etnaviv, Mesa 3D and Novena

[    10.641] (EE) AIGLX error: dlopen of /usr/lib/arm-linux-gnueabihf/dri/etnadrm_dri.so failed (/usr/lib/arm-linux-gnueabihf/dri/etnadrm_dri.so: cannot open shared object file: No such file or directory)

This is normal.  We don't yet have an Accelerated Inderect GLX driver, which is why things like compositors don't work.

It should, however, say:

[    12.479] (II) armada(0): direct rendering: DRI2 enabled

Re: Etnaviv, Mesa 3D and Novena

Also, regarding mplayer, there's some bug I have yet to track down.  mpv should work, though, and is mostly a drop-in replacement.

Re: Etnaviv, Mesa 3D and Novena

Sorry to hijack this thread, but I didn't think my question warrented created a new one. I'm seeing  lag when I drag windows (the mouse leads the window by a significant amount). My configuration has not changed from when I recieved my Novena, aside from bringing all the packages up to date with the apt mirrors.

Would enabling 2D acceleration fix this or should I be trying to debug my setup as-is?

Re: Etnaviv, Mesa 3D and Novena

@stim my novena always did that. 2D acceleration fixed it. Or just turn off showing window contents while dragging.