कैसे cser के लिए xserver और nvidia gpu के लिए igpu को कॉन्फ़िगर करें?


12

उबंटू 16.04

का आउटपुट uname -a:

Linux HOST 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

डेस्कटॉप ग्रेड:

  • सीपीयू: इंटेल
  • GPU: 361.42 के साथ एनवीडिया

मैं क्या चाहता हूँ:

  • इंटेल GPU xserver और मेरे मॉनिटर को चलाएगा, जो ऑनबोर्ड डीपी से जुड़ा है
  • एनवीडिया जीपीयू का उपयोग केवल सीयूडीए विशिष्ट गणना आदि के लिए किया जाएगा।
  • एनवीडिया जीपीयू पर वास्तविक नियंत्रण (वास्तविक समय, आँकड़े, अस्थायी पंखे की गति ...)

मेरी समस्या:

  • न तो काम और न nvidia-smiही nvidia-settingsमैं अपने एनवीडिया जीपीयू को नियंत्रित कर सकता हूं (त्रुटियों को और नीचे उद्धृत किया गया है)

मेरी कहानी:

अपनी समस्या के संक्षिप्त सारांश के बाद मैं इस विषय में गोता लगाना चाहता हूं; 16.04 उबंटू की रिलीज के बाद से मैं निम्नलिखित को प्राप्त करने में असफल रहा हूं:

  • मैं चाहता हूं कि मेरा इंटेल जीपीयू (i7 6700K) मेरे एक्ससर्वर को ड्राइव करे और इसके लिए सबकुछ सुनिश्चित किया जाए।
  • मैं चाहता हूं कि मेरे समर्पित एनवीडिया जीपीयू का इस्तेमाल केवल कुडा आधारित कम्प्यूटेशन और इस तरह के लिए ही किया जाए।
  • मैं एक से अधिक nvidia GPU सिस्टम में जोड़ दूंगा, जब मेरी समस्या हल हो जाएगी।

मेरी प्रारंभिक अवस्था का संक्षिप्त सारांश:

मैंने nvidia और Intel (Intel-microcode and nvidia-361.42) के लिए मालिकाना ड्राइवरों को apt-get और अक्षम सुरक्षित बूट के माध्यम से mokutul --disable-validation के माध्यम से स्थापित किया है।
फिर मैंने इंटेल कार्ड का उपयोग करने के लिए एनवीडिया-प्राइम सेट किया।
तब मैंने अपने gorg.conf को इंटेल gpu और इंटेल ड्राइवर के साथ केवल एक स्क्रीन शामिल करने के लिए संपादित किया। (यदि आवश्यक हो तो विवरण मांगें)
ब्लेंडर के साथ रेंडरिंग के लिए जीपीयू का परीक्षण करना, सब कुछ ठीक लग रहा था, सिवाय इसके कि मैं अपने जीपीयू और एनवीडिया-सेटिंग्स के किसी भी आंकड़े को खाली नहीं कर सका।

त्रुटियाँ:

sudo nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

रिलीज के बाद से मैंने अपने सभी प्रयासों और शोधों के माध्यम से अब तक क्या सीखा है (लघु संस्करण, किसी भी समय विस्तार से पूछें):

मेरी दो समस्याएं संबंधित हैं लेकिन समान नहीं हैं:

एनवीडिया-सेटिंग्स खाली:

  • ऐसा इसलिए है क्योंकि ये सेटिंग्स केवल तब दिखाई देती हैं, जब nvidia GPU से जुड़ा एक Xserver होता है
  • इसका समाधान xorg.conf में एक नई स्क्रीन जोड़ना होगा जो nvidia GPU पर चलने के लिए बलों और अप्रयुक्त xserver को जोड़ती है
  • लेकिन यह वर्तमान में संभव नहीं है (अन्य समस्या देखें) और वांछित नहीं, क्योंकि मैं शुद्ध रूप से एनवीडिया जीपीयू को कुडा पर ध्यान केंद्रित करना चाहता हूं।

एनवीडिया-एसआई काम नहीं कर रहा है:

  • bbswitch एक समस्या नहीं है क्योंकि मेरा GPU (550ti) इसका समर्थन नहीं करता है (dmesg में त्रुटियाँ)
  • एनवीडिया प्राइम में x86_64-linux-gnu_gl_conf के लिए प्रविष्टि को /usr/lib/nvidia-361/ld.so.conf(nvidia GPU चयनित) या /usr/lib/nvidia-361-prime/ld.so.conf(Intel GPU चयनित) में बदल दिया जाता है
  • इंटेल चयन के लिए कॉन्फ़िगरेशन आवश्यक एनवीडिया मॉड्यूल के लिए आवश्यक पथ गायब है जो एनवीडिया चयन के लिए सभी मौजूद हैं
  • जब प्राइम-सलेक्ट के माध्यम से एनवीडिया पर स्विच किया जाता है, तो मेरे पास एक्ससर्वर नहीं है क्योंकि डिस्प्ले एकीकृत जीपीयू से जुड़ा है, लेकिन वर्चुअल कंसोल एनवीडिया-एसएमआई में लॉग इन करता है

मेरा अनुमान:

  • एनवीडिया प्राइम खराब है और मुझे जैसा चाहिए वैसा नहीं चाहिए।
  • मुझे किसी तरह से प्राइम को दूर करना होगा और सिस्टम को कॉन्फ़िगर करना होगा (यहां तक ​​कि मैन्युअल रूप से नया कॉन्फिगर लिखना होगा?)

मेरी कोशिश:

  • मैंने एनवीडिया-प्राइम की स्थापना रद्द करने की कोशिश की, लेकिन मैंने केवल बाद में मान्यता दी, कि यह काम नहीं कर सकता। जब x86_64-linux-gnu_gl_conf के लिए conf फ़ाइल हटा दी जाती है, तो परिणाम एक शुद्ध गड़बड़ है ...
  • मैं भी x86_64-linux-gnu_gl_conf फ़ाइलों को मैन्युअल रूप से लापता पथ जोड़ने की कोशिश की, लेकिन मुझे वास्तव में नहीं पता था कि मैं क्या कर रहा था और कोई सफलता नहीं थी।

मेरे सवाल:

1) मैं एनवीडिया-स्माइ समस्या को कैसे हल कर सकता हूं? क्या मैं सही रास्ते पर हूं? क्या किसी के पास निर्देश हैं कि मैं कैसे आगे बढ़ सकता हूं?

2) क्या यह संभव है कि nvidia gpu (xorg.conf में कूलबिट्स) को gpu पर Xserver के बिना (xorg.conf में gpu के लिए स्क्रीन के बिना) के लिए प्रशंसक नियंत्रण और आगे के नियंत्रण को सक्षम किया जाए?

किसी भी उत्तर के लिए अग्रिम धन्यवाद। मैंने सचमुच वेब पर कंघी की, कंघी मेरी समस्या थी।
अगर मुझे कुछ महत्वपूर्ण याद आया, तो कृपया मुझे बताएं और लॉग फाइल आदि का अनुरोध करने में संकोच न करें।

धन्यवाद

छवियाँ

मेरी अतिरिक्त ड्राइवर टैब छवि: यहाँ छवि विवरण दर्ज करें


: मैं भी एक लॉन्चपैड प्रश्न बनाया answers.launchpad.net/ubuntu/+question/294621
Winnetou

शायद मैंने अपनी स्थापना प्रक्रिया का सही वर्णन नहीं किया है: apt-get के माध्यम से nvidia- ड्राइवरों को स्थापित करने के बाद भी अतिरिक्त ड्राइवर की जांच की जाती है, जैसा कि आपने कहा था और सही ड्राइवरों को पहले ही चुना गया था। मैं एक स्क्रीनशॉट inclueded। ड्राइवर मौजूद हैं और अगर मैं एनवीडिया-प्राइम को एनवीडिया-जीयूपी पर स्विच करता हूं तो सब कुछ काम करता है। इस सेटिंग को बदलने से एक पूरे ड्राइवर को स्थापित नहीं किया जा सकता है, वास्तव में इसके चालक का हिस्सा और अभ्यस्त होने के बिना भी काम नहीं करेगा
winnetou

यह एक साफ ubuntu 16.04 था, हर बूट पर मैं अपडेट और अपग्रेड-अप-प्राप्त कर रहा हूं, इसलिए मुझे लगता है कि मेरे पास नवीनतम आधिकारिक अपडेट इंस्टॉल हैं
winnetou

मुझे पता है, कि ड्राइवर सिस्टम द्वारा उपयोग किए जाते हैं, क्योंकि मैं एनवीडिया जीपीयू पर CUDA का उपयोग कर सकता हूं। लेकिन सभी एनवीडिया-मॉड्यूल बूट पर लोड नहीं किए जाते हैं, ताकि उदाहरण के लिए
एनवीडिया

जवाबों:


4

स्वीकृत उत्तर एनवीडिया उपकरणों को सक्षम करने के लिए एक्स सर्वर का उपयोग करता है। यह आवश्यक नहीं है और इसका मतलब है कि एक्स सर्वर कार्ड की कुछ मेमोरी का उपयोग करेगा।

इसके बजाय nvidia-modprobeड्राइवर पूछे जाने वाले प्रश्न में वर्णित के रूप में स्थापित किया जाना चाहिए (नीचे दिए गए लिंक पर पाया जा सकता है)।

तो मेरा अनुशंसित समाधान निम्नलिखित है:

1) नवीनतम Nvidia ड्राइवर को ftp://download.nvidia.com/XFree86/Linux-x86_64/ से रनफाइल के माध्यम से --no-opengl-filesऔर --dkmsझंडे के साथ स्थापित करें ।
2) प्रासंगिक इंस्टॉलेशन nvidia-modprobeके माध्यम से संस्करण make allऔर sudo make installसे ftp://download.nvidia.com/XFree86/nvidia-modprobe/

--dkmsझंडा सुनिश्चित करें कि कर्नेल मॉड्यूल कंपाइल है जब आप अपने कर्नेल उन्नयन बनाता है।


इसने मेरे लिए काम किया। यह सबसे सरल उत्तर है और स्वीकृत उत्तर होना चाहिए।
मार्को एविलाइज़ जूल

यह समाधान मेरे काम नहीं आया। इसके बजाय मैंने सिर्फ ड्राइवर को सामान्य रूप से स्थापित किया और नीचे बताए अनुसार LD_LIBRARY_PATH में एनवीडिया पथ जोड़ा ।
revers

3

मुझे (इस पद के निर्माता) समाधान की आवश्यकता है जो मुझे अपने दम पर मिला!

मैं अब किसी और के लिए समाधान बताऊंगा जो एक समान स्थिति में है और इसे मदद की ज़रूरत है!

समाधान:
NVIDIA ड्रायवर के साथ RUNFILE ने http://www.nvidia.com/object/unix.html पर "फ्लैग" --no-opengl-files "दिया है!

यह न केवल एनवीडिया ओपेंगल फाइलों को मौजूदा मेसा फाइलों को अधिलेखित करने से रोकता है, बल्कि चालक को बिना एनवीआईए प्राइम भी स्थापित करता है !!

इसलिए मेरी सभी समस्याएं हल हो गई हैं, बस ड्राइवर को मैन्युअल रूप से स्थापित करने के बजाय, इसे रिपॉजिटरी से स्थापित करने के बजाय। रिपॉजिटरीज़ से पैकेज "ऑप्टिमस-फ्रेंडली" है और इसलिए सभी बेकार परेशानियों को इसके साथ जोड़ दिया गया है।

दूसरे

xorg.conf को समर्पित जीपीयू (s) के लिए एक और स्क्रीन के साथ बढ़ाया जाना चाहिए ताकि nvidia-settings में इसकी प्रविष्टियाँ हों / हों।

मेरा ऐसा दिखता है

Section "ServerLayout"
    Identifier     "Layout0"
    Screen 0       "intel" 0 0
    Screen 1       "nvidia550ti" 3000 0
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "intel"
    BusID          "PCI:0@0:2:0"
EndSection

Section "Device"
    Identifier     "nvidia550ti"
    Driver         "nvidia"
    BoardName      "GeForce GTX 550ti"
    BusID          "PCI:2@0:0:0"
EndSection

Section "Screen"
    Identifier     "intel"
    Device         "intel"
EndSection

Section "Screen"
    Identifier     "nvidia550ti"
    Device         "nvidia550ti"
    Option         "AllowEmptyInitialConfiguration" "on"
    Option         "Coolbits" "4"
    Option         "ConstrainCursor" "on"
EndSection

1
नमस्ते। Leezu से उत्तर सरल है और शायद आपको उस एक को स्वीकार करना चाहिए?
मार्को एविलाज़ जूल

मैं अभी तक लीज़ू के उत्तर की पुष्टि नहीं कर सकता, हालांकि यह मेरी आँखों के लिए बहुत आशाजनक है। यदि ऐसे और भी लोग हैं जो रिपोर्ट करते हैं कि यह काम करता है, या मैं अंत में उसके उत्तर का परीक्षण कर सकता हूं और पुष्टि कर सकता हूं, तो मैं स्वीकृत उत्तर को बदल दूंगा। वह समस्या को हल करता है, कि nvidia-modprobe उस कार्ड पर चलने वाले x- सर्वर के बिना काम नहीं करता है।
winnetou

यह काम नहीं करता है यदि आप सभी मौजूदा एनवीडिया ड्राइवरों को हटा दें और फिर से शुरू करें। इसे कहते हैं NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
अफ़ज़लिवे

1

मुझे वह कॉन्फ़िगरेशन प्राप्त हुआ जो आप चाहते हैं (मैं भी यही चाहता था;)):

  • इंटेल GPU xserver और मेरे मॉनिटर को चलाएगा, जो ऑनबोर्ड डीपी से जुड़ा है
  • एनवीडिया जीपीयू का उपयोग केवल सीयूडीए विशिष्ट गणना आदि के लिए किया जाएगा।
  • एनवीडिया जीपीयू पर वास्तविक नियंत्रण (वास्तविक समय, आँकड़े, अस्थायी पंखे की गति ...)

का उपयोग करके bumblebee

लेकिन इससे पहले कि मैं कुछ विवरणों में जाऊं, मुझे आपको चेतावनी देनी चाहिए कि एनवीडिया-सेटिंग्स या xorg.conf या एनवीडिया प्राइम का कॉन्फ़िगरेशन बदलते समय, आपको अपने सिस्टम को रिबूट करना होगा (शायद आप पहले से जानते हैं)। रिबूटिंग सिस्टम को गैर-सुसंगत स्थिति में नहीं छोड़ सकता है।


मेरे विन्यास में मैंने स्पर्श नहीं किया xorg.conf। मेरे लिए ऐसा करना हमेशा दर्द का स्रोत रहा है। कृपया इसे मूल स्थिति पर छोड़ दें। यदि आप एक ताज़ा इंस्टॉलेशन नहीं करना चाहते हैं, तो आप कुछ बैकअप /etc/X11/( ls /etc/X11/xorg.conf*) में पा सकते हैं ।

पहला कदम nvidia-settingsकाम करने की कोशिश कर रहा है । यदि आप ऐसा करने में सफल होते हैं, तो आप इंटेल GPU पर स्विच करने के लिए एनवीडिया PRIME का उपयोग कर सकते हैं, जैसा कि आप पहले ही उल्लेख कर चुके हैं। इंटेल जीपीयू के लिए एनवीडिया प्राइम पॉइंट होने की आवश्यकता है यदि आप केवल क्यूडीए के संगणना के लिए एनवीआईडीआईए जीपीयू का उपयोग करना चाहते हैं (यह विशेष रूप से आवश्यक है यदि आप क्यूडा डीबगर का उपयोग करना चाहते हैं cuda-gdb)।

उसके बाद आप भौंरा स्थापित करने की कोशिश कर सकते हैं :

sudo apt install bumblebee

रीबूट। आप का उपयोग कर भौंरा की स्थिति की निगरानी कर सकते हैं

sudo service bumblebeed status

या

bumblebeed -vv

क्या करता है भौंरा NVIDIA GPU को सक्रिय करने के लिए और जब आवश्यक है केवल कर्नेल में एनवीडिया चालक को सम्मिलित करने की कोशिश कर रहा है। आप optirunजिस कमांड को चलाना चाहते हैं, उसके लिए पूर्व-लंबित द्वारा भौंरा का उपयोग कर सकते हैं ।

भौंरा काम करने के लिए, मुझे मैन्युअल रूप /etc/bumblebee/bumblebee.confसे एनवीडिया ड्राइवर का नाम और पथ निर्धारित करने के लिए मैन्युअल रूप से संपादित करना था ।

[...]
Driver=nvidia
[...]
KernelDriver=nvidia_361
[...]
LibraryPath=/usr/lib/nvidia-361:/usr/lib32/nvidia-361

फिर, एक के बाद sudo service bumblebeed restartमैं भौंरा प्रणाली को सक्रिय करने में कामयाब रहा।

वास्तव में nvidia-smiरिटर्न

$ nvidia-smi
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system:
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

लेकिन optirun nvidia-smi:

$ optirun nvidia-smi
Fri Jun 17 11:47:48 2016       
+------------------------------------------------------+                       
| NVIDIA-SMI 361.42     Driver Version: 361.42         |                       
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 970M    Off  | 0000:01:00.0     Off |                  N/A |
| N/A   53C    P1    18W /  N/A |     18MiB /  3071MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     20678    G   /usr/lib/xorg/Xorg                               4MiB |
+-----------------------------------------------------------------------------+

उम्मीद है की यह मदद करेगा।


अच्छा उत्तर! लेकिन मैं बुदबुदाई ubuntu 15.10 और एक ही हार्डवेयर के साथ थक गया और यह गड़बड़ हो गया। इतना, कि मैंने उपलब्ध होने के बाद 16.04 की एक नई स्थापना की। यह वास्तव में बदतर था। यहां तक ​​कि रिकवरी मोड भी सही ढंग से बूट नहीं हुआ .... इसलिए मैंने खुद को किसी भी अधिक भौंरा का उपयोग नहीं करने की कसम खाई। भौंरा के साथ एक और समस्या थी (मैं नहीं जानता कि आपने इसे कैसे दरकिनार किया था), कि मेरे समर्पित gpu bbswitch का समर्थन नहीं करता है, इसलिए मुझे त्रुटियां मिलीं, कि gpu युग्मन को सही ढंग से बंद नहीं किया जा रहा है
winnetou

लेकिन, यह सैद्धांतिक रूप से एक संभावित उत्तर है! लेकिन वह नहीं जिसकी मुझे तलाश है :(।
winnetou

दूसरा BUT: (मुझे कोई और जानकारी नहीं है, अगर यह मेरी कोशिश पर काम करता है) क्या nvidia-settings आपको GPU (sudo optirun nvidia-settings of-course) दिखाता है? क्या आप पंखे की गति, वोल्टेज आदि को नियंत्रित करने में सक्षम हैं? यदि मैं सही ढंग से याद करता हूं, तो ये सेटिंग्स केवल nvidia- सेटिंग्स में संभव हैं, जब आप xorg.conf फ़ाइल में कूलबिट्स को सक्षम करते हैं। nvidia-smi आपको केवल एक मॉनिटर देता है ..... कृपया सही है अगर मैं गलत हूं
winnetou

और एक और बड़ा प्रश्न चिह्न है: क्या भौंरा ठीक काम करता है अगर मेरे पास एक से अधिक समर्पित जीपीयू है? यह usecase (igpu + gpu) पहले से ही गैर मोबाइल gpus पर भौंरा के लिए अनुशंसित नहीं है, लेकिन एक से अधिक d-gpu होना भौंरा के लिए एक छेद नई कहानी है।
winnetou

@winnetou तुम एक gpu से अधिक के बारे में पूरी तरह से सही है - यह एक अच्छा सवाल है। एक और मुद्दा यह है कि एनवीडिया-डोक्टर सबसे अधिक संभावना के अनुसार काम नहीं करता है।
vskubrievence

1

मैंने उपरोक्त समाधानों में उल्लेखित बिना opengl के एनवीडिया ड्राइवरों को फिर से स्थापित किया लेकिन यह मेरे लिए काम नहीं आया। इसके अलावा ये समाधान काफी असंतोषजनक हैं, क्योंकि वे ड्राइवरों (ओपेंग्ल) की कुछ क्षमता को हटाते हैं।

मुझे एक बहुत सरल समाधान मिला, जिसके लिए आपको ड्राइवर को फिर से स्थापित करने की आवश्यकता नहीं है:

  • मैंने सामान्य रूप से एनवीडिया ड्राइवरों को स्थापित किया है
  • एनवीडिया-सेटिंग्स गिनी, अनट्रेड प्राइम प्रोफाइल में, मैं मुख्य जीपीयू के रूप में इंटेल ग्राफिक कार्ड चुनता हूं
  • रिबूट करने के बाद, nvidia-smi काम नहीं करता है, लेकिन मैंने पुस्तकालयों के रास्ते में usr / lib / nvidia-387 जोड़कर तय किया है:
    export LD_LIBRARY_PATH=/usr/lib/nvidia-387:$LD_LIBRARY_PATH

ध्यान दें कि इंस्टॉल किए गए ड्राइवर के आधार पर, आपको अपने लाइब्रेरी पथ में एक और फ़ोल्डर जोड़ने की आवश्यकता हो सकती है, उदाहरण के लिए / usr / lib / nvidia-384
आप इस आदेश को फ़ाइल में जोड़ सकते हैं ~ / .bashrc जब नए बैश को लोड करने के लिए स्वचालित रूप से पथ निर्यात करें।


यदि आप एनवीडिया चालक को अपग्रेड करते हैं तो क्या होगा? क्या आपको पुस्तकालय पथ को मैन्युअल रूप से बदलना होगा?
लियांग

मुझे लगता है कि यह समस्या नहीं होनी चाहिए अगर ड्राइवर अभी भी उसी फ़ोल्डर में है। यदि फ़ोल्डर बदलता है, तो आपको संभवतः लाइब्रेरी पथ बदलना चाहिए।
revers

0

मुख्य रूप से मेरे लिए एक अनुस्मारक के रूप में: ubuntu 18.04 में uda के लिए igpu का उपयोग करने के लिए और cuda के लिए nvidia gpu के लिए, डिफ़ॉल्ट nvidia ड्राइवर स्थापित करें, nvidia- सेटिंग खोलें और Intel gpu का उपयोग करने के लिए सेट करें। उसके बाद, नोव्यू ड्राइवरों और एनवीडिया ड्राइवरों के हिस्से को ब्लैकलिस्ट करें:

इस तरह से /etc/modprobe.d/blacklist-nvidia.conf और टिप्पणी लाइनें खोलें:

#blacklist nvidia
blacklist nvidia-drm
#blacklist nvidia-modeset
#alias nvidia off
alias nvidia-drm off
#alias nvidia-modeset off

उसके बाद /etc/modprobe.d/blacklist-nvidia-nouveau.conf खोलें और उन पंक्तियों को जोड़ें:

blacklist nouveau
options nouveau modeset=0

यह सुनिश्चित करने के लिए कि नोव्यू अक्षम हैं, आप उन्हें /etc/modprobe.d/blacklist.conf में भी ब्लैकलिस्ट कर सकते हैं: अंत में जोड़ें:

#Blacklist nouveau drivers
blacklist nouveau
blacklist lbm-nouveau
alias nouveau off
alias lbm-nouveau off

फिर रिबूट।

nvidia-smiएनवीडिया की जांच करने का प्रकार लोड किया गया है, और lspci -nnk | grep -iA2 3Dउपयोग में ड्राइवर की जांच करने के लिए टाइप एनवीडिया है न कि नोव्यू।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.