কীভাবে কার্নেল মডিউল 'এনভিডিয়া-ড্রিম' আনলোড করবেন?


29

আমি দেবিয়ান স্ট্রেচ-এ সর্বাধিক আধুনিকতম এনভিআইডিএ ড্রাইভার ইনস্টল করার চেষ্টা করছি। আমি এখানNVIDIA-Linux-x86_64-390.48.run থেকে ডাউনলোড করেছি , তবে যখন আমি চেষ্টা করি

sudo sh ./NVIDIA-Linux-x86_64-390.48.run

প্রস্তাবিত হিসাবে, একটি ত্রুটি বার্তা উপস্থিত হয়।

ERROR: An NVIDIA kernel module 'nvidia-drm' appears to already be loaded in your kernel.  This may be because it is in use (for example, by an X server, a CUDA program, or 
         the NVIDIA Persistence Daemon), but this may also happen if your kernel was configured without support for module unloading.  Please be sure to exit any programs    
         that may be using the GPU(s) before attempting to upgrade your driver.  If no GPU-based programs are running, you know that your kernel supports module unloading,   
         and you still receive this message, then an error may have occured that has corrupted an NVIDIA kernel module's usage count, for which the simplest remedy is to     
         reboot your computer.

যখন আমি nvidia-drm(বা nvidia_drm) কে ব্যবহার করছে তা জানার চেষ্টা করি তখন কিছুই দেখি না।

~$ sudo lsof | grep nvidia-drm
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
~$ sudo lsof -e /run/user/1000/gvfs | grep nvidia-drm
~$

এবং যখন আমি এটি অপসারণ করার চেষ্টা করি তখন এটি বলে যে এটি ব্যবহার করা হচ্ছে।

~$ sudo modprobe -r nvidia-drm
modprobe: FATAL: Module nvidia_drm is in use.
~$ 

আমি কেবল পাঠ্য-মোডে রিবুট করেছি এবং শুরু করেছি (ব্যবহারকারীর নাম / পাসওয়ার্ড দেওয়ার আগে Ctrl + Alt + F2 টিপে) তবে আমি একই ত্রুটি পেয়েছি।

এটি ছাড়াও, আমি কীভাবে জানি যে আমার কার্নেল মডিউল আনলোডিং সমর্থন করে "?

এনভিডিয়া সম্পর্কিত বুট আপ সম্পর্কে আমি কয়েকটি সতর্কতা পাচ্ছি, তারা সম্পর্কিত কিনা তা ধারণা নেই, যদিও:

Apr 30 00:46:15 debian-9 kernel: nvidia: loading out-of-tree module taints kernel.
Apr 30 00:46:15 debian-9 kernel: nvidia: module license 'NVIDIA' taints kernel.
Apr 30 00:46:15 debian-9 kernel: Disabling lock debugging due to kernel taint
Apr 30 00:46:15 debian-9 kernel: NVRM: loading NVIDIA UNIX x86_64 Kernel Module  375.82  Wed Jul 19 21:16:49 PDT 2017 (using threaded interrupts)

আপনি কি রেসকিউ মোডে এটি করার চেষ্টা করতে পারেন?
vfbsilva

গিথুব এ এই সমস্যাটি দেখুন : systemctl stop systemd-logindমডিউলগুলি লোড করার আগে।
GAD3R

@vfbsilva আমার উদ্ধার মোডটি অদ্ভুত, এটি সর্বদা লুপ করে চলেছে, সমস্ত ইউএসবি ডিভাইসকে বারবার সনাক্ত করে। আমি এন্টার টিপুন, রুট পাসওয়ার্ড দিতে এবং একটি প্রম্পট পেতে পরিচালিত হয়েছি, তবে কোনও / ডিভ নেই, সুতরাং ডিস্কের কোনও মাউন্ট সম্ভব হয় না।
রডরিগো

@ জিএডি 3 আর আমার যা কিছু আছে তা systemctl stop systemd-logind.serviceকিন্তু এটি স্ক্রিনটি বন্ধ করে দেয় এবং আমাকে গ্রাফিক লগইনে ফিরিয়ে নিয়ে যায়, যেখানে আমাকে আবার Ctrl + Alt + F2 করতে হবে 2
রডরিগো

উত্তর:


28

আমি ভাবছি আপনি ডিসপ্লে ম্যানেজারটি থামাতে চান যা আমি সন্দেহ করি যা এনভিডিয়া ড্রাইভারগুলি ব্যবহার করবে।

একটি টেক্সট কনসোলে পরিবর্তন করার পর (টিপে Ctrl+ + Alt+ + F2) এবং রুট হিসাবে লগ-ইন, গ্রাফিক্যাল লক্ষ্য, যা কি চলমান প্রদর্শন ম্যানেজার রাখে নিষ্ক্রিয় করতে নিম্নলিখিত কমান্ড প্রয়োগ করুন:

# systemctl isolate multi-user.target

এই মুহুর্তে, আমি আশা করি আপনি এনভিডিয়া ড্রাইভারগুলি modprobe -r(বা rmmodসরাসরি) ব্যবহার করে আনলোড করতে সক্ষম হবেন :

# modprobe -r nvidia-drm

একবার আপনি এটি প্রতিস্থাপন / আপগ্রেড করতে সক্ষম হন এবং আপনি আবার গ্রাফিকাল পরিবেশ শুরু করতে প্রস্তুত হয়ে গেলে আপনি এই আদেশটি ব্যবহার করতে পারেন:

# systemctl start graphical.target

আমি এটিকে আনইনস্টল করতে (আপনার উত্তরটি ব্যবহার করে) পরিচালনা করেছিলাম এবং নতুন সংস্করণটি এমন জায়গায় ইনস্টল করেছি যেখানে কোনও কার্যকরী গ্রাফিক মোড নেই। আমাকে পিসির ফর্ম্যাট করতে হয়েছিল এবং দেবিয়ান পুনরায় ইনস্টল করতে হয়েছিল। এখন সম্পূর্ণ ভিন্ন বাগের সেটগুলিতে ... ব্লেন্ডারে রেন্ডারিংয়ের বিকল্প হিসাবে "জিপিইউ" দেখতে এই সব কিছুই, এবং আমি এখনও এটি দেখতে পাই না। মালিকানাধীন চালকরা চুষে!
রডরিগো

4
এই modprobeপদক্ষেপ ছাড়া আমার জন্য কাজ ।
ডন কার্কবি

1
হ্যাঁ, আমারও modprobeকোনও পদক্ষেপের দরকার নেই।
ডেভিড জং

পাঠ্য কনসোলে থাকা অবস্থায়ও আমি এনভিডিয়া-ড্রাম সরাতে পারি না। কোনও ধারণা কীভাবে আমি জোর করে এটিকে সরিয়ে ফেলতে পারি?
অ্যাডিসন

@addison করে মনে রাখবেন শুধু যথেষ্ট না হতে একটি টেক্সট কনসোলে, আপনি X11 অথবা Wayland বা যাই হোক না কেন কার্নেল থেকে NVIDIA ড্রাইভারের ব্যবহার বন্ধ করতে হবে। বিন্দু systemctl isolateকমান্ড যে কাজ করতে হয়। তবে এটি আপনার সিস্টেমে সঠিকভাবে কনফিগার করা সম্ভব নয় ... ps -efড্রাইভারটি কী ব্যবহার করছে তা স্পষ্ট করতে পারেন কিনা তা পরীক্ষা করে দেখুন এবং সেই প্রক্রিয়াটি বন্ধ করে দিন। এটি আপনাকে ড্রাইভার আনলোড করার অনুমতি দেয়।
ফিলাব্রেন্ডেন

5

lsofইউজারস্পেস প্রক্রিয়া দ্বারা ব্যবহৃত যে কোনও ফাইল তালিকাভুক্ত করে। তবে nvidia_drmএটি একটি কার্নেল মডিউল, সুতরাং lsofএটি ব্যবহার করা হচ্ছে কিনা তা অগত্যা তা দেখতে পাবে না। (মডিউল ফাইল খোলা কারণ কার্নেল ইতিমধ্যে সম্পূর্ণরূপে এটা র্যাম মধ্যে লোড হওয়ার থাকবে না। কিন্তু মডিউল ইউজার-স্পেস বা অন্য কার্নেল উপাদান সেবা প্রদানের হতে পারে, এবং যে কি মডিউল আনলোড করতে বাধা দেয়।)

চালান lsmod | grep nvidia.drmএবং nvidia_drmমডিউল নামের ডানদিকে নম্বর দেখুন । প্রথম সংখ্যাটি কেবল মডিউলটির আকার; দ্বিতীয়টি হল ব্যবহার গণনা। মডিউলটি সফলভাবে সরাতে, ব্যবহারের সংখ্যাটি প্রথমে 0 হতে হবে।

যদি এক্স 11 সার্ভারটি চালিত হয় এবং nvidiaড্রাইভারটি ব্যবহার করে , তবে nvidia_drmকার্নেল মডিউলটি অবশ্যই নিশ্চিতভাবে ব্যবহৃত হবে। সুতরাং আপনার খুব কমপক্ষে, পাঠ্য কনসোলটিতে স্যুইচ করতে হবে এবং এক্স 11 সার্ভারটি বন্ধ করতে হবে। সাধারণত আপনি যে কোনও এক্স ডিসপ্লে ম্যানেজার পরিষেবা ব্যবহার করছেন (আপনি কোন ডেস্কটপ পরিবেশ ব্যবহার করছেন তার উপর নির্ভর করে) এটি বন্ধ করে এটি করা যেতে পারে।

ত্রুটির বার্তাটি যেমন বলেছে, আপনি যদি চালাচ্ছেন nvidia-persistencedতবে nvidia_drmমডিউলটি আনলোড করার আগে আপনাকে সেগুলিও থামানো দরকার ।


Ctrl + Alt + F2 এর পরে, lsmodআমাকে বলছে যে 1 টি প্রক্রিয়া ব্যবহার করছে nvidia_drm। সুতরাং আমি এটি করেছি sudo /etc/init.d/gdm3 stop, যা okএটি থামাতে গিয়েছিল । তবে এখনও 1 টি প্রক্রিয়া চলছে lsmod। এখন জিনোমের ভিতরে, ps aux | grep nvidiaশো [irq/129-nvidia]এবং [nvidia]তবে নেই nvidia-persistenced। এছাড়াও, এখানে lsmod2 টি প্রক্রিয়া ব্যবহার করে দেখায় nvidia_drm। আমি আটকে গেছি.
রডরিগো

3

আমারও একই সমস্যা ছিল।

* কারণ: nvidia.drm প্যাকেজটি ব্যবহৃত হয়েছিল


আমি সমস্ত এনভিআইডিএ প্যাকেজগুলি পরিষ্কার করে এটি ঠিক করেছি।

এই 2 টি কমান্ডের সাহায্যে পূর্ববর্তী সমস্ত এনভিআইডিএ ইনস্টলেশনগুলি সরান:


$ sudo apt-get purge nvidia*
$ sudo apt-get autoremove

মডিউলটি সরানো উচিত।

রিবুট করুন এবং এগিয়ে যান।


ধন্যবাদ! আমার যদি এটির আবার ফর্ম্যাট করা দরকার হয় তবে এটি কাজে আসবে ...
রদ্রিগো

2

আপনি মন্তব্যগুলিতে প্রতিবেদন করেছেন যে সিস্টেমড-লগইনড পরিষেবা বন্ধ করা আপনাকে গ্রাফিক লগইনে ফিরিয়ে নিয়ে যায় । আপনার যদি গ্রাফিকাল লগইন থাকে তবে এক্স চলমান, তাই ভিডিও ড্রাইভারটি লোড হয় এবং ব্যবহৃত হয়। এনভিডিয়া-ড্রাম মডিউল কেন ব্যবহার হচ্ছে তা এই অংশটি খুব সম্ভবত ব্যাখ্যা করে।

অতিরিক্তভাবে, আপনি বললে আপনি একটি আপাত ভুল ধারণা বিশ্বাসঘাতকতা

আমি কেবল পাঠ্য-মোডে রিবুট করেছি এবং শুরু করেছি (ব্যবহারকারীর নাম / পাসওয়ার্ড দেওয়ার আগে Ctrl + Alt + F2 টিপে) তবে আমি একই ত্রুটি পেয়েছি।

Ctrl + Alt + F2 টিপলে ভার্চুয়াল টার্মিনাল # 2 এ স্যুইচ হয়, যা টেক্সট-মোড লগইনের জন্য ভালভাবে কনফিগার করা যেতে পারে তবে এটি "পাঠ্য মোডে শুরু হওয়া" থেকে অনেক দূরের আর্তচিৎকার। যদি আপনার ডিফল্ট ভার্চুয়াল টার্মিনালে কোনও গ্রাফিকাল লগইন স্ক্রিন থাকে তবে এক্স চলমান রয়েছে এবং কোনও ভিন্ন ভিটি-তে স্যুইচ করলে তা পরিবর্তন হয় না। আপনি কেবলমাত্র একটি নন-এক্স সেশনে লগ ইন করছেন।

প্রথম এবং সহজ জিনিসটি হ'ল এক্স সার্ভারটি বন্ধ করে দেওয়া। এটি করার পুরানো-স্কুল উপায়টি হ'ল আপনার পাঠ্য-মোড সেশনে লগ ইন করা এবং কমান্ডটি কার্যকর করা

telinit 3

রানলেভেল 3 এ স্যুইচ করতে That এটি সিস্টেমেডের সাথেও কাজ করা উচিত, তবে দেশীয় পদ্ধতিযুক্ত পদ্ধতিটি পরিবর্তে চালানো

systemctl isolate multi-user.target

এগুলির উভয়েরই অবশ্যই বিশেষাধিকারের প্রয়োজন, সুতরাং আপনাকে sudoনিজের ব্যবহার করতে বা রুট করা দরকার।

যদি এটি মডিউলটি সরিয়ে না ফেলে বা কমপক্ষে আপনার পক্ষে ম্যানুয়ালি এটি করা সম্ভব করে তোলে তবে আপনার পরবর্তী সেরা বেটটি হ'ল সরাসরি রানলেভিল 3 (মাল্টি-ব্যবহারকারীর লক্ষ্য), অথবা এমনকি রানলেভেল 1 এ সিস্টেম বুট করা হবে (উদ্ধার লক্ষ্য)। আমি সাধারণত বুটলোডারের মাধ্যমে বুট সময়ে কার্নেল আর্গুমেন্ট তালিকার শেষে "3" (বা "1") যুক্ত করে এটি করি। আপনি এই নিবন্ধে বর্ণিত ডিফল্ট বুট লক্ষ্য পরিবর্তন করতে পারেন ।

এছাড়াও লক্ষ করুন যে এনভিডিয়া ড্রাইভার বেশিরভাগ লিনাক্স ডিস্ট্রোসের জন্য পূর্ব-নির্মিত প্যাকেজগুলিতে উপলব্ধ। এই প্যাকেজগুলি কয়েকটি তাদের নিজস্ব স্ট্যান্ডার্ড রেপোতে অন্তর্ভুক্ত করে কারণ ড্রাইভার, সর্বোপরি মালিকানাধীন, তবে আপনি অবশ্যই এটির একটি নামী তৃতীয় পক্ষের রেপো খুঁজে পেতে পারেন। আমি সরাসরি ইনস্টলারটি চালানোর পরিবর্তে এই জাতীয় প্যাকেজগুলি ব্যবহার করার জন্য দৃ strongly়ভাবে পরামর্শ দিচ্ছি, তবে আপনি এখন যেখান থেকে রয়েছেন সেখানে পৌঁছানোর জন্য আপনাকে প্রথমে স্বয়ংক্রিয়ভাবে ড্রাইভার আনইনস্টল করতে হবে।


আমি এটিকে আনইনস্টল করতে পেরেছি (ফিলিপের উত্তর ব্যবহার করে), এবং নতুন সংস্করণটি এমন জায়গায় ইনস্টল করেছি যেখানে কোনও কার্যকরী গ্রাফিক মোড নেই। আমাকে পিসির ফর্ম্যাট করতে হয়েছিল এবং দেবিয়ান পুনরায় ইনস্টল করতে হয়েছিল। এখন সম্পূর্ণ ভিন্ন বাগের সেটগুলিতে ... ব্লেন্ডারে রেন্ডারিংয়ের বিকল্প হিসাবে "জিপিইউ" দেখতে এই সব কিছুই, এবং আমি এখনও এটি দেখতে পাই না। মালিকানাধীন চালকরা চুষে!
রডরিগো

@ রডরিগো, আমি দুঃখিত যে আপনার এত খারাপ অভিজ্ঞতা হয়েছে। তবে সেই ধরণের সমস্যা হ'ল ম্যানুয়াল ইনস্টলেশনগুলি করার পরিবর্তে প্যাকেজগুলি ব্যবহার করার পরামর্শ দিই।
জন বলিঞ্জার

হ্যাঁ, আমি প্যাকেজ ব্যবহার পছন্দ করি। তবে আমি কোথাও পড়েছি যে ব্লেন্ডারে জিপিইউ বিকল্পটি সম্ভবত কোনও পুরানো ড্রাইভারের কারণে সক্ষম হয়নি ...
রড্রিগো

2

CUDA ইনস্টলেশন

1) সর্বশেষতম চুদা টুলকিটটি ডাউনলোড করুন

2) Ctl + Alt + F3 চেপে টিটি 3 এ স্যুইচ করুন

3) এগিয়ে যাওয়ার আগে এনভিডিয়া-ড্রাম আনলোড করুন।

3 এ) বহুবিধ ব্যবহারকারী.আরটিজেটকে আলাদা করুন

sudo systemctl isolate multi-user.target

3 বি) দ্রষ্টব্য যে এনভিডিয়া-ড্রাম বর্তমানে ব্যবহৃত।

lsmod | grep nvidia.drm

3 সি) এনভিডিয়া-ড্রাম আনলোড করুন

sudo modprobe -r nvidia-drm

4 ডি) নোট করুন যে এনভিডিয়া-ড্রাম আর ব্যবহার হয় না।

lsmod | grep nvidia.drm

5) আপনার ডাউনলোড ফোল্ডারে যান এবং চুদা ইনস্টলেশন চালান।

sudo sh cuda_10.1.168_418.67_linux.run

)) ইনস্টলেশন চলাকালীন কোনও অনুরোধের উত্তর দিন।

7) ইনস্টলেশন সমাপ্ত হলে, CUDA সংস্করণ আপডেট হয়েছে তা নিশ্চিত করুন।

nvidia-smi

8) আবার জিইউআই শুরু করুন।

sudo systemctl start graphical.target

0

এনভিডিয়া ড্রাইভারগুলি ইনস্টল করার চেষ্টা করার সময় দেবিয়ান স্ট্রেচের ক্ষেত্রে একই সমস্যা ছিল। পাঠ্য মোডে যখন আমার একমাত্র সমাধান ছিল ড্রাইভারটি সরিয়ে ফেলা, জিডিএম এবং জিনোম-শেল পুনরায় ইনস্টল করা। আমি জানি এটি একটি আনাড়ি সমাধান, তবে আমি মনে করি আমি প্রথমে জিনোম-শেলটি ঠিক করার চেষ্টা করেছিলাম এবং কেবল এনভিডিয়া ড্রাইভারকে সরিয়ে জিডিএম পুনরায় ইনস্টল করার চেষ্টা করেছি। দেখা গেল কেবল পুরো শেলটি পুনরায় ইনস্টল করা অনেক সহজ।


অনুমান করুন আমি কোনও কম আনাড়ি সমাধানের জন্য অপেক্ষা করব, যদি কোনও দেখায়।
রডরিগো

0

আমিও একই সমস্যার মুখোমুখি হয়েছি। ত্রুটির কারণ হ'ল চুদা ইনস্টল করার সময় আমি দুর্ঘটনাক্রমে "এনভিডিয়া ড্রাইভার ইনস্টল করুন" নির্বাচন করেছি।

সুতরাং, সিইউডিএর ইনস্টলেশনের সময় আপনি যখন নিম্নলিখিত বিকল্পগুলির মুখোমুখি হন:

লিনাক্স-x86_64 384.81 এর জন্য এনভিআইডিএ এক্সিলারেটেড গ্রাফিক্স ড্রাইভার ইনস্টল করবেন? (Y) স্প্যানিশ ভাষায় / (ঢ) ণ / (থ) UIT:

দয়া করে Q নির্বাচন করুন , সমস্যাটি সমাধান হবে।


তাহলে তুমি কি বলতে চাও? পুনরায় ইনস্টল করার একমাত্র সমাধান? স্পষ্টতই এটি একমাত্র সমাধান নয়; অন্যান্য উত্তর পোস্ট করা হয়েছে।
স্কট

0

আমার পক্ষে যা কাজ করেছে তা হ'ল পাঠ্যটিতে আরও শুরুর জন্য সিস্টেম পরিবর্তন করা

systemctl set-default runlevel3.target

তারপরে পুনরায় চালু করুন এবং এনভিডিয়া চুদা ড্রাইভারটি ইনস্টল করুন একবার শেষ হয়ে গেলে আপনি আবার গ্রাফিক্স মোডে সিস্টেম শুরু করতে চান

systemctl set-default runlevel5.target

0

থামানো systemd-logindআমার জন্য এটি স্থির করে:

sudo systemctl stop systemd-logind

এনভিডিয়া-এক্সরুন গিথুব পৃষ্ঠায় এই গিথুব ইস্যুতে এটি একটি কর্মপরিকল্পনা হিসাবে প্রস্তাবিত :

সুসংবাদ বলছি ছেলেরা, সিস্টেমড-লগইনড এখানে অপরাধী। "ওয়ার্ল্ড-এক্সরুন" সেশন থেকে লগ-আউট করার পরে বর্তমান কমান্ডটি নিম্নোক্ত কমান্ডটি চালানো হবে

তারপরে, আপনি ম্যানুয়ালি অন্যান্য এনভিডিয়া মডিউলগুলি সরিয়ে ফেলবেন এবং নিজেই ডিজিপিইউ স্যুইচ করবেন। এখানে কোড স্নিপেট যা আপনি "এনভিডিয়া-এক্সরুন" সেশন থেকে লগ আউট করার পরে চলে।

echo 'Unloading nvidia_drm module' 
execute "sudo rmmod nvidia_drm"

echo 'Unloading nvidia_modeset module' 
execute "sudo rmmod nvidia_modeset"

echo 'Unloading nvidia module' 
execute "sudo rmmod nvidia"

echo 'Turning off nvidia GPU' 
execute "sudo tee /proc/acpi/bbswitch <<<OFF"

echo -n 'Current state of nvidia GPU: ' 
execute "cat /proc/acpi/bbswitch"

গিথুবে সিস্টেমড ইস্যু

এনভিডিয়া লিনাক্স ডেভেলপার্স পোর্টাল থেকে রেফারেন্স লিংক

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