Adreno Tools-ის წყალობით, ახლა შეგიძლიათ განაახლოთ გრაფიკული დრაივერი თქვენს Android მოწყობილობაზე root წვდომის გარეშე. წაიკითხეთ მეტი რომ იცოდეთ!
სმარტფონზე ორიენტირებული ვებსაიტები, როგორც წესი, ორიენტირებულია მხოლოდ უახლეს მოწყობილობებზე, მაგრამ მომხმარებელთა დიდი ნაწილი ამა თუ იმ მიზეზის გამო არ არჩევს ტელეფონების განახლებას. ტექნიკის უკმარისობის გამორიცხვით, ამ მოწყობილობებიდან ბევრს შეიძლება ჯერ კიდევ ჰქონდეს წლების გამოყენება, რადგან მათი მფლობელების აზრით, ისინი ჯერ კიდევ კარგად მუშაობენ. ხოლო საბაჟო ROM-ები შეუძლია ძველი სმარტფონების სიცოცხლე საუკუნეების განმავლობაში შეინარჩუნოს, მოდერებისთვის შეიძლება კოშმარი იყოს კამერის და გრაფიკული დრაივერების განახლება მწარმოებლის ოფიციალური მხარდაჭერის გარეშე.
GPU დრაივერების განახლება Android-ზე
სმარტფონის ეკოსისტემისგან განსხვავებით, გრაფიკული დრაივერის განახლება თქვენს კომპიუტერში არის ის, რაზეც ყოველთვის შეგიძლიათ იფიქროთ. ეს შესაძლებელია კომპიუტერის ტექნიკის დრაივერების მოდულარული არქიტექტურის გამო, რაც ენერგეტიკულ მომხმარებლებს საშუალებას აძლევს შეაერთეთ დახურული წყაროს დრაივერის პაკეტებით, ან თუნდაც აირჩიოთ ღია კოდის დრაივერები OEM-ის მოწოდების ნაცვლად ბინარები. თუმცა, Android-ის შემთხვევაში, დრაივერის განახლებები ჩვეულებრივ მოდის მხოლოდ თქვენს ტელეფონში უფრო დიდი OS-ის განახლებების პარალელურად.
GPU-ს განახლებადი დრაივერები გამოგადგებათ შეცდომების გამოსწორებისთვის, გრაფიკის მუშაობის გასაუმჯობესებლად ან ახალი ფუნქციების დასამატებლად OpenGL ან Vulkan API-ებიდან. დღესდღეობით, სმარტფონები უფრო დიდი და სწრაფია, ვიდრე ოდესმე, რაც მათ შესანიშნავ სატრანსპორტო საშუალებად აქცევს თამაშებისთვის, შესაბამისად, კომპიუტერის მსგავსი დრაივერის დიზაინის პორტირება მათზე ქმნის გრძნობა.
სინამდვილეში, Android-ის მოდულარიზაციის მცდელობისას Project Treble-ის საშუალებით, Google-მა რეალურად გახადა ეს შესაძლებელი კონკრეტული პლატფორმისთვის დაყენებული გრაფიკული დრაივერის აპის სახით შეფუთვა და Play-ს მეშვეობით განახლება მაღაზია. მას შემდეგ, Android-ის რამდენიმე ძირითადი OEM თანამშრომლობდა Google-თან და GPU-ს მთავარ მომწოდებლებთან, მათ შორის ARM-თან და Qualcomm-თან. გაავრცელეთ განახლებები მათი ტელეფონების GPU დრაივერებისთვის დამოუკიდებლად უფრო დიდი პროგრამული გამოშვებებისგან.
ამცირებს თუ არა ფრაგმენტაციას გრაფიკის დრაივერის განახლებადი დიზაინი?
დიახ, გარკვეულწილად. მიუხედავად ამისა, რამდენიმე შემაშფოთებელი კითხვა კვლავ უპასუხოდ დარჩა. უპირველეს ყოვლისა, Google-ის მექანიზმი არ იძლევა მარტივ გზას ჩაანაცვლოს დახურული წყაროს გამყიდველის დრაივერი მესამე მხარის ღია კოდის შეთავაზებით. თქვენ, რა თქმა უნდა, შეგიძლიათ ხელით შეცვალოთ დრაივერის პაკეტი სამიზნე მოწყობილობის გამყიდველის დანაყოფში, იმ პირობით, რომ გაქვთ root წვდომა და როგორმე აითვისეთ საჭირო ფაილები, მაგრამ ეს არ არის იდეალური გადაწყვეტა ბევრისთვის.
შემდეგი მოდის სტაბილურობის წინააღმდეგ გაძლიერების პარადოქსი. Android ინარჩუნებს იერარქიულ მოწყობას, როდესაც საქმე ეხება გრაფიკული დრაივერის ჩატვირთვას. მიუხედავად იმისა, რომ შეიძლება გადართვა ქარხნულად დაყენებულ კონსტრუქციასა და უფრო ახალ განახლებულ გამოშვებას შორის Დეველოპერი პარამეტრები => გრაფიკული დრაივერის პარამეტრები თითო აპლიკაციის საფუძველზე, ეს საბოლოო ჯამში ემყარება OEM-ის გადაწყვეტილებას, როდის დააყენებს გრაფიკის დრაივერის განახლებას. შედეგად, საბოლოო მომხმარებელი ვერ გამოიყენებს სისხლდენის დრაივერების ნაგებობებს პირდაპირ SoC მწარმოებლისგან, რადგან OEM კვლავ პასუხისმგებელნი არიან განახლებების გავრცელებაზე.
როგორც უკვე აღვნიშნეთ, GPU დრაივერების განახლება შესაძლებელია root წვდომით, მაგრამ არა-root მეთოდს ვერაფერი დაამარცხებს. მადლობა XDA-ს უფროს წევრს შინაგანაწესი, ახლა ჩვენ გვაქვს გენიალური გამოსავალი სახელად Adreno Tools რომელიც საშუალებას აძლევს GPU-ს დრაივერის მოდიფიკაციას ან ჩანაცვლებას Android-ზე — ეს ასევე root-ის გარეშე! დეველოპერის მიერ Android-ის Nintendo Switch-ზე პორტირების ფონზე, რა თქმა უნდა, გადამწყვეტი როლი ითამაშა ამ წამოწყებაში, რადგან მთელი პროექტი სათავეს იღებს. Skyline, ღია კოდის, მიმდინარე სამუშაო Nintendo Switch ემულატორი Android-ისთვის.
Skyline-ის თანამემამულე დეველოპერი მონიშნე "პიქსელილონი" წამოაყენა იდეა Runtime Drive-ის ჩანაცვლების შესახებ შინაგანაწესი, რომელიც საბოლოოდ გადაიქცა Adreno Tools-ში. როგორც უძირო ბიბლიოთეკა, Adreno Tools-ს შეუძლია დაეხმაროს ნებისმიერ რეგულარულ აპს, ჩატვირთოს მორგებული GPU დრაივერები, გაუმკლავდეს BCn ტექსტურებს და გადამისამართოს ფაილური ოპერაციები შემდგომი რთული მოდიფიკაციები Qualcomm-ის Adreno-ს GPU-ების ოჯახში. ის ამას აკეთებს სისტემის ბიბლიოთეკებში მიჯაჭვულობით და ახალში შეუფერხებლად შეცვლით მძღოლი. აღსანიშნავია, რომ მალის GPU-ების მხარდაჭერა ჯერ არ არის.
ვინაიდან დრაივერის წარმომავლობის შეზღუდვა არ არსებობს, ენთუზიასტებს შეუძლიათ ასევე ჩატვირთონ მესამე მხარის დრაივერები Adreno Tools-ის საშუალებით. ეს განსაკუთრებით სასარგებლოა მათთვის, ვისაც სურს სცადო Turnip - ღია კოდის Vulkan დრაივერი Qualcomm Adreno გრაფიკული ტექნიკისთვის, რომელიც მიეკუთვნება ფრიდრენო ქოლგა. Მაგალითად, AetherSX2PlayStation 2-ის ემულატორი Android-ისთვის უკვე იყენებს Adreno Tools-ს, რათა საბოლოო მომხმარებლებს მისცეს არჩევანი აირჩიოს Turnip OEM დრაივერის ნაცვლად უკეთესი მუშაობისთვის.
Adreno Tools GitHub-ზე
როგორ ვისარგებლო ამით?
გაითვალისწინეთ, რომ Adreno Tools პროექტი გამოდის როგორც პროგრამული ბიბლიოთეკა. ეს ნიშნავს, რომ თქვენ ვერ იპოვით წინასწარ შედგენილ APK ფაილს, რომელიც ჯადოსნურად იძლევა საშუალებას გამოიყენოთ გარე გრაფიკული დრაივერის დასტა მთელ სისტემაში. ამის ნაცვლად, დეველოპერმა უნდა ჩართოს ბიბლიოთეკა თავის პროექტში, რათა მათმა აპლიკაციამ შესთავაზოს განახლებული გრაფიკული დრაივერის ფაილების ან მესამე მხარის ალტერნატივის ჩატვირთვის შესაძლებლობა root გარეშე წვდომა. ზუსტად ასე იყენებენ Skyline და AetherSX2 დეველოპერები Adreno Tools-ს ახლავე.
საბოლოო მომხმარებლის თვალსაზრისით, Adreno Tools მარტო ვერ გადაჭრის Android-ის GPU დრაივერის დანერგვის ყველა შეზღუდვას. ეს არის მხოლოდ ინსტრუმენტი დეველოპერების საზოგადოებისთვის, რომ გადალახოს გრაფიკის დრაივერის განახლების ზოგიერთი ყველაზე დიდი წინააღმდეგობა Android მოწყობილობებზე - ეს არის ის. თქვენ შეგიძლიათ მიიღოთ მისი უპირატესობები მხოლოდ აპლიკაციის საშუალებით, მაგრამ სისტემის მასშტაბით დრაივერის ხელით განახლება მაინც მოითხოვს root წვდომას.
რა გავაკეთო, თუ root მაქვს?
თუ თქვენ ხართ ენერგიული მომხმარებელი, რომელსაც აქვს root მოწყობილობა, შეგიძლიათ განახორციელოთ თქვენს მოწყობილობაზე განახლებული გრაფიკული დრაივერის იძულებითი ინსტალაცია მთელს სისტემაში. ამისათვის თქვენ უნდა ამოიღოთ დრაივერის BLOB (Binary Large OBject) ფაილები, რომლებიც შეიცავენ წინასწარ შეფუთულ პროგრამულ ბინარებს GPU-სთან ინტერაქციისთვის განახლებული firmware პაკეტიდან. შეგიძლიათ გამოიყენოთ firmware სხვა მოწყობილობიდან, მაგრამ დრაივერი უნდა შეესაბამებოდეს სამიზნე მოწყობილობის იგივე GPU ოჯახს.
საჭირო ფაილების ამოღების შემდეგ, შეგიძლიათ შეფუთოთ ისინი Magisk მოდულად და დააინსტალიროთ სამიზნე სმარტფონზე არსებული გამყიდველის დრაივერების უსისტემო წესით ჩანაცვლებისთვის. რა თქმა უნდა, პროცესი ცოტა უფრო რთულია, ვიდრე ჟღერს. შეიძლება დაგჭირდეთ ზრუნვა ინტერფეისის შეუთავსებლობაზე მემკვიდრეობასა და განახლებულ დრაივერებს შორის, რისთვისაც საჭირო იქნება შიმინგი.
"შიმ" არის "სოლი (რაღაც) ან სივრცის შევსება." ეს არის ფაქტობრივად რასაც დეველოპერი აკეთებს, როდესაც შიმ-ის წერა - ისინი ამატებენ დამატებით კოდებს, რათა BLOB-მა შეძლოს ინტერფეისი მათ პლატფორმასთან მუშაობა. საბედნიეროდ ჩვენი მკითხველისთვის, დეველოპერი შინაგანაწესი უკვე დაწერა შიმბირი, რათა გადალახოს უფსკრული Adreno დრაივერის სხვადასხვა ვერსიებს შორის და შეგიძლიათ იპოვოთ მზა გამოსაყენებელი OpenGL და Vulkan დრაივერები Adreno 500 და Adreno 600 GPU-ების ოჯახი ჩვენს ფორუმებზე.
გაინტერესებთ იცოდეთ განახლებული გრაფიკული დრაივერის ხელით დაყენების უპირატესობების შესახებ? Esper's Mishaal Rahman-მა გააზიარა GPU-ს მუშაობის საინტერესო შედარება 3DMark-ში Snapdragon-იდან 845-ზე მომუშავე Google Pixel 3 XL მუშაობს Android 12-ზე საფონდო დრაივერით, Snapdragon 8-ის ახალი დრაივერის წინააღმდეგ Gen 1:
საკმაოდ მომხიბვლელია, არა? მაგრამ არ დაივიწყოთ კომპრომისი ობიექტურობასა და შესაბამისობას შორის. განახლებული GPU დრაივერის ინსტალაციას root წვდომით აქვს თავისი უპირატესობები, მაგრამ მას ასევე აქვს თავისი ნაკლიც. ეს არ არის განკუთვნილი დამწყებთათვის, გარდა ამისა, მოწყობილობასთან შერევამ შეიძლება გააუქმოს გარანტია. დასაწყებად დაგჭირდებათ განბლოკილი ჩამტვირთველი, რაც შეიძლება არ იყოს შესაძლებელი ყველა სცენარში.
დასკვნა
წარსულში Android GPU დრაივერის მოდიფიკაციის სცენის ალტერნატივების გათვალისწინებით, Adreno Tools ბიბლიოთეკა ფანტასტიკური ნაბიჯია წინ, განსაკუთრებით მისი უძირო ბუნებით. ჩვენ მოუთმენლად ველით, თუ როგორ იზრდება და მომწიფდება პროექტი მომავალში. აუცილებლად სცადეთ და გაგვაგებინეთ რას ფიქრობთ კომენტარებში!
წყარო:ესპერ