2016-09-17 17 views
1

최신 오픈 소스 AMD 드라이버 AMDGPU를 사용하는 Linux에서 AVD (Android Virtual Device Manager)를 통해 가상 장치를 시작할 수 없습니다.Android Studio AVD Linux AMDGPU 드라이버

  • GPU : AMD 수신 460
  • CPU : 인텔 코어 i5-4460 CPU의 @의 3.20GHz × 4
  • OS : 솔 루스 OS
  • 커널 : 4.7.4
  • 메사 : 12.0.3
  • AMDGPU : 1.1.1

오류 메시지 :

스크린 샷 형태로3210
Cannot launch AVD in emulator. 
Output: 
libGL error: unable to load driver: radeonsi_dri.so 
libGL error: driver pointer missing 
libGL error: failed to load driver: radeonsi 
libGL error: unable to load driver: swrast_dri.so 
libGL error: failed to load driver: swrast 
X Error of failed request: GLXBadContext 
    Major opcode of failed request: 153 (GLX) 
    Minor opcode of failed request: 6 (X_GLXIsDirect) 
    Serial number of failed request: 49 
    Current serial number in output stream: 48 
libGL error: unable to load driver: radeonsi_dri.so 
libGL error: driver pointer missing 
libGL error: failed to load driver: radeonsi 
libGL error: unable to load driver: swrast_dri.so 
libGL error: failed to load driver: swrast 
X Error of failed request: GLXBadContext 
    Major opcode of failed request: 153 (GLX) 
    Minor opcode of failed request: 6 (X_GLXIsDirect) 
    Serial number of failed request: 49 
    Current serial number in output stream: 48 
libGL error: unable to load driver: radeonsi_dri.so 
libGL error: driver pointer missing 
libGL error: failed to load driver: radeonsi 
libGL error: unable to load driver: swrast_dri.so 
libGL error: failed to load driver: swrast 
X Error of failed request: BadValue (integer parameter out of range for operation) 
    Major opcode of failed request: 153 (GLX) 
    Minor opcode of failed request: 24 (X_GLXCreateNewContext) 
    Value in failed request: 0x0 
    Serial number of failed request: 33 
    Current serial number in output stream: 34 
QObject::~QObject: Timers cannot be stopped from another thread 

오류 메시지가 : avd amdgpu error

나는 문제가 RadeonSI라는 오래 된 오픈 소스 드라이버를 원하지만, 내 그래픽 카드가 더 이상, 그것은 새로운 AMDGPU를 사용하는 사용하지 않는 것으로 가정합니다.

이 팁을 어떻게 해결할 수 있습니까?

답변

8

죄송합니다. 잘못되었습니다. AMDGPU 문제가 아니 었습니다.

이전에 AVD 번들 라이브러리와 관련된 문제가있었습니다.

~/Android/Sdk/tools/emulator -avd Nexus_5_API_23 -use-system-libs 

설명

~/Android/Sdk/tools/emulator 당신의 SDK의 경로입니다. Android Studio에서 파일 -> 설정 -> 모양을 찾을 수 있습니다. & 동작 -> 시스템 설정 -> Android SDK

Nexus_5_API_23은 Android Studio에서 생성해야하는 가상 장치입니다. 사용 가능한 장치 목록을 찾을 수 있습니다

~/Android/Sdk/tools/emulator -avd -list-avds

그리고 마지막 : -use-system-libs은 시스템 라이브러리를 사용하는 대신 번들


을 위의 일시적인 솔루션입니다. 내가 찾은 영구적 인 해결책은 그다지 좋지 않을 것입니다. 따라서이 책임은 귀하가 감수해야합니다. 홈 디렉토리의 .bashrc (숨김 파일) 설정 환경 변수에서

:

export ANDROID_HOME=/path/to/your/android/sdk

다시 시작/로그 아웃.

cd $ANDROID_HOME/tools/lib64/libstdc++ 
mv libstdc++.so.6 libstdc++.so.6.bak 
ln -s /usr/lib64/libstdc++.so.6 $ANDROID_HOME/tools/lib64/libstdc++ 

분명히 $ANDROID_HOME/tools/lib64/libstdc++이 유효한 경로인지 확인하십시오. 이것은 당신이 당신의 sdk 디렉토리를 추출/이동하는 곳에 달려 있습니다.

이 모든 것이 저에게 효과적이었습니다.

더 많은 합법적 인 해결책이 있지만 슬프게도 나를 위해 작동하지 않습니다.

export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

Issue on Google Bug Tracker