Jump to content

Recommended Posts

Geschrieben

So. Nach dem ich mir zur Zeit einen Wolf probiere mal die Frage an unsere Linux Spezis.

 

Das erste mal den OpenGL Treiber für die Mali GPU installieren und testen funtionierte einwandfrei.

 

* git clone https://github.com/linux-sunxi/sunxi-mali.git
* cd sunxi-mali
* git submodule init
* git submodule update
* sudo make install

* # move the lima drivers out of the search path:
* sudo mkdir /usr/lib/arm-linux-gnueabihf/bak
* sudo mv /usr/lib/arm-linux-gnueabihf/libGLES* /usr/lib/arm-linux-gnueabihf/bak
* sudo mv /usr/lib/arm-linux-gnueabihf/libEGL* /usr/lib/arm-linux-gnueabihf/bak

Am nächsten Tag ging OpenGL nicht mehr.

Ha versucht es erneut zu aktivieren nach Anleitung mit dem Ergebnis das es nicht funktionierte.

Es kommt immer der Fehler error eglinitialize() failed.

Die Emulaition bekomme ich wieder zum Laufen wenn ich die gesicherten Dateien in das Verzeichniss zurück schreibe.

Dann läuft aber eben wieder die Software OpenGL Emulation. Also der Software Render.

 

Das kann man testen mit es2_info und die Performance mit es2gears.

 

Kannst du mir vielleicht weiterhelfen photron.

Ganz lieb guck. ::)

Geschrieben

Wie sieht es mit den Modulen für den Malitreiber aus. Wurden die geladen.

 

Schau mal mit lsmod nach, ob die Module laufen, zusätzlich noch mit dmesg und auf /var/log/messages schauen.

 

Eventuell mit modprobe die Treiber nachladen, dann bekommst du mitgeteilt, was nicht passt. Oder es läuft dann.

Geschrieben
f@red-brick:~$ lsmod
Module                  Size  Used by
8188eu                506931  0
g_red_brick            37229  3
red_brick_uid           1618  1 g_red_brick
mali                  110636  0
ump                    34163  1 mali

Geschrieben

Nein. Er meldet auch beim Installieren das die aktuelle Version schon installiert ist.

 

Es geht kein eimnzigens Programm mit OpenGL bis ich die "alten" Dateien aus dem bak Verzeichnis zurück verschoben habe.

Dann läuft alles wieder mit der Software Emulation.

Geschrieben

Meine Vermutung wäre jetzt, das Mali gar nicht gelaufen ist. Das Umkopieren der Libs sollte nichts verändern, da diese ja im Hautpspeicher liegen.

 

Oder bist du sicher, das die Malisachen tatsächlich gelaufen sind und nicht nur der Emulator??

Geschrieben

gibt es da wo du dein make install gemacht hast auch ein "make uninstall" ??

 

Das wäre mal einen Test wert. Alles  deinstallieren und dann neu aufspielen. Nach deiner Beschreibung müsste das ja dann gehen. Im nächsten Schritt könnte man versuchen, zu sehen, was nach dem reboot passiert.

Geschrieben

Also kurze Bestandsaufnahme: Ich habe hier RED Brick (frisches 1.7er Image) mit HDMI Display und USB WLAN Stick und verbinde mich über SSH.

 

Da ich mich über SSH verbinde muss ich erstmal DISPLAY=:0 setzen damit die Programm auch den X Server finden:

 

export DISPLAY=:0

 

Dann installiere ich mesa-utils und mesa-utils-extra und teste mittels glxinfo, glxgears, es2_info und es2gears.

 

tf@red-brick:~$ glxinfo
name of display: :0
libGL error: MESA-LOADER: malformed or no PCI ID
libGL error: unable to load driver: mali_drm_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: mali_drm
...
OpenGL renderer string: Software Rasterizer

 

Interessant hier ist, dass glxinfo sich beschwert mali_drm nicht laden zu können, obwohl mali_drm geladen ist:

 

tf@red-brick:~$ lsmod
Module                  Size  Used by
disp_ump                 838  0 
mali_drm                2622  1 
drm                   215517  2 mali_drm
8188eu                506931  0 
g_red_brick            37229  3 
red_brick_uid           1618  1 g_red_brick
mali                  110636  0 
ump                    34163  4 mali,disp_ump

 

es2_info beschwert sich lima nicht laden zu können:

 

tf@red-brick:~$ es2_info
libEGL warning: DRI2: failed to open lima (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
...
GL_RENDERER: Software Rasterizer

 

glxgears beschwert sich genauso wie glxinfo und schaft um die 33 FPS mit dem Software Rasterizer:

 

tf@red-brick:~$ glxgears
libGL error: MESA-LOADER: malformed or no PCI ID
libGL error: unable to load driver: mali_drm_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: mali_drm
166 frames in 5.0 seconds = 33.013 FPS

 

es2gears beschwert sich genauso wie es2_info und schaft um die 16 FPS mit dem Software Rasterizer:

 

tf@red-brick:~$ es2gears
libEGL warning: DRI2: failed to open lima (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
EGL_VERSION = 1.4 (DRI2)
vertex shader info: 
fragment shader info: 
info: 
81 frames in 5.0 seconds = 16.152 FPS

 

Der sunxi-mali Treiber ist im Image eigentlich schon installiert. Warum OpenGL dennoch nicht richtig funktioniert ist mir nicht klar. Muss ich mir im Detail ansehen.

Geschrieben

Okay, ich denke ich habe das Problem gefunden.

 

Das sunxi-mali Makefile installiert den Treiber ins falsche Verzeichnis. Zumindest muss es auf dem RED Brick in ein anderes Verzeichnis damit es2gears es benutzt.

 

Ich habe vier Debian Packages angehängt. Installier die mal bitte alle mittels "sudo dpkg -i <package-file>" auf dem RED Brick (Reihenfolge ist egal). Danach sollte es2gears deutlich schneller laufen. Teste das dann auch mal bitte mit deinem richtigen OpenGL Programm, nicht das ich da jetzt bloß es2gears verbessert habe.

 

Edit: Das entspricht übrigens dem was im Wiki Eintrag steht. Das sunxi-mali Makefile installiert die Dateien nach /usr/lib/. Die EGL/GLES Debian Packages, die Dateien gleichen Namens beinhalten installieren diese nach /usr/lib/arm-linux-gnueabihf/ was Vorrang vor /usr/lib/ zu haben scheint. Daher werden im Wiki Eintrag die EGL/GLES Debian aus /usr/lib/arm-linux-gnueabihf/ wegbewegt.

 

Die angehängten Debian Packges ersetzen die original Debian Dateien mit denen aus sunxi-mali.

libegl1-mesa_2-1.1-1_armhf.deb

libgles1-mesa_2-1.1-1_armhf.deb

libgles2-mesa_2-1.1-1_armhf.deb

libsunxi-mali-x11_1.1-1_armhf.deb

Geschrieben

Ausser das erste Paket geht alles zu installieren.

Es kommt folgende Ausgabe.

(Reading database ... 142071 files and directories currently installed.)
Preparing to unpack libegl1-mesa_2-1.1-1_armhf.deb ...
Unpacking libegl1-mesa (2:1.0-1) over (10.3.2-1) ...
dpkg: error processing archive libegl1-mesa_2-1.1-1_armhf.deb (--install):
trying to overwrite '/usr/lib/arm-linux-gnueabihf/libEGL.so', which is also in package libegl1-mesa-dev:armhf 10.3.2-1
Errors were encountered while processing:
libegl1-mesa_2-1.1-1_armhf.deb

Geschrieben

Ich nehme an du meinst es2_info gibt diesen Fehler aus. Ich habe mir das gerade kurz angesehen aber ich kann nicht wirklich was dazu finden warum eglInitialize() fehlschlägt.

 

Kannst du das noch mal mit einem frischen RED Brick Image testen?

  • 11 months later...
Geschrieben

Hallo,

 

also ich habe frisch das Image 1.8 drauf - es2_info funktioniert damit nicht und auch nicht es2gears. Erst nach Installieren des sunxi-mali Treibers (siehe Wiki) funktioniert EGL und es2gears mit ca. 110-114 frames pro Sekunde (in kleiner Auflösung).

 

Gruß

Andreas

Geschrieben

es2_info

EGL_VERSION: 1.4 Linux-r3p0-04rel0

EGL_VENDOR: ARM

EGL_EXTENSIONS:

    EGL_KHR_image, EGL_KHR_image_base, EGL_KHR_image_pixmap,

    EGL_KHR_gl_texture_2D_image, EGL_KHR_gl_texture_cubemap_image,

    EGL_KHR_gl_renderbuffer_image, EGL_KHR_reusable_sync, EGL_KHR_fence_sync,

    EGL_KHR_lock_surface, EGL_KHR_lock_surface2

EGL_CLIENT_APIS: OpenGL_ES

GL_VERSION: OpenGL ES 2.0

GL_RENDERER: Mali-400 MP

GL_EXTENSIONS:

    GL_OES_texture_npot, GL_OES_compressed_ETC1_RGB8_texture,

    GL_OES_standard_derivatives, GL_OES_EGL_image, GL_OES_depth24,

    GL_ARM_rgba8, GL_ARM_mali_shader_binary, GL_OES_depth_texture,

    GL_OES_packed_depth_stencil, GL_EXT_texture_format_BGRA8888,

    GL_EXT_blend_minmax, GL_OES_EGL_image_external, GL_OES_EGL_sync,

    GL_EXT_multisampled_render_to_texture, GL_EXT_discard_framebuffer,

    GL_OES_get_program_binary, GL_EXT_shader_texture_lod

 

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...