Topic: Etnaviv, Mesa 3D and Novena
Guys, can you please share some news/progress on this topic?
Thanks and regards.
You are not logged in. Please login or register.
Kosagi Forums → Software → Etnaviv, Mesa 3D and Novena
Guys, can you please share some news/progress on this topic?
Thanks and regards.
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.
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.
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.
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.
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.
What's the status of 2D acceleration? How hard is it to enable experimentally on my own machine?
I think I answered my own question: https://github.com/xobs/xorg-novena/blo … ovena.conf
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
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.
Seems likely that the issue is I lack https://github.com/austriancoder/linux/ … ng/etnaviv in my kernel. Going to try playing with that.
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.
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...
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
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"
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
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.
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?"
@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.
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!
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...
[ 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
Also, regarding mplayer, there's some bug I have yet to track down. mpv should work, though, and is mostly a drop-in replacement.
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?
@stim my novena always did that. 2D acceleration fixed it. Or just turn off showing window contents while dragging.
Kosagi Forums → Software → Etnaviv, Mesa 3D and Novena
Powered by PunBB, supported by Informer Technologies, Inc.