LibGl, fbConfigs, প্রতিটি আপডেটের মাধ্যমে সোরাস্ট নিয়ে সমস্যা?


38

এসএফএমএল-প্রকল্প সংকলন করার সময় আমার সমস্যা আছে (কোনও গ্রাফিকটি দেখতে পাবেন না):

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

এই টিউটোরিয়ালের মাধ্যমে এনভিডিয়া-ড্রাইভারদের পুনরায় ইনস্টল করে এই ত্রুটিটি সমাধান করা যেতে পারে: https://askubuntu.com/a/451248/341889

.. তবে যখন আমি নতুন আপডেটগুলি পাই - এই ত্রুটিটি ফিরে আসছে; (আমার কী করা উচিত? এটি সমাধান নয় - সিস্টেমের আপডেট ব্যবহার করবেন না ...

পিএস এবং হ্যাঁ, এনভিডিয়া-ড্রাইভার ইনস্টল করার পরে আমি সমস্ত পরিবর্তনগুলি সংরক্ষণ করেছি


1
এটা আমার কিছু ঘটে তাহলে আমি একটি OpenGL- এক্সিকিউটেবল পরিবর্তনশীল লোড Mesa আরম্ভ করার জন্য চেষ্টা libGL.so: LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa ./glprogram। ডিফল্টরূপে, আমার উবুন্টু 16.04 এর /usr/lib/nvidia-361/libGL.soকারণে ব্যবহার করে /etc/ld.so.conf.d/x86_64-linux-gnu_GL.confএবং এটি সব ঠিকঠাক করে।
সিওরো সান্তিলি 事件 改造 中心 法轮功 六四

উত্তর:


29

swrastজিনিস সফ্টওয়্যার রেন্ডারার হয়। এর অর্থ এটি আপনার গ্রাফিক্স কার্ডের জন্য হার্ডওয়্যার ড্রাইভার খুঁজে পাচ্ছে না। সেখানে অনেকগুলি libGL লাইব্রেরি ইনস্টল করা আছে এবং সেই সমস্ত লাইব্রেরিতে প্রতীকী লিঙ্কের একগুচ্ছ রয়েছে। এগুলি শেল থেকে চালানো দেখতে:

find /usr -iname "*libGL.so*" -exec ls -l -- {} + 

এখন আপনার সমস্যার সম্ভাব্য কারণ হ'ল গ্রাফিক্স ড্রাইভারগুলি কখনও কখনও এই প্রতীকী লিঙ্কগুলিকে ভেঙে দেয়। (বিশেষত /usr/local/lib/libGL.so.1.2.0ভুল লিব বা ভুল লিঙ্কের একটি সিম লিঙ্ক হতে পারে)।

ওপেনজিএল প্রোগ্রামগুলি যে লাইব্রেরিটি চালানোর চেষ্টা করছে তা কার্যকর করার জন্য আপনি কিছুটা ভার্বোসিটি চালু করতে পারেন এবং একটি সাধারণ ওপেনজিএল প্রোগ্রাম চালাতে পারেন। আপনি এটি স্ট্যান্ডার্ড ওপেনজিএল পরীক্ষা প্রোগ্রামটি ব্যবহার করে যাচাই করতে পারেন:

LIBGL_DEBUG=verbose glxgears

আশা করি এটি এসএফএমএলের মতোই ব্যর্থ হবে। সঙ্গে LIBGL_DEBUGআপনার বলা উচিত কি যেমন OpenGL গ্রন্থাগার এটি লোড করার চেষ্টা হচ্ছে। তবুও এটি যে লিবটি লোড করার চেষ্টা করবে এটি প্রায় নিশ্চিতভাবেই হবে /usr/local/lib/libGL.so.1.2.0(সম্পাদনা করুন: আমি যখন উত্তর দিয়েছিলাম তখন এটি আমার মেশিনে স্ট্যান্ডার্ড ওপেনলএল লাইব্রেরি ছিল It এটি এখন আপনার মেশিনে অন্য কোনও সংস্করণ হতে পারে)।

সুতরাং সমাধানটি (এই ক্ষেত্রে) এটি নিশ্চিত করা উচিত যে /usr/local/lib/libGL.so.1.2.0এটি একটি প্রতীকী লিঙ্কটি সঠিক ওপেনএল লাইব্রেরিতে নির্দেশ করছে। আমার ক্ষেত্রে এনভিডিয়া ৩.৪০ ড্রাইভার রয়েছে তাই আমি দৌড়েছি:

ln -s /usr/lib/nvidia-340/libGL.so.1 /usr/local/lib/libGL.so.1.2.0

তবে আপনি এটিকে ওপেনজিএল লাইব এ নির্দেশ করতে চান যা আপনার জন্য উপযুক্ত (প্রথম সন্ধানের আদেশে তালিকাভুক্ত)।

সংক্ষেপে: ইনস্টলিং (মালিকানাধীন) গ্রাফিক্স ড্রাইভারগুলি ওপেনজিএল লাইবসের জন্য ব্যবহৃত প্রতীকী লিঙ্কগুলি ভেঙে ফেলতে পারে। এই সমস্যাটি সমাধান করার জন্য ম্যানুয়ালি প্রতীকী লিঙ্কগুলি ঠিক করুন ( /usr/local/lib/libGL.so.1.2.0প্রথমে ঠিক করুন )।


এই সমস্যাটি আমাকে ত্রুটি বার্তাটি বুঝতে সহায়তা করেছে, তবে এটি সংশোধন করছে না। "এনভিডিয়া ড্রাইভারগুলি পুনরায় ইনস্টল করুন" এর উত্তরটি আমার পক্ষে সমস্যাটি ঠিক করার কারণে এটি একটি ভাল পরিপূরক ছিল।
হেনকো

@ হেনকো হ্যাঁ এনভিডিয়া ড্রাইভারদের পুনরায় ইনস্টল করা সম্ভবত এটিকে বাছাই করার সবচেয়ে দ্রুত এবং সহজ উপায়। যদি কোনও কারণে ড্রাইভারগুলি পুনরায় ইনস্টল করা আপনার সমস্যার সমাধান না করে এবং আপনার হাত ময়লা করার দরকার হয় তবে এই পদ্ধতির কাছে ফিরে যান।
30:55

6
"প্রায় অবশ্যই /usr/local/lib/libGL.so.1.2.0" ব্যতীত আমি প্রতিটি অংশ বুঝতে পেরেছি। মাইন "libGL: ওপেনড্রাইভার: /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so libGL দেখায়: ওপেনড্রাইভার: চেষ্টা করছে /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so" এবং সমস্ত এই ফাইলগুলি আমার সিস্টেমে বিদ্যমান ...
স্যামুয়েল লি

1
আপনার ব্যাখ্যার জন্য আবার ধন্যবাদ; আমি সমস্যাটি সম্পর্কে আরও ভাল করে বুঝতে পারি। আমি এটিও উল্লেখ করতে চাই যে আমার ক্ষেত্রে উবুন্টু সোরাসটস.ও-তে একটি নিশ্চিত বাগ রয়েছে এবং লোকেরা এটি নিয়ে আলোচনা করছে।
স্যামুয়েল লি

1
আপনাকে ধন্যবাদ @ ডেমেডেজেডহোগ এটি একটি দুর্দান্তভাবে প্রকাশিত পোস্ট এবং আমার সমস্যা সমাধানের জন্য আমাকে সাহায্য করেছে (ফেডোরা -২ on-তে, উপায় দ্বারা)। = :)। আপ-ভোট দিয়েছে।
এনওয়াইচিস 21

5

আমার উবুন্টু 16.10 তে nvidia-340ড্রাইভারদের সাথে একই সমস্যা ছিল এবং এখানকার কোনও সমাধানই আমার পক্ষে কাজ করে নি।

দেখা গেছে 32-বিট লাইব্রেরি লাইব্রেরির পথে ছিল না।

এই এক লাইনার আমার পক্ষে কাজ করেছেন:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32/nvidia-340"

4

এনভিডিয়া ড্রাইভারের দিকে ইঙ্গিত করতে সঠিক সিমিলিংক পেতে আমার সমস্যা হয়েছিল এবং আমি আমার জন্য কাজ করে এমন অন্য উপায় খুঁজে পেয়েছি।

এটি এখানে বর্ণিত আছে

এবং এটি পিপিএর মাধ্যমে এনভিডিয়া ড্রাইভারটি কীভাবে ইনস্টল করবেন তার তালিকাবদ্ধ করে যা সর্বশেষতম সংস্করণ 349.16 এর জন্য উপলব্ধ।

প্রথমে টার্মিনাল উইন্ডোটি ( Ctrl+ ALT+ T) খোলার এবং টাইপ করে ইনস্টল করা যে কোনও এনভিডিয়া ড্রাইভার আনইনস্টল করুন

sudo apt-get remove nvidia*

আপনার সিস্টেমটি পুনরায় বুট করুন

তারপরে অন্য টার্মিনালটি খুলুন এবং নিম্নলিখিতটি টাইপ করুন

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-349 nvidia-settings
sudo add-apt-repository -r ppa:xorg-edgers/ppa

তারপরে আবার রিবুট করুন

সিমলিংকের সাথে হারিয়ে যাওয়ার পরে আমি চেষ্টা করেছিলাম এবং ড্রাইভারটি ইনস্টল করার সাথে সাথে বাষ্পটি ভাল কাজ করে এবং আবার আমার 400+ ম্যাগ সিস্টেম আপডেট হওয়ার পরেও এটি কাজ করে যাচ্ছিল।


2
ড্রাইভার ইনস্টল হওয়ার পরে আমি xorg-edgers পিপিএ ছাড়ার পরামর্শ দেব না। আপডেটে প্রচুর অস্থির প্যাকেজ আসবে।
পাইলট 6

কেবল এনভিডিয়া * অপসারণ আমার জন্য ইতিমধ্যে এই সমস্যার সমাধান করেছে!
xtofl

3

অ্যাড্রিয়ানের উত্তরের বিকল্প সরবরাহ করার জন্য: আপনি যদি পিপিএতে পাওয়া লোকদের পরিবর্তে এনভিআইডিআইএ থেকে সরাসরি উত্সাহিত মালিকানাধীন ড্রাইভারগুলি ব্যবহার করতে পছন্দ করেন তবে সর্বশেষ মালিকানাধীন চালক ত্রুটি ত্রুটি দূর করতে সহায়তা করতে পারে।

আপনার কাছে এখনও এনভিআইডিআইএ ড্রাইভার না থাকলে, এনভিআইডিআইএর ওয়েবসাইট থেকে ড্রাইভারটি ডাউনলোড করুন । এরপরে, টিটি ( ctrl+ alt+ F1) এ স্যুইচ করুন এবং আপনার লগইন পরিচালককে বন্ধ করুন:

লাইটডিএম ব্যবহার করা হলে, $ sudo service lightdm stop

জিডিএম ব্যবহার করা হলে, $ sudo service gdm stop

ইনস্টল স্ক্রিপ্টে নেভিগেট করুন এবং এটি চালান, এবং অনুরোধগুলি অনুসরণ করুন। প্রাক ইনস্টল স্ক্রিপ্ট ব্যর্থ হলে চিন্তা করবেন না। আমি সর্বদা DKMS এবং 32-বিট সামঞ্জস্য লাইব্রেরি নিবন্ধভুক্ত গ্রহণ করি। ড্রাইভার ইনস্টল হওয়ার পরে, আপনার মেশিনটি পুনরায় চালু করুন:

$ sudo reboot

আপনার যদি ইতিমধ্যে কোনও পুরানো এনভিআইডিআইএ ড্রাইভারের একটি ইনস্টল স্ক্রিপ্ট থাকে তবে কেবল এনভিআইডিআইএ ড্রাইভার ইনস্টল স্ক্রিপ্টটি উপরে উল্লিখিত হিসাবে চালান, তবে "--update" বিকল্পের সাহায্যে:

$ sudo ./NVIDIA-Linux-x86_64-***.**.run --update

এটি আপনাকে ড্রাইভারের সর্বাধিক যুগোতম সংস্করণে পাবেন।

এটি করা আমার libGL error: failed to load driver: swrastত্রুটি স্থির করে ।


3

উবুন্টুতেও একই সমস্যা পেয়েছে 18. এটি কেবলমাত্র 32 বিট অ্যাপ্লিকেশন দিয়েই ঘটেছিল। সুতরাং আমার ধারণাটি ছিল 32 বিবিটি এনভিডিয়া কিছু ইনস্টল করা, কারণ আমার / usr / lib / i386-linux-gnu / ফোল্ডারটি সন্দেহজনকভাবে খালি ছিল।

খুব কম চেষ্টা করার পরে, এটি বাষ্প এবং ওয়াইন শুরু না করে আমার সমস্যাটি স্থির করে:

sudo apt install libnvidia-gl-418:i386

(এবং আপনার যে কোনও সংস্করণে 418 পরিবর্তন করুন)

মজার বিষয় হল যে অ্যাপ্লিকেশনগুলি ইনস্টলেশন চলাকালীন হারিয়ে যাওয়া নির্ভরতা সম্পর্কে অভিযোগ করেনি।


এটি আমার প্রশ্নের সাথে সম্পর্কিত একটি সমস্যা স্থির করেছে বলে মনে হচ্ছে, কমপক্ষে ...
অ্যান্ড্রু

এটি 32 বিট হচ্ছে কেন হতে পারে। অন্যান্য প্রোগ্রামগুলি ঠিকঠাক কাজ করে তবে সেগুলি সম্ভবত 64৪ বিট। যাইহোক, এটি দুর্দান্ত কাজ করে (যদিও আমি সংস্করণটি টুকরো টুকরো করে
ফেলেছিলাম

2

আমাকে স্বীকার করতে হবে, আমি নিশ্চিত না কেন এটি আমার পক্ষে কাজ করে তবে তা হয়ে ওঠে। এই ক্ষেত্রে ld.so.conf.d এন্ট্রিগুলিকে "ফিক্সিং" এর মতো একটি নতুন এন্ট্রি যুক্ত করে কাজ করে:

sudo ln -s /usr/lib/nvidia-381/ld.so.conf /etc/ld.so.conf.d/nvidia64.conf
sudo ldconfig 

আপনি নিম্নলিখিতগুলি চালনা না করা পর্যন্ত এটি উপলব্ধি করে find:

$ find -L /etc/ld.so.conf.d -type f | xargs grep -i nvidia
/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf:/usr/lib/nvidia-381
/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf:/usr/lib32/nvidia-381
/etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf:/usr/lib/nvidia-381
/etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf:/usr/lib32/nvidia-381
/etc/ld.so.conf.d/nvidia64.conf:/usr/lib/nvidia-381
/etc/ld.so.conf.d/nvidia64.conf:/usr/lib32/nvidia-381

কেন তিনটি কাজে একই প্রবেশ রয়েছে, কিন্তু সদৃশ নয়, আমার কোনও ধারণা নেই!


আমার জন্য উবুনু 17.04 এ কাজ করে। কেবল একটি নোট - পাথটি হল / usr / lib / nvidia-xxx যেখানে xxx হল ড্রাইভার নম্বর তাই কমান্ডটিকে তার সাথে মানিয়ে নিতে।
ব্যবহারকারী 2082382

2

এখানে একমাত্র aptসমাধান যা আমার পক্ষে কার্যকর হয়েছিল, কোনও সিমিলিং বা মিকিংয়ের সাথে কাজ করে না ld.so.conf.d:

apt install --reinstall libgl1-mesa-glx:i386
apt install mesa-utils nvidia-driver nvidia-driver-libs-i386

1

আমি কেবল এই লাইনটি ব্যবহার করি:

 sudo rm /usr/lib/i386-linux-gnu/libGL.so.1

এবং এটি কাজ করে।

কারণ আমি কার্যকর করার সময় এই জাতীয় ইনপুটটি দেখি sudo ldconfig -p | grep -i gl.so:

libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
libOpenGL.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libOpenGL.so.0
libOpenGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libOpenGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGL.so
libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libEGL.so.1
libEGL.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libEGL.so

1
এর মানে কি লোকেরা অনুসরণ করবে ...?
অ্যান্ড্রু

আমার জন্য কাজ করে, ধন্যবাদ!
হেট

0

শুধু এটি চালান:

sudo apt-get install libnvidia-gl-(the version of your driver):i386

আপনার ড্রাইভারের সংস্করণটি এনভিডিয়া-সেটিংসে দেখানো হয়েছে।


0

আমার ক্ষেত্রে এই সমস্যার সমাধানটি ত্রুটির বার্তার ধারাবাহিকতায় স্থিত ছিল

পরিদর্শন 5.7.0 আমাকে জানিয়েছে যে:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
(   0.833s) [paraview] vtkOpenGLRenderWindow.c:748 ERR| vtkXOpenGLRenderWindow (0x5588ae6a2160): GLEW could not be initialized: Missing GL version
...
Segmentation fault

বার্তা

GLEW could not be initialized: Missing GL version

কি হয়েছে। গ্রাফিক্স লাইব্রেরিগুলি ঠিকঠাক চলছে কিনা তা পরীক্ষা করতে আমি 'গ্ল্যাক্সগারস' চালাচ্ছি - এটিও দেখুন man glxgears- এই অ্যানিমেশনটি দেখান:

glxgears এর স্ক্রিনশট

তারপরে আমার সমাধানটি ছিল কেবল পরিবেশের পরিবর্তনশীল সেট করা

LD_PRELOAD=/usr/lib/libGL.so

নোট নাও:

  1. যদিও আমার কাছে এনভিডিয়া গ্রাফিক্স কার্ড রয়েছে, তবে এটির সাথে আমার চারপাশে ঝাঁকুনির দরকার পড়েনি;
  2. আরম্ভ locate libGL.soকরছি, আমি আর একজন প্রার্থী পেয়েছি /usr/lib/i386-linux-gnu/libGL.so। এটি LD_PRELOAD হিসাবে সেট করা তবে সমস্যার সমাধান করেনি;
  3. GLEW লাইব্রেরি উপরের প্রদর্শিত হয় সম্পর্কে কোন তথ্য সেট করার প্রয়োজন নেই --- দেখুন locate libGLEW.so

সংকেতের জন্য আমি https://github.com/openai/mujoco-py/issues/44 bণী


LD_PRELOAD এবং আরো সাধারণভাবে উদাহৃত LD_LIBRARY_PATH মধ্যে পার্থক্য জন্য দয়া করে দেখুন stackoverflow.com/q/14715175/5459638
XavierStuvw

-3

আমি আমার ম্যাকবুক প্রো থেকে আমার উবুন্টু ভিএম-এর কাছে এসএসএস করার সময় আমি এই অদ্ভুত সমস্যার মুখোমুখি হয়েছি, তবে আমার উবুন্টু ১.0.০৪-তে নীচের এনভিডিয়া ড্রাইভার ইনস্টল করার ফলে সমস্যাটি স্থির হয়েছে। আশা করি এটি আপনার পক্ষে কাজ করে।

sudo অ্যাপটি-এনভিডিয়া -৩৩১ ইনস্টল করুন


1
আপনি কেন ভিভি গেস্ট সিস্টেমে এনভিডিয়া জিপিইউ ড্রাইভার ইনস্টল করবেন? Ó_ò
ডেভিড ফোস্টার

ডাউনভোটটি উপযুক্ত নয়। @ ডেভিডফোরস্টার ঠিক বলেছেন যে কোনও ভিএম-তে জিপিইউ ড্রাইভার ইনস্টল করা কোনও অর্থবোধ করে না (যদি না আপনি জিপিইউ হার্ডওয়্যারকে ভিএম-এর কাছে না দিয়ে থাকেন)। তবে: আমি এসএসএইচ দিয়ে এক্স চালাচ্ছি এবং আমিও একই সমস্যার মুখোমুখি হয়েছি। রিমোট মেশিনে (ভিএম) এক্স অ্যাপ্লিকেশন শুরু করা প্রায়শই ওপি-র প্রশ্নের উল্লিখিত ত্রুটি বার্তাগুলির দিকে নিয়ে যায়। আমি এখনও এই সমস্যার সমাধান খুঁজে পাইনি, তবে যদি রিমোট ভিএম-তে জিপিইউ ড্রাইভারগুলি ইনস্টল করা সমাধান হয়ে যায় তবে আমি বুঝতে পারি যে এটি বোধগম্য হয় না, কেবল ত্রুটিগুলি দূরে সরিয়ে দিতে আমি (আমি আছি) বর্তমানে তাদের উপেক্ষা)।
বিনারাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.