প্রকল্প সম্পর্কে

এই রিপোজিটরিতে NVIDIA-এর লিনাক্স ওপেন GPU কার্নেল মডিউলের সোর্স রিলিজ রয়েছে, যার মধ্যে nvidia.ko, nvidia-drm.ko, nvidia-modeset.ko এবং nvidia-uvm.ko-এর জন্য কার্নেল ইন্টারফেস স্তর অন্তর্ভুক্ত। মডিউলগুলি "make modules" দিয়ে বিল্ড করা হয় এবং বিদ্যমান NVIDIA কার্নেল মডিউলগুলি সরানোর পরে "make modules_install" দিয়ে ইনস্টল করা হয়। এগুলি অবশ্যই ম্যাচিং 615.71.09 রিলিজের GSP ফার্মওয়্যার এবং ইউজার-স্পেস NVIDIA ড্রাইভার উপাদানের সাথে ব্যবহার করতে হবে; সংশ্লিষ্ট .run ইনস্টলারটি --no-kernel-modules দিয়ে চালানো যেতে পারে সেই উপাদানগুলি সরবরাহ করতে। সোর্সটি x86_64 এবং aarch64-এর জন্য নেটিভ বা ক্রস বিল্ড সমর্থন করে। ক্রস-কম্পাইলেশন TARGET_ARCH প্লাস CC, LD, AR, CXX এবং OBJCOPY সেটিংস ব্যবহার করে। আধুনিক GCC বা Clang ব্যবহার করা যেতে পারে, যদিও কার্নেল ইন্টারফেস স্তরটি টার্গেট কার্নেলের জন্য ব্যবহৃত টুলচেইন দিয়ে বিল্ড করতে হবে। সমর্থিত লিনাক্স কার্নেলগুলি 4.15 থেকে শুরু হয়। বিল্ড অপশনের মধ্যে রয়েছে NV_VERBOSE=1 সম্পূর্ণ কমান্ড আউটপুটের জন্য এবং DEBUG=1 ডিবাগ বিল্ড এবং অতিরিক্ত লগিংয়ের জন্য। কোডটি লিনাক্স-নির্দিষ্ট কার্নেল ইন্টারফেস কোডের জন্য kernel-open, OS-অজ্ঞেয় কোড এবং শেয়ার্ড ইউটিলিটির জন্য src এবং Nouveau ড্রাইভার দ্বারা ব্যবহারের জন্য GSP ফার্মওয়্যার ইমেজ এবং সম্পর্কিত ডেটা বের করে এমন একটি পাইথন স্ক্রিপ্টের জন্য nouveau-তে সংগঠিত। README নথিভুক্ত করে যে nvidia.ko এবং nvidia-modeset.ko-তে OS-অজ্ঞেয় উপাদান রয়েছে, যেখানে nvidia-drm.ko এবং nvidia-uvm.ko-তে নেই। সামঞ্জস্যপূর্ণ হার্ডওয়্যারকে Turing বা তার পরবর্তী NVIDIA GPU হিসাবে বর্ণনা করা হয়েছে, রিপোজিটরিতে একটি PCI আইডি টেবিল সরবরাহ করা হয়েছে। বৈশিষ্ট্যের সীমাবদ্ধতা এবং vGPU বিবরণের জন্য NVIDIA-এর ড্রাইভার ডকুমেন্টেশনে নির্দেশিত হয়। অবদান GitHub পুল রিকোয়েস্টের মাধ্যমে পরিচালিত হয় এবং একটি CLA প্রয়োজন। NVIDIA উল্লেখ করে যে রিপোজিটরিটি মূলত শেয়ার্ড মালিকানাধীন ড্রাইভার কোডের একটি প্রতি-ড্রাইভার-রিলিজ স্ন্যাপশট, তাই ইতিহাস সীমিত হতে পারে এবং বড় রিফ্যাক্টরগুলির জন্য সমন্বয়ের প্রয়োজন হতে পারে। সমস্যাগুলি GitHub, NVIDIA-এর লিনাক্স ফোরাম বা linux-bugs@nvidia.com-এ রিপোর্ট করা যেতে পারে, SECURITY.md দুর্বলতা রিপোর্টিং কভার করে।