Bug 97585

Summary: Genymotion won't start on 12.1
Product: Mesa Reporter: Darek Deoniziak <darekdeoniziak>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED NOTABUG QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Darek Deoniziak 2016-09-03 07:16:48 UTC
I use genymotion (virtualbox based android emulator) Since I updated drivers to use oibaf PPA I can't start genymotion emulator device with DRI_PRIME=1, it hangs at loading screen. But by checking running processes it looks like device runs in the background.

The problem with genymotion occured to me while using DRI_PRIME=1 genymotion after updating drivers using oibaf ppa: https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers on Ubuntu 16.04.

I have Dell Inspirion 7548 with Radeon Opal R7 M265. Genymotion on Intel 5500 Broadwell G2 still works.

DRI_PRIME=1 glxinfo OpenGL renderer: Gallium 0.4 on AMD OLAND (DRM 2.43.0 / 4.4.0-36-generic, LLVM 3.9.0)

DRI_PRIME=1 glxinfo OpenGL version: OpenGL version string: 3.0 Mesa 12.1.0-devel

While running genymotion with DRI_PRIME=1 and LIBGL_DEBUG=verbose I am getting these errors: http://pastebin.com/VFqgRDt8

The main panel does start, I can select different options, problem happens when I want to run genymotion device (in above case Samsung Galaxy S3 was runned). The log from genymotion-player.log is: http://pastebin.com/UG3hmGCx

I've searched around the web and added this to my .profile:
export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
export DISPLAY=:0

That helped with running steam using DRI_PRIME=1 but not genymotion device.

Also part from genymotion.log for starting device, nothing seems to be wrong here: http://pastebin.com/dCv9Y6uq
Comment 1 Darek Deoniziak 2016-09-03 07:36:16 UTC
Just in case.

"nie można otworzyć pliku obiektu dzielonego: Nie ma takiego pliku ani katalogu" 

means: "can't open file of shared object: no such file or directory"
Comment 2 Nicolai Hähnle 2016-09-03 12:13:57 UTC
This seems to be the crucial message:

libGL: dlopen /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so failed (/usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so: undefined symbol: drmFreeDevice)

drmFreeDevice should be provided by libdrm. You can use `ldd /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so` or additional LD_DEBUG flags to check where libdrm.so comes from. Probably something went wrong while installing the PPA.
Comment 3 Darek Deoniziak 2016-09-03 13:29:17 UTC
Thanks, this is the output of `ldd /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so`: http://pastebin.com/TwYQAtr8

And this is `LD_DEBUG=libs ldd /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so`: http://pastebin.com/JwhtLSYH

Not sure how the output is supposed to look like or how to read it to find the problem.

Can I solve the problem without rolling back the ppa? Or it would be best to stick with default drivers provided in Ubuntu repositories (I think it is mesa 11.0 in Ubuntu 16.04)?

Everything works rather fine except the genymotion. "Rather" because I still have few different issues with amdgpu drivers, but I had these too before installing new ppa. It's subject for different report, but since I did mention it here already can I ask where to report this issue for amdgpu (open source ones, not pro): Some programs (like Steam client, genymotion emulator before it stopped working) runned in window mode with amdgpu don't draw content until I resize the window. Or maybe these issues are related?
Comment 4 Nicolai Hähnle 2016-09-03 15:13:45 UTC
Thanks. The LD_DEBUG output is only really useful if it comes from the failed genymotion session. Can you provide that?

Also, what does `objdump -T /usr/lib/x86_64-linux-gnu/libdrm.so.2 | grep drmFreeDevice` say?
Comment 5 Darek Deoniziak 2016-09-03 18:14:51 UTC
The `objdump -T /usr/lib/x86_64-linux-gnu/libdrm.so.2 | grep drmFreeDevice` output:
0000000000007270 g    DF .text	000000000000001b  Base        drmFreeDevice
00000000000073b0 g    DF .text	000000000000003f  Base        drmFreeDevices

And the `LD_DEBUG=libs DRI_PRIME=1 genymotion` outputs.
First after just runned genymotion panel (which works): http://pastebin.com/P6aD00rR
Then part after running device when it hangs at the loading/setting up device: http://pastebin.com/p3BQVJef

Anyway, I've found people had same problem here: https://aur.archlinux.org/packages/genymotion/?comments=all
Comments are long, search for "radeonsi_dri.so: undefined symbol"

Someone suggested to remove /opt/genymotion/libdrm.so.2.

Works for me, genymotion is fine again. :) I'm not an expert but looks like problem was related more to this shared object, mesa itself is fine. I'll mark "bug" as resolved.

One more question related to my previous message if that won't be a problem. Where I can submit bug for amdgpu rendering driver. I have few main problems related to it:
1. Few windowed mode applications don't draw content until window is resized. Alsoo right-click context menu doesn't always appear
2. I have screen tearing for fullscreen apps (screen is cutted to the half from top-left to bottom-right)
3. tearing and flickering when running programs like "Atom", "Blender".

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.