Easy Steps to change Android’s screen resulation/density/DPI with or without rooted (root/non-root).
আসসালামু আলাইকুম।
অন্যান্য ধর্মাবলম্বী ভাইদের প্রতি রইল অনেক অনেক শুভেচ্ছা ও অভিনন্দন।
টাইটেল অনুযায়ী, আজ আমি দেখাব- কিভাবে একটি রুটেড অথবা নন-রুটেড অ্যান্ড্রয়েড ডিভাইসের স্ক্রিন রেজুলেশন পরিবর্তন করা যায়। রেজুলেশন বলুন, ডেনসিটি বলুন অথবা DPI, যাই বলুন না কেন, জিনিস একই; একেকজনে একেকভাবে বলে স্বাচ্ছন্দ্যবোধ করে থাকেন। পদ্ধতি তো দেখবেন-ই, তার পূর্বে দেখে নিন এই স্ক্রিন রেজুলেশন বা ডেনসিটি বা DPI টা কি জিনিস।
☆ What is screen resulation/density/DPI?
DPI, যার সম্পূর্ণ রূপ হলো Dots Per Inch. এদ্বারাই অনেকটা বোঝা যায়, প্রতি ইঞ্চিতে কতটি ডট বা ডিসপ্লে’র কালার বিন্দু থাকে তার হিসেব-ই হলো DPI. এখানে কালার বিন্দুর উপস্থিতি উপলব্ধি করতে চাইছেন? নিম্মের ছবিটি দেখুন, একটি LED ডিসপ্লে-
উপরের ছবিতে লক্ষ্য করুন, আলাদা-আলাদা LED বাতির সমন্বয়ে নির্দিষ্ট আকৃতি বা লেখার উৎপত্তি ঘটেছে। তেমনি সকল ডিসপ্লে সম্বলিত ইলেক্ট্রনিক্স ডিভাইসেরই ডিসপ্লের সকল কিছু ফুটে ওঠে এরকম অসংখ্য রঙিন বিন্দুর সম্মিলনে। অনেকে লক্ষ্য করে থাকলে নিজেরাই তাদের ডিভাইসের কালার বিন্দুগুলোর ধারণা পেয়ে থাকবেন। তারপরেও নিচের ছবিতে দেখুন, আলাদা-আলাদা DPI এর দুটি অ্যান্ড্রয়েড ডিভাইসের স্টাটাসবারের ব্যাটারি আইকন ও পার্সেন্টিজ দেখা যাচ্ছে, যাতে বিন্দুগুলো স্পষ্টভাবে দৃশ্যমান।
উপরের ছবিটির বাম পাশের অংশে ডান পাশের তুলনায় বিন্দুগুলো অধিক দৃশ্যমান। এর কারণ হলো- বাম পাশে তুলনামূলক বেশি জায়গায় অল্প পরিমাণ বিন্দুর উপস্থিতি এবং ডান পাশে তুলনামূলকভাবে কম জায়াগাতে বেশি বিন্দুর ঠাই; অর্থাৎ, বাম পাশের DPI মান ডান পাশের চেয়ে বেশি।
এ কথাটা শুনে ধাক্কা খেতে পারেন, কারণ প্রথমে বলেছিলাম- “প্রতি ইঞ্চিতে কতটি ডট বা ডিসপ্লে’র কালার বিন্দু থাকে তার হিসেব-ই হলো DPI”. এর দ্বারা বোঝায়- বিন্দুর সংখ্যা বেশি মানে DPI মানও বেশি, বিন্দু কম মানে DPI কম! কিন্তু এখানে এসে দেখেন আবার উলটো! তাহলে DPI এর সংজ্ঞাটা কি ভুল নির্দেশ করছে?
না, আসলে DPI এর সংজ্ঞাটা ভুল নয় বা আপনারও কোনো ভ্রান্তি ঘটেনি। আসলে DPI এর উপরের যে সংজ্ঞাটা, ওটা অ্যান্ড্রয়েড ডিভাইস নয়, পিসির ক্ষেত্রে প্রযোজ্য। কেননা আপনাদের যাদের পিসি রয়েছে তারা হয়তো জেনে থাকবেন, পিসির ডিসপ্লে রেজুলেশন বৃদ্ধি করলে সবকিছু ছোট হয়ে যায় বা রেজুলেশন কমালে আবার সবকিছু আকারে বড় হয়। অথবা, রেজুলেশন বৃদ্ধি করে গেমস খেললে ল্যাগ করে, যার কারণ হলো কালার বিন্দুর সংখ্যার বৃদ্ধি। তাই, পিসির ক্ষেত্রে DPI বা রেজুলেশন বৃদ্ধি মানে বিন্দু বা Dot এর বৃদ্ধি; কিন্তু অ্যান্ড্রয়েডের ক্ষেত্রে তা নয়।
অর্থাৎ, DPI এর সংজ্ঞা অনুসারে DPI মান ও কালার বিন্দু সংখ্যা-কে সমানুপাতিক মনে হলেও তা আসলে ব্যস্তানুপাতিক; একটার বৃদ্ধিতে অন্যটার হ্রাস ঘটে। আবার, বিন্দু সংখ্যার হ্রাস মানে ডিসপ্লে’র কোনো কিছুর আকৃতির বৃদ্ধি, বিন্দু সংখ্যার বৃদ্ধি মানে ডিসপ্লে’র কোনো কিছুর আকৃতির হ্রাস। কেননা তখন ডিসপ্লের নির্দিষ্ট পিক্সেল সাইজের মধ্যে হিসেব অনুযায়ী সকল বিন্দুকে থাকতে হয়। এতে করে DPI বা ডেনসিটি পরিবর্তনের সাথে-সাথে স্ক্রিনের লেখা বা অন্যান্য সকল কিছুর আকৃতিতে পরিবর্তন হয়।
আশা করি DPI সম্বন্ধে আপনাদেরকে একটু হলেও ধারণা প্রদান করতে সক্ষম হয়েছি। এতক্ষণ DPI সম্পর্কে যা বলেছি, তা ছিল অতিরিক্ত। এখন যা বলব, যারা DPI মান পরিবর্তন করতে আগ্রহী তাদের জানা প্রয়োজন।
অধিকাংশ অ্যান্ড্রয়েড ফোনেই ডিফল্টভাবে DPI মান থাকে 240, অ্যান্ড্রয়েড অপারেটিং সিস্টেম পরিচালিত ট্যাবের ক্ষেত্রে তা 160.
DPI মান বৃদ্ধি করলে স্ক্রিনের সকল কিছুর আকার বৃদ্ধি পায়, যাতে ডিসপ্লেতে পূর্বের চেয়ে কম লেখা বা আনুষঙ্গিক বিষয়বস্তু ঠাঁই পায়। আবার ঠিক উল্টাভাবে, DPI মান হ্রাস করলে স্ক্রিনের বিভিন্ন টেক্সট বা অন্যান্য কিছুর আকার হ্রাস পায় এবং স্ক্রিনের তুলনামূলক কম জায়গাতেই অনেক কিছুর ঠাঁই হয়। ছোট স্ক্রিনের ডিভাইসের চেয়ে বড় স্ক্রিনের ডিভাইসের ডিসপ্লেতে বেশি কিছুর জায়গা হয়, এটাই DPI মান হ্রাস-বৃদ্ধির পরিবর্তন উপলব্ধি করার উপায়।
ছোট স্ক্রিনে পূর্বের চেয়ে বেশি টেক্সট বা অন্যান্য কিছুর জায়গা দিতে অনেকেই DPI মান কমিয়ে ব্যবহার করে থাকেন। তবে DPI মান কমানোর ক্ষেত্রে মোবাইল ডিভাইসে সর্বনিম্ন 150 ও ট্যাবে সর্বনিম্ম 100 ব্যবহার করাটাই শ্রেয়। MIUI রমগুলোতে DPI পরিবর্তন করতে গেলে ঝামেলার সৃষ্টি হয়, DPI মান 200 এর নিচে করলেই স্টাটাসবারের ব্যাটারী আইকন একাধিক হয়ে যায়!
নিচের ছবিতে দেখুন, বামপাশে একটি 480*800 pixel সাইজের নন-রুটেড ডিভাইসের ডিফল্টভাবে DPI মান 240 থাকাকালীন Root Checker Basic অ্যাপের মধ্যের স্ক্রিনশট ও ডান পাশের স্ক্রিনশটটি DPI মান পরিবর্তন করে 180 করার পরে নেয়া।
আশা করি, এবার আপনাদের কাছে DPI মান পরিবর্তনের অর্থাৎ, হ্রাস-বৃদ্ধির ইফেক্ট পরিষ্কার হয়েছে। তাহলে এখন মূল কার্যধাপে যাওয়া যাক।
☆ How to change android’s DPI of a non-rooted device?
একটি নন-রুটেড অ্যান্ড্রয়েড ডিভাইসের স্ক্রিন ডেনসিটি পরিবর্তন করা একটু এডভান্স লেভেলের কাজ, যা সম্পন্ন করতে আপনাকে নিজের উপরে ভরসা রাখতে হবে। এই পদ্ধতি যে শুধুমাত্র নন-রুটেড ইউজারদের জন্য, তা কিন্তু নয়; রুটেড ইউজাররাও স্বাচ্ছন্দ্যে এপদ্ধতি অনুসরণ করতে পারবেন।
এই কাজটার জন্য আপনাকে ADB বা Android Debug Bridge এর সহায়তা নিতে হবে। ADB কি বা ADB আপনার পিসিতে কিভাবে ইন্সটল করবেন তা নিয়ে আমার পূর্বে একটি পোস্ট রয়েছে-
আশা করি আপনার ADB ইন্সটল রয়েছে বা উপরের পোস্টটি অনুসরণ করে ADB ইন্সটল করতে সক্ষম হয়েছেন। এবারে আপনার যে অ্যান্ড্রয়েড ডিভাইসের DPI পরিবর্তন করতে চান সে অ্যান্ড্রয়েড ডিভাইসটি একটি ভালো ডাটা ক্যাবল দ্বারা আপনার পিসির সাথে সংযুক্ত করুন। এরপরে আপনার পিসির Command Prompt বা Terminal ওপেন করে নিম্মের স্ক্রিনশটের মতো adb devices
কমান্ড দিয়ে দেখে নিন ADB এর সাথে আপনার অ্যান্ড্রয়েড ডিভাইসটি সংযুক্ত করতে পেরেছেন কিনা! সংযুক্ত হলে নিম্মের মতো দেখাবে-
উপরের স্ক্রিনশটে আমার যেখানে HA0TF0FR দেখাচ্ছে, সেখানে আপনার ক্ষেত্রে আপনার অ্যান্ড্রয়েড ডিভাইসের সিরিয়াল নাম্বার দেখাবে। এটা যদি না দেখায় তাহলে বুঝতে হবে আপনার-
- ADB ইন্সটলেশন পরিপূর্ণ হয়নি। অথবা,
- অ্যান্ড্রয়েডের USB Debugging সেটিংসটি অন করা নেই। অথবা,
- অ্যান্ড্রয়েড থেকে পিসির সাথে সংযোগ পারমিশন গ্রান্ট করা হয়নি। অথবা,
- ইউএসবি বা ডাটা ক্যাবলটি ভালো নয়। অথবা,
- পিসির যে পোর্টে ডাটা ক্যাবল যুক্ত করেছেন সে পোর্টে সমস্যা রয়েছে। অথবা,
- পিসিতে ড্রাইভারজনিত কোনো সমস্যা রয়েছে।
উপরের সমস্যা নির্ধারণ বা সমাধানের দায়িত্ব আপনার, তবে আমাকে জানালে আমি আমার যথাসাধ্য সহায়তা করার চেষ্টা করব। এবার আসি পরের ধাপে।
ADB এর সাথে অ্যান্ড্রয়েড ডিভাইস সংযুক্ত করায় সফল হলে আপনার Command Prompt বা Terminal এ নিম্মের মতো আবার adb shell
টাইপ করে কমান্ড দিন।
ADB এর কমান্ড শেল চালু হলে উপরের দ্বিতীয় লাইনটি আসবে, এরমানে আপনার Command Prompt বা Terminal টি ADB কমান্ড গ্রহণ ও তা নির্বাহ করার জন্য প্রস্তুত। তাহলে নিম্মের লাইনটি হুবহু টাইপ করে Enter চাপুন।
dumpsys display | grep mBaseDisplayInfo
এখানে আপনার অ্যান্ড্রয়েড ডিভাইসটির ডিসপ্লে বা স্ক্রিন সম্বন্ধে অনেক তথ্য দেখাবে। তার মধ্যে একজায়গাতে নিম্মের মতো density *** [এখানে *** মানে আপনার বর্তমান DPI ভাল্যু] দেখা যাবে।
উক্ত ভ্যালু পরিবর্তন করতে ADB shell এ আবার কমান্ড দিন wm density ***
[এখানে *** মানে- আপনি আপনার DPI ভ্যালু যত করতে চাইছেন তার মান]।
ব্যস, আপনার পিসির কাজ শেষ। এখন আপনি ডাটা ক্যাবল থেকে আপনার অ্যান্ড্রয়েডটি খুলে নিয়ে Reboot দিন, দেখবেন আপনার নন-রুটেড ডিভাইসেরও রেজুলেশন/DPI/Density পরিবর্তিত হয়ে গেছে।
☆ How to change android’s DPI of a rooted device?
রুট ইউজারদের পাওয়া একটু বেশিই। এক্ষেত্রেও তার ব্যতিক্রম নেই। কেননা, অ্যান্ড্রয়েড ডিভাইসের DPI পরিবর্তন করার জন্য রুট ইউজারদের সাহায্যার্থে একাধিক পদ্ধতি রয়েছে- অ্যাপ ব্যবহার করে, build.prop ফাইলটি এডিট করে ও উপরের নন-রুটদের জন্য দেখানো পদ্ধতি তো আছেই!
যারা রুট ইউজার আছেন, তাদের মধ্যের অধিকাংশেরই জানা আছে কিভাবে তাদের অ্যান্ড্রয়েড ডিভাইসের DPI/Density/রেজুলেশন পরিবর্তন করতে হয়। এ নিয়ে TrickBD-তে একাধিক পোস্ট রয়েছে। তাই আমি বিস্তারিত লিখতে যাব না, শুধু তাদের পোস্ট লিংক দিয়ে উতরে যেতে চাই! তবে সর্বাধিক সহজ একটা পদ্ধতি (build.prop এডিট করে) দেখানোর জন্য স্ক্রিনশট নিয়ে রেডি করছিলাম, কিন্তু আমার এ আর্টিকেল লেখার পূর্বেই Tushar Alam নামের এক ভাই সেই পদ্ধতিটি নিয়ে কিছুদিন পূর্বে একটি পোস্ট করে ফেলেছেন। এদিকে আমিও আমার স্ক্রিনশট প্রস্তুতকে একেবারে পানিতে ফেলতে চাইনা বলে আমিও কিছু লিখে সেই ভাই’য়ের পোস্ট লিংক দিয়ে দিচ্ছি।
পদ্ধতি-১ঃ build.prop এডিট করে।
DPI ভ্যালু পরিবর্তন করার ক্ষেত্রে যত পদ্ধতি প্রচলিত আছে, আমি মনে করি এই পদ্ধতিটাই অতি সহজ পদ্ধতি। এক্ষেত্রে আপনার দরকার হবে একটি রুট ফাইল ম্যানেজার, একটি টেক্সট এডিটর ও সামান্য বুদ্ধির খরচ।
১। যেকোনো রুট ফাইল ম্যানেজার [আমার কাছে সেরা মনে হয় MiXplorer-কে] দ্বারা রুট ডিরেক্টরিতে প্রবেশ করুন। /system এ যান, সেখানে দেখতে পাবেন build.prop নামের একটি ফাইল।
২। এটাকে যেকোনো টেক্সট এডিটর দ্বারা ওপেন করুন। সার্চ দিন lcd লিখে, যদি পেয়ে থাকেন [যারা সার্চ করে পাননি, তারা ৩নং ধাপে চলে যান] তাহলে নিম্মের মতো একটি লাইনও পেয়ে যাবেন।
ro.sf.lcd_density=***
এখানে সমান চিহ্ন (=) এর পরে যে মানটা দেখতে পাবেন ওটা আপনার ডিভাইসের বর্তমান DPI ভ্যালু। এটাই আপনি আপনার ইচ্ছেমত পরিবর্তন করে নিতে পারবেন। পরিবর্তন করে Save করে অ্যান্ড্রয়েডটি Reboot দিন, পরিবর্তন দেখতে পাবেন।
৩। উপরের ২নং ধাপে যদি আপনি আপনার build.prop এ উক্ত লাইনটি পেতে ব্যর্থ হয়ে থাকেন, তবে চিন্তার কোনো কারণ নেই; build.prop এর সর্বনিম্মে নতুন একটি লাইনে যোগ করে নিন উক্ত লাইনটি। *** এর স্থলে আপনার চাহিদামাফিক ভ্যালু দিন, Save করুন এবং Reboot দিন। কেল্লাফতে!
খেয়াল রাখবেন build.prop এ যেন উক্ত লাইনটি একাধিক বার না থাকে; তা নাহলে কিন্তু প্রথম লাইনে DPI এর যে মান থাকবে, আপনার সিস্টেম সেটাই গ্রহণ করে নেবে।
যদিও এ পদ্ধতিটি নিয়ে অনেক অনেক আগে একটি পোস্ট রয়েছে, তারপরেও কিছুদিন পূর্বে যে পোস্টটি করা হয়েছে তা দেখতে নিম্মের লিংকে প্রবেশ করুন।
পদ্ধতি-২ঃ অ্যাপ ব্যবহার করে।
অ্যাপটির নাম- LCD Density Changer. এই পদ্ধতিতে পরিবর্তিত DPI স্থায়ী নয়, Reboot দিলে আবার পূর্বের মত হয়ে যায়। তাই কেউই আগ্রহ দেখাবেন বলে মনে হয় না। তারপরেও কারো কৌতুহল থাকলে নিম্মের লিংক থেকে দেখে নিন; অনেক অনেক পূর্বে করা TrickBD এর কোনো এক ভাইয়ের কালের গর্ভে হারিয়ে যাওয়ার দ্বারপ্রান্তে অবস্থানরত এক পোস্ট।
আশা করি আমি আমার লেখা সকলের কাছে সুন্দরভাবে উপস্থাপন করতে সক্ষম হয়েছি।
সকল কাজ নিজ দায়িত্বে করবেন। কোনো প্রকার ক্ষতি হলে আমি দায়ী থাকব না।
পোস্টটি ভালো না লাগলে দুঃখিত। কোনো ভুল পেলে দয়া করে জানাবেন, আমি অতি শীঘ্র তা সংশোধন করতে চেষ্টা করব; শুধু-শুধু কমেন্টে নিন্দনীয় ভাষা ব্যবহার করে নিজের বংশ সম্বন্ধে অন্যদেরকে খারাপ কিছু ভাবনার সুযোগ দিবেন না।
ধন্যবাদ।।।