बाहरी मॉनीटर के लिए xrandr में नया मोड नहीं जोड़ा जा सकता


16

आज मैं अपने दूसरे मॉनिटर को अपनी नोटबुक से जोड़ने का प्रयास कर रहा था। मेरे पास है:

  • एनवीडिया ग्राफिक कार्ड
  • 304.43 ड्राइवर [xrandr 1.2 का समर्थन करें]
  • आर्च्लिनक्स [अप-टू-डेट]
  • कमाल है
  • xrandr 1.3

मेरी समस्या मेरे बाहरी मॉनिटर (वीजीए) के लिए 640x480 से बड़े संकल्प के साथ है। xrandr -q:

Screen 0: minimum 8 x 8, current 1920 x 800, maximum 8192 x 8192
VGA-0 connected 640x480+1280+0 (normal left inverted right x axis y axis) 0mm
   640x480        59.9*+
   320x240       120.1  
LVDS-0 connected 1280x800+0+0 (normal left inverted right x axis y axis) 331m
   1280x800       59.9*+
HDMI-0 disconnected (normal left inverted right x axis y axis)

जैसा कि हम देख सकते हैं कि वीजीए के लिए कोई उच्च रिज़ॉल्यूशन नहीं है, इसलिए मैं नया मोड जोड़ता हूं:

xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')

मैंने खिड़कियों के नीचे avaible रिज़ॉल्यूशन और ताज़ा दर की जाँच की: उनमें से एक 1024x768x70 था (मेरे मॉनिटर के ओएसडी ने कहा कि यह 70.4HZ है)। नया मोड बनाने के बाद, मैं इसे जोड़ना चाहता था:

xrandr --addmode VGA-0 1280x1024_70.40

और ... यह विफल रहा:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  29
  Current serial number in output stream:  30

Google से मुझे पता चला कि पुराने xrandr / nvidia ड्राइवरों में avaible मोड की सूची के साथ समस्या थी, लेकिन अब nvidia ड्राइवरों द्वारा xrandr 1.2 के समर्थन के साथ यह बेहतर होना चाहिए। मैं कम रिज़ॉल्यूशन और रिफ्रेश रेट (उदाहरण। 1024x768x50) के साथ भी कोशिश करता हूं, लेकिन मुझे वही त्रुटि मिली है। मैं इस समस्या से निपटने के लिए विचारों से बाहर हूँ ...

जवाबों:


11

मुझे यकीन नहीं है कि अगर आपने स्ट्रिंग का अनुसरण xrandr --newmodeस्वयं किया है या आपने इसे कहीं और से कॉपी किया है, लेकिन यह अपने वर्तमान रूप में काम नहीं करेगा।

मैं इसे चरणबद्ध तरीके से करने की सलाह देता हूं।

सबसे पहले, आपको नया मोड जेनरेट करना होगा। मैं एलसीडी या 85Hz सीआरटी मॉनिटर के साथ 60 हर्ट्ज का उपयोग करने की सलाह देता हूं

gtf 1280 1024 60

आपको कुछ ऐसा मिलेगा:

 # 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz 
 Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

फिर इस मोड को 'मोडलाइन' से शुरू होने वाली लाइन को कॉपी-पेस्ट xrandrकरके उपयोग करें --newmode

 xrandr --newmode "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync Vsync

फिर इस मोड को VGA-0 में जोड़ें:

xrandr --addmode VGA-0 "1280x1024_60.00"

और अंत में आप इस नए मोड का उपयोग कर सकते हैं:

 xrandr --output VGA-0 --mode 1280x1024_60.00

आप सही हैं, मैं इसे नहीं बनाता: xrandr --newmode $(gtf 1280 1024 70.4 | grep Modeline | sed s/Modeline\ // | tr -d '"')अपने आप से, लेकिन मैंने इसे छोटे टुकड़ों में रखा, यह देखने के लिए कि यह कैसे काम करता है, पहले gtf 1280 1024 70.4, फिर grep और अंत में sed और tr के साथ। यह वही आउटपुट देता है जो आपके पास xrandr --newmodeएक अंतर के साथ होता है - आपके पास "1280x1024_60.00", I have 1280x1024_60.00` है - अंत में मैं tr -d '"''' '' को हटाने के लिए उपयोग कर रहा हूं । '' दुर्भाग्य से मेरे पास अब भी वही त्रुटि है।
बोर्गो

इतनी अजीब ताज़ा दर क्यों? 70.4? यदि CRT के मामले में एलसीडी या 85Hz है तो 60Hz का उपयोग करें। और इसे चरणबद्ध तरीके से करें, जैसा मैंने लिखा है।
पावेल रोमियन

अब मैंने 60Hz का उपयोग करते हुए इसे स्टेप बाई स्टेप करने की कोशिश की, और अभी भी वही त्रुटि है।
बोरगो

1
मेरा रिज़ॉल्यूशन 1280x1024 है, और मैं इस मोड को बनाने (न्यूमोड) / ऐड (एडमोड) करने की कोशिश कर रहा हूं:"1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
बोर्गो

1
अभी भी वही त्रुटि है: X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 153 (RANDR) Minor opcode of failed request: 18 (RRAddOutputMode) Serial number of failed request: 29 Current serial number in output stream: 30 केवल दो अंतिम नंबर बदल गए हैं।
बोर्गो

4

जब तक मैंने पहले जोड़े गए "1280x1024_60.00" को हटा दिया, तब तक यह बैडमैच त्रुटि समस्या थी, क्योंकि यह कभी भी दोहरे उद्धरण मोड का सफलतापूर्वक उपयोग नहीं कर सका। आखिरकार, मदद किए गए मोड के लिए एक बेहतर नाम का एहसास हुआ।

इसलिए मैंने निम्नलिखित को सामान्य उपयोगकर्ता के रूप में चलाकर "1280x1024_60.00" हटा दिया:

$ xrandr --version 
reports 1.4.0 and 1.4
$ xrandr | grep 1280 #Do you see any 1280x1024 anywhere?  Does it have double quotes?
$ xrandr --verbose --delmode VGA1 '"1280x1024_60.00"'
$ xrandr --verbose --rmmode '"1280x1024_60.00"' 

सिस्टम में कबाड़ को हटाना और हटाना अक्सर काम नहीं करता था या फिर वापस आ जाता था, हालांकि मैं इसे अपने खाते और रूट से हटा देता था। यह आमतौर पर VGA1 के बजाय VIRTUAL1 नाम के आउटपुट के तहत वापस आएगा।

जंक छोड़ना और अपने नए बनाए गए मोड के अंत में एक पत्र को जोड़ना और यहां तक ​​कि .00 को छोड़ना बहुत आसान हो गया, इसलिए 1280x1024_60B । नीचे ध्यान से देखें - Thenewmode पैरामीटर के आसपास दोहरे उद्धरण चिह्नों हैं, लेकिन NOT --addmode और न ही -mode

$ xrandr --verbose --newmode "1280x1024_60B" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
$ xrandr --verbose --addmode VGA1 1280x1024_60B
$ xrandr --verbose --output VGA1 --mode 1280x1024_60B

थोड़ा स्क्रीन झिलमिलाहट और मेरा बाहरी 19 "स्क्वायर मॉनिटर 1280x1024 पर चल रहा है।


घंटों के शोध के बाद यह एकमात्र समाधान था, बहुत बहुत धन्यवाद, आपने मेरा दिन बचाया। चीयर्स
शनील सोनी

हालांकि एक सत्र के बाद हारता है, इसे स्थायी बनाने के लिए कोई समाधान?
शनील सोनी

0

यदि आप VM (विशेष रूप से, वर्चुअलबॉक्स) पर लिनक्स चला रहे हैं, तो सुनिश्चित करें कि VM के पास पर्याप्त वीडियो मेमोरी है।

बहुत कम वीडियो मेमोरी xrandr चलाने का प्रयास करते समय इस त्रुटि का कारण बनती है।


0

मैं इसी तरह की समस्या को हल करने के लिए 2 घंटे बिताता हूं और समस्या वीजीए केबल में थी। बदलें vga केबल मैं xrandr या xorg का उपयोग किए बिना 1920x1080 के लिए संकल्प बदल सकते हैं यह बहुत अजीब है।

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