প্রিমুস্রুনের সাথে অ্যান্ড্রোএমএমে অ্যান্ড্রয়েড থ্রিডি ত্বরণ?


19

আমি অতিথি ওএস হিসাবে ইনটেল / এনভিডিয়া হাইব্রিড গ্রাফিক্স কনফিগারেশন সহ একটি উবুন্টু 12.04 32 বিট ল্যাপটপে androVM নামে একটি অ্যান্ড্রয়েড ভার্চুয়াল মেশিনের চেষ্টা করছি (নীচের গ্রাফিক কার্ডগুলির বিশদ)। আমি কয়েকটি গ্রাফিক্স-তীব্র অ্যাপ্লিকেশন পরীক্ষা করেছিলাম, যেমন অ্যাংরি বার্ডস এবং অ্যান্টুটু, একটি বেঞ্চমার্কিং অ্যাপ্লিকেশন, চলমান virtualboxএবং তার AndroVMplayerসাথে primusrun, তবে এগুলি সত্যিই ধীর বলে মনে হচ্ছে, যখন চালানো হচ্ছে তখন তেমন কোনও পার্থক্য নেই primusrun। আমি চেষ্টাও করেছি optirun, যা কেবল সেগফোল্ট দিয়ে ক্র্যাশ হয়ে যায়। আমি আমার হাইব্রিড গ্রাফিক্স সিস্টেমে এই ভিএম এর জন্য ওপেনএল ত্বরণকে কীভাবে সক্ষম করতে পারি?

আমি যে অ্যান্ড্রোভিএম সংস্করণটি চালাচ্ছি এটি হ'ল:

androVM_vbox86tp_4.1.1_r6.1-20130222-gapps-houdini-flash.ova

এবং আমি এখানে বর্ণিত হিসাবে ইনস্টলেশন নির্দেশাবলী অনুসরণ করছি:
AndroVM 20130222 রিলিজ | AndroVM ব্লগ

ভার্চুয়ালবক্সের অধীনে, আমার কাছে 128 এমবি ভিডিও মেমরি এবং সক্ষম 3 ডি এক্সিলারেশন এবং 2 ডি এক্সিলারেশন সেট করা গ্রাফিক্স বিকল্প রয়েছে। আমার হোস্ট BIOS এর ভার্চুয়ালাইজেশন বিকল্পগুলি সক্রিয় করেছে। এখানে আমার হার্ডওয়ারের বিবরণ দেওয়া হল:

sudo primusrun lshw -class display

*-display               
   description: VGA compatible controller
   product: GT218 [GeForce 310M]
   vendor: NVIDIA Corporation
   physical id: 0
   bus info: pci@0000:01:00.0
   version: a2
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
   configuration: driver=nvidia latency=0
   resources: irq:16 memory:d2000000-d2ffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:d000(size=128) memory:d3000000-d307ffff
*-display
   description: VGA compatible controller
   product: Core Processor Integrated Graphics Controller
   vendor: Intel Corporation
   physical id: 2
   bus info: pci@0000:00:02.0
   version: 18
   width: 64 bits
   clock: 33MHz
   capabilities: msi pm vga_controller bus_master cap_list rom
   configuration: driver=i915 latency=0
   resources: irq:52 memory:d3400000-d37fffff memory:b0000000-bfffffff ioport:e080(size=8)

ব্যবহার করার সময় optirun ./AndroVMplayer, আমি এটি পেয়েছি:

[VGL] WARNING: The OpenGL rendering context obtained on X display
[VGL]    :8 is indirect, which may cause performance to suffer.
[VGL]    If :8 is a local X display, then the framebuffer device
[VGL]    permissions may be set incorrectly.
Got command 1002
Got command 1002
Got command 1
Got command 1002
Segmentation fault (core dumped)

এবং এখানে আমার ভার্চুয়ালবক্স ইনস্টলেশন সংক্রান্ত বিশদ রয়েছে:

 dpkg -l virtualbox* | grep ii    

ii  virtualbox                                4.1.12-dfsg-2ubuntu0.2                               x86 virtualization solution - base binaries
ii  virtualbox-dkms                           4.1.12-dfsg-2ubuntu0.2                               x86 virtualization solution - kernel module sources for dkms
ii  virtualbox-guest-additions                4.1.12-1                                             transitional package for virtualbox-guest-additions-iso
ii  virtualbox-guest-additions-iso            4.1.12-1                                             guest additions iso image for VirtualBox
ii  virtualbox-guest-dkms                     4.1.12-dfsg-2ubuntu0.2                               x86 virtualization solution - guest addition module source for dkms
ii  virtualbox-guest-utils                    4.1.12-dfsg-2ubuntu0.2                               x86 virtualization solution - non-X11 guest utilities
ii  virtualbox-guest-x11                      4.1.12-dfsg-2ubuntu0.2                               x86 virtualization solution - X11 guest utilities
ii  virtualbox-qt                             4.1.12-dfsg-2ubuntu0.2                               x86 virtualization solution - Qt based user interface

যদি আমি এটি দিয়ে চালনা করি তবে আমি optirunনিম্নলিখিত ত্রুটিটি পেয়েছি:

> [VGL] WARNING: The OpenGL rendering context obtained on X display
> [VGL]    :8 is indirect, which may cause performance to suffer. [VGL] 
> If :8 is a local X display, then the framebuffer device [VGL]   
> permissions may be set incorrectly.
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glCompileShader:351
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderiv:1215
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderInfoLog:1238
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glCompileShader:351
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderiv:1215
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderInfoLog:1238
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glCompileShader:351
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderiv:1215
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderInfoLog:1238
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glCompileShader:351
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderiv:1215
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderInfoLog:1238
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glCompileShader:351
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderiv:1215
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetShaderInfoLog:1238
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glGetUniformLocation:1382
> error 0x501
> sdk/emulator/opengl/host/libs/Translator/GLES_V2/GLESv2Imp.cpp:glUseProgram:1913
> error 0x501 AndroVMplayer: ../../src/xcb_conn.c:180: write_vec:
> Assertion `!c->out.queue_len' failed. Aborted (core dumped)

চলার সময় আমি কী পাই তা আমার আউটপুট সংশোধন করেছিলাম sudo primusrun lshw -class displayএবং উভয় কার্ডই প্রদর্শিত হয়। এছাড়াও, আমি যখন চালনা primusrun firefoxকরি তখন আমি এই ওয়েবসাইটটি প্রায় 40-50fps পেয়ে থাকি ওয়েব সাইটগুলিতে .ooglecode.com/hg/aquarium/aquarium.html । আমি ছাড়া প্রায় 5fps পেতে primusrun
719016

এইচএমএমএম - সম্ভবত প্রয়োজন নেই - আপনি কি অ্যান্ড্রোভ.আর / / ব্লগ / অ্যানড্রোভ-ডকুমেন্টেশন অনুযায়ী অ্যান্ড্রোভমে সংজ্ঞায়িত ওপেনগল সেটিংসটি সক্ষম করেছেন ?
ফসফ্রিডম

হ্যাঁ, আমি যখন ./AndroVMplayerপ্রথমবারের মতো কোনও নতুন ভিএম-তে ফোন করি, তখন আমি "হার্ডওয়্যার এক্সিলারেশন সক্ষম করুন" এ ক্লিক করি।
719016

... এবং আপনি আপনার নেটওয়ার্ক সেটআপ করতে এবং রান.শ স্ক্রিপ্টের মাধ্যমে চালানোর জন্য সেই লিঙ্কটিতে হার্ডওয়্যার ওপেনগল বিভাগটি অনুসরণ করেছেন - বা প্রিমাসরুন ব্যবহার করে স্ক্রিপ্টের কোনও রূপ?
ফসফ্রিডম

1
2 ডি এক্সিলারেশন অক্ষম করা উচিত, মিথথিক্স। কেবল 3 ডি।
কিউবিক

উত্তর:


1

অ্যান্ড্রয়েড পরিবেশ চলাকালীন ওপেনজিএল নির্দিষ্ট নিয়ম ব্যবহার করে rules আমি আপনার প্রশ্নের পুরোপুরি উত্তর দিতে সক্ষম নই, তবে আমি আপনাকে একটি অ্যান্ড্রয়েড ডেভ কিটে সুপারিশ করতে পারি। developer.android.com/sdk/ একবার এটি সেট আপ হয়ে গেলে, এটি স্বয়ংক্রিয়ভাবে রেন্ডারিংয়ের সর্বোত্তম ব্যবহারের জন্য আপনার সেটআপটি কনফিগার করবে এবং এটি একটি 3 ডি অ্যান্ড্রয়েড পরিবেশ সরবরাহ করতে পারে।


1

আপনি চেষ্টা colud GenyMotion । সেট আপ করার জন্য এটি কেবলমাত্র একটি ক্লিক এবং x86-মোডে চলে।

এটি সত্যই দ্রুত অ্যান্ড্রয়েড এমুলেটর।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.