ทำไมข้อผิดพลาด xrandr“ BadMatch”,“ BadName”,“ Gamma Failed” เกิดขึ้น?


13

ฉันไม่พบวิธีแก้ไขข้อผิดพลาดเดียวแม้ว่าจะมีผู้ใช้จำนวนมากที่มีพวกเขาอยู่

ดังนั้นฉันต้องการลองหาทางออกด้วยตนเอง อย่างไรก็ตามฉันไม่รู้ว่าทำไมมันถึงเกิดขึ้น ...

มีใครบ้างที่รู้ว่าทำไม คุณไม่ได้บอกว่าทำไมแต่ละข้อผิดพลาดเกิดขึ้นเพียงหนึ่งจะดี!

ตัวอย่าง:

ข้อผิดพลาด BadMatch:

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

ข้อผิดพลาดของ BadName:

Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 11 (RRQueryOutputProperty)
Serial number of failed request: 39
Current serial number in output stream: 39

ข้อผิดพลาดของแกมม่าล้มเหลว:

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
default connected primary 1920x1080+0+0 0mm x 0mm
   1920x1080       0.0*

คำสั่งใดที่คุณเรียกใช้เพื่อสร้างแต่ละคำสั่ง
user.dz

1
cvt resolution- แล้วปกติ--newmode, --addmodeและ--outputคำสั่ง
TellMeWhy

คำตอบ:


12

ข้อมูลขั้นต่ำ

คุณจะถามคำถามจากนั้นเพิ่มลิงค์ที่สร้างโดยคำสั่งนี้

sudo apt-get install pastebinit; sudo sh -c "lsb_release -sd; dmidecode -s system-product-name; echo ==; lshw -c display; echo ==; xrandr --verbose; echo ==; cat /etx/X11/xorg.conf" | tee ~/Desktop/ubuntu-graphic-info.txt | pastebinit


การแก้ไขปัญหา

คุยกันนิดหน่อย

ซับซ้อนกว่าที่ฉันคิดว่าที่ผมพยายามเล่นกับ Intel GPU xrandrของฉันบางครั้งใช้ บางครั้งฉันได้รับข้อผิดพลาดที่ไม่คาดคิด นี่เป็นฤดูร้อนสำหรับประสบการณ์ของฉัน

นี่คือรายการสแต็คเต็มรูปแบบที่เรียบง่ายอย่างที่ฉันเข้าใจ

xrandr
  └─ Xorg (w/ driver specific module)
      └─ kernel
          └─ driver
               │ 
             graphic card
               └─ cables (kvm switch/connection adapter)
                    └─ monitor

มันเป็นสแต็คขนาดใหญ่ที่ใช้ในการแก้ไขปัญหายากขึ้นกับฮาร์ดแวร์เก่าและการอัพเดทไดรเวอร์ที่เป็นกรรมสิทธิ์แม้กระทั่งการสัมผัสพินที่ไม่ดีในสายเคเบิล DB-15 VGA (หรือสายเคเบิลราคาถูก) สามารถสร้างความแตกต่างได้ ที่จริงแล้วปัญหาส่วนใหญ่ที่ฉันอ่านที่นี่ใน Ask Ubuntu นั้นเกี่ยวกับข้อมูลEDID ที่หายไป / ผิด ๆจากจอมอนิเตอร์การกล่าวโทษ: สายเคเบิล (kvm สวิตช์ / อะแดปเตอร์เชื่อมต่อ) คุณสามารถสังเกตได้ว่าอย่างรวดเร็วจากการxrandr --verboseส่งออก

กรณีที่หลายคนยังเป็นไดรเวอร์ที่ จำกัด เพราะโหมดของข้อมูลที่ไม่สมบูรณ์ EDID / ผิดบางส่วนจากการตรวจสอบ (ความผิดพลาดของผู้ผลิต) ผู้ใช้จะเอาชนะนี้บางโดยการเขียนที่กำหนดเองxorg.confเพื่อแทนที่: โหมด HSync & VSync, EDID, DPI ... ขึ้นอยู่กับไดรเวอร์ ( nvidiaสำหรับ ตัวอย่างสามารถ IgnoreEDID จากจอภาพ)

ฉันแนะนำสิ่งนี้ให้อ่านสำหรับผู้ใช้ขั้นสูงหรือผู้ที่ให้ความช่วยเหลือที่นี่:

หมายเหตุ:

ระมัดระวังในขณะที่อ่านเอกสารเก่าและโพสต์ที่ให้บริการโซลูชั่น ดีกว่าเพื่อค้นหาเอกสารประกอบสำหรับไดรฟ์เฉพาะที่ใช้งานอยู่

  • ตรวจสอบวันที่โพสต์วันที่แก้ไขล่าสุดหรือเวอร์ชันซอฟต์แวร์
  • modeset, DRIหรือfb(framebuffer) ประเภทขับรถ (เพิ่งทราบฉันไม่ใช่ผู้เชี่ยวชาญ)
  • Xorg ทำสิ่งต่าง ๆ มากมายต่อการกำหนดค่าอัตโนมัติดังนั้นจึงxorg.confไม่ได้ถูกสร้างขึ้นตามค่าเริ่มต้น แม้ว่าผู้ใช้จะสร้างขึ้นมาเขาก็ไม่ควรสร้างทุกส่วน แต่แทนที่สิ่งที่ต้องการ มันคือการกำหนดค่าได้ทันที

ความเข้าใจของฉันเกี่ยวกับข้อผิดพลาด xrandr / X

ลูกชาย ( xrandr) ดูเหมือนจะไม่ทราบว่าพ่อของเขามีความสามารถหรือตกลงที่จะซื้อเขา (ความสามารถในการขับขี่ทั้งหมด) ดังนั้นเขาจึงไปที่แม่ของเขา (Xorg) และขอให้เธอถามพ่อของเขาสำหรับสิ่งที่เขาต้องการ ดังนั้นสถานการณ์ต่อไปนี้จะเกิดขึ้น:

  • อัตราส่วนที่สูง: ลูกชาย→ (:) ยอมรับ) แม่→ (:) ยอมรับ) พ่อทุกคนมีความสุข!
  • อัตราส่วนต่ำ: ลูกชาย→ (: | ยอมรับ) แม่→ (ปฏิเสธ XD) พ่อบางครั้งชีวิตก็ยาก!
  • กรณีที่หายาก: ลูกชาย→ (X / ปฏิเสธ) แม่ -x- (: | เป็นกลาง) พ่อเวลาสำหรับแผน B!

ดังนั้นเราจึงได้รับข้อผิดพลาดเหล่านั้นเมื่อ Xorg หรือไดรเวอร์ไม่สามารถดำเนินการหรือปฏิเสธคำขอ xrandr เนื่องจาก:

  • การตั้งค่า Xorg ปัจจุบัน
  • ความสามารถของไดร์เวอร์
  • ความสามารถของกราฟิกการ์ด
  • ความสามารถในการตรวจสอบที่ได้รับจาก EDID
  • ข้อบกพร่องในหนึ่งในนั้น ได้แก่ xrandr

การรวบรวมข้อมูลการดีบักสำหรับกราฟิกทั่วไป!

ทำไม? ฉันดูคำถามมากมายที่เกี่ยวข้องกับxrandr& การแก้ปัญหาพวกเขาขาดข้อมูลมากมายเกี่ยวกับการตั้งค่าแบบเต็มสแต็ก ชุดพิจารณาพิจารณาเฉพาะคำสั่งที่ล้มเหลวครั้งสุดท้าย แม้กระนั้นฉันขอแนะนำให้ใส่ผลลัพธ์ทั้งหมดในคำถามเพื่อให้เราสามารถค้นหาความคล้ายคลึงกันและเชื่อมโยงปัญหาที่เกี่ยวข้อง

หากไม่พบข้อมูล EDID ให้เริ่มต้นด้วย:

  • จอภาพมีการเชื่อมต่อทางกายภาพอย่างไรเช่นใช้ KVM หรือไม่ อะแดปเตอร์เชื่อมต่อใด ๆ เช่น HDMI เป็น VGA?
  • คุณลองสายอื่นแล้วหรือยัง
  • ยี่ห้อ / รุ่นของจอภาพคืออะไร

นี่คือรายการคำสั่งที่เป็นประโยชน์บางส่วน

  1. ข้อมูลความเป็นมา

    sudo dmidecode -s system-product-name
    lsb_release -sd
    Xorg -version
    xrandr -v
    sudo lshw -c display
    
  2. ข้อมูลพื้นฐาน

    xrandr --verbose
    cat /etx/X11/xorg.conf
    more /var/log/Xorg.0.log
    
  3. แก้ไขคำสั่งและตัวเลือก

    sudo apt-get install edid-read
    ls /sys/class/drm/*/edid | xargs -i{} sh -c "echo {}; parse-edid < {}"
    
    xrandr --verbose ...
    xtrace xrandr --verbose ...
    
    #no need, only to compare between releases for changes, the default driver parameters
    sudo sh -c "ls /sys/module/<driver-module-from-lshw>/parameters/ | xargs -L1 -i{} sh -c 'echo -n {} \" \" ; cat /sys/module/<driver-module-from-lshw>/parameters/{}'"
    
    # additional desktop environment setting, for general cases, gnome/unity
    cat ~/.config/monitors.xml
    cat /etc/gnome-settings-daemon/xrandr/monitors.xml
    gsettings list-recursively org.gnome.settings-daemon.plugins.xrandr
    
  4. ตัวเลือกการดีบักขั้นสูง

    เพิ่มOption "ModeDebug" "true"ไปSection "Device"ที่xorg.confดูการแก้ไขข้อบกพร่อง nvidia ด้านล่าง

ข้อมูลการแก้ปัญหาเพิ่มเติมสำหรับกราฟิก NVIDIA!

  • cat /proc/driver/nvidia/version สำหรับรุ่นที่แม่นยำ
  • กำลังเปิดใช้งานข้อมูล debug ของ nvidia เป็น /var/log/Xorg.0.log

    gksu nvidia-settings
    # go to X configuration then export, copy only device section
    sudo mkdir /etc/X11/xorg.conf.d/
    sudo vim /etc/X11/xorg.conf.d/90_my_nvidia_hacks.conf
    # paste the device section
    
    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "NVS 3100M"
        Option "ModeDebug" "true"
    EndSection
    
    # add to it this line `Option "ModeDebug" "true"`
    
  • เอกสารฉบับfile:///usr/share/doc/nvidia-*/html/เต็มที่มองหารุ่นที่ทำงานเหมือนกันมีการเปลี่ยนแปลงมากมายในตัวเลือกที่มีอยู่และการตั้งค่าเริ่มต้น


กรณีทดสอบการดีบักพร้อมไดรเวอร์ Intel

xrandrนี่คือกรณีที่ว่าผมสามารถทำซ้ำมันและมันดูเหมือนว่าข้อผิดพลาดใน เป็นที่ชัดเจนจากxtrace& Xorg.0.logที่เฟรมบัฟเฟอร์ไม่ได้ถูกปรับขนาดในชุดที่ 1

#Seems a bug in xrandr
#Xorg error when changing to bigger resolution without changing a previously defined scale.

#-----------
#system info

$ xrandr --version

xrandr program version       1.4.3
Server reports RandR version 1.4

$ sudo sh -c "lsb_release -dc;echo; uname -a; Xorg -version;echo; lshw -C display"

Description:    Ubuntu 15.10
Codename:   wily

Linux BlueSkies 4.2.0-25-generic #30-Ubuntu SMP Mon Jan 18 12:31:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

X.Org X Server 1.17.2
Release Date: 2015-06-16
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.13.0-68-generic x86_64 Ubuntu
Current Operating System: Linux BlueSkies 4.2.0-25-generic #30-Ubuntu SMP Mon Jan 18 12:31:50 UTC 2016 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.2.0-25-generic root=UUID=9f0530d5-e0eb-43fa-b99b-000fa742cf10 ro persistent quiet splash vt.handoff=7
Build Date: 12 November 2015  05:33:29PM
xorg-server 2:1.17.2-1ubuntu9.1 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.32.6
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.

  *-display               
       description: VGA compatible controller
       product: 3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:26 memory:f6400000-f67fffff memory:e0000000-efffffff ioport:f000(size=64)

$ sudo sh -c "ls /sys/module/i915/parameters/ | xargs -L1 -i{} sh -c 'echo -n {} \" \" ; cat /sys/module/i915/parameters/{}'"

disable_display  N
disable_power_well  1
disable_vtd_wa  N
edp_vswing  0
enable_cmd_parser  1
enable_execlists  0
enable_fbc  -1
enable_hangcheck  Y
enable_ips  1
enable_ppgtt  1
enable_psr  0
enable_rc6  3
fastboot  N
invert_brightness  0
load_detect_test  N
lvds_channel_mode  0
lvds_downclock  0
lvds_use_ssc  -1
mmio_debug  0
modeset  -1
nuclear_pageflip  N
panel_ignore_lid  1
prefault_disable  N
preliminary_hw_support  0
reset  Y
semaphores  -1
use_mmio_flip  0
vbt_sdvo_panel_type  -1
verbose_state_checks  Y

$ modinfo i915 

filename:       /lib/modules/4.2.0-25-generic/kernel/drivers/gpu/drm/i915/i915.ko
license:        GPL and additional rights
description:    Intel Graphics
author:         Intel Corporation
author:         Tungsten Graphics, Inc.
firmware:       i915/skl_dmc_ver1.bin
srcversion:     BB05D6968744E69AEA30DC2
...
depends:        drm_kms_helper,drm,video,i2c-algo-bit
intree:         Y
vermagic:       4.2.0-25-generic SMP mod_unload modversions

$ xrandr

Screen 0: minimum 8 x 8, current 1726 x 768, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
   1366x768      60.07*+  40.02  
   1360x768      59.80    59.96  
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   680x384       60.00  
   640x360       60.00  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VGA1 connected 360x200+1366+0 (normal left inverted right x axis y axis) 410mm x 230mm
   1366x768      59.79 +
   1280x1024     60.02  
   1280x720      60.00  
   1024x768      60.00  
   800x600       60.32  
   640x480       60.00  
   720x400       70.08* 
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Other info not collected 

$ grep intel /var/log/Xorg.0.log

#-------------------------
#case reproducing & debug

## 1st combination different mode & same scale
$ xrandr --output VGA1 --mode 720x400 --right-of LVDS1 --scale 0.5x0.5
$ xtrace xrandr --verbose --output VGA1 --mode 1366x768 --right-of LVDS1 --scale 0.5x0.5

000:<:0030: 28: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=0 y=0 mode=0x00000000 rr=Rotate_0 outputs=;
000:>:0030:32: Reply to SetCrtcConfig: status=Success(0x00)
screen 0: 1726x768 453x202 mm  96.57dpi
crtc 1:      720x400  70.08 +1366+0 "VGA1"
000:<:0031: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=1726 height=768 width[mm]=453 height[mm]=202
000:<:0032: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000fc rr=Rotate_0 outputs=0x0000004a;
000:>:0032:32: Reply to SetCrtcConfig: status=Success(0x00)

screen 0: 2049x768 538x202 mm  96.57dpi
crtc 1:     1366x768  59.79 +1366+0 "VGA1"
000:<:002f:  4: Request(36): GrabServer 
000:<:0030: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=2049 height=768 width[mm]=538 height[mm]=202
000:<:0031: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000f8 rr=Rotate_0 outputs=0x0000004a;
000:>:0030:Error 8=Match: major=140, minor=7, bad=217
000:>:0031:32: Reply to SetCrtcConfig: status=Success(0x00)
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  7 (RRSetScreenSize)
  Serial number of failed request:  48
  Current serial number in output stream:  49

## 2nd combination same mode & different scale
$ xtrace xrandr --verbose --output VGA1 --mode 1366x768 --right-of LVDS1 --scale 1x1
$ xtrace xrandr --verbose --output VGA1 --mode 1366x768 --right-of LVDS1 --scale 0.5x0.5

screen 0: 2732x768 718x202 mm  96.57dpi
crtc 1:     1366x768  59.79 +1366+0 "VGA1"
000:<:002f:  4: Request(36): GrabServer 
000:<:0030: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=2732 height=768 width[mm]=718 height[mm]=202
000:<:0031: 56: RANDR-Request(140,26): SetCrtcTransform crtc=0x00000040 transform={matrix=1.000000,0.000000,0.000000,0.000000,1.000000,0.000000,0.000000,0.000000,1.000000;}; filter name='nearest' filter params=;
000:<:0032: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000f8 rr=Rotate_0 outputs=0x0000004a;
000:>:0032:32: Reply to SetCrtcConfig: status=Success(0x00)

000:<:0030: 28: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=0 y=0 mode=0x00000000 rr=Rotate_0 outputs=;
000:>:0030:32: Reply to SetCrtcConfig: status=Success(0x00)
screen 0: 2049x768 538x202 mm  96.57dpi
crtc 1:     1366x768  59.79 +1366+0 "VGA1"
000:<:0031: 20: RANDR-Request(140,7): SetScreenSize window=0x000000d9 width=2049 height=768 width[mm]=538 height[mm]=202
000:<:0032: 56: RANDR-Request(140,26): SetCrtcTransform crtc=0x00000040 transform={matrix=0.500000,0.000000,0.000000,0.000000,0.500000,0.000000,0.000000,0.000000,1.000000;}; filter name='bilinear' filter params=;
000:<:0033: 32: RANDR-Request(140,21): SetCrtcConfig crtc=0x00000040 timestamp=0x00000000 config timestamp=0x00010a4d x=1366 y=0 mode=0x000000f8 rr=Rotate_0 outputs=0x0000004a;
000:>:0033:32: Reply to SetCrtcConfig: status=Success(0x00)

$ tail /var/log/Xorg.0.log

##1st 
[  6644.557] (II) intel(0): resizing framebuffer to 1726x768
[  6644.560] (II) intel(0): switch to mode 720x400@70.1 on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none
[  6660.882] (II) intel(0): switch to mode 1366x768@59.8 on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none

##2nd
[  6804.638] (II) intel(0): resizing framebuffer to 2732x768
[  6804.647] (II) intel(0): switch to mode 1366x768@59.8 on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none
[  6817.753] (II) intel(0): resizing framebuffer to 2049x768
[  6817.757] (II) intel(0): switch to mode 1366x768@59.8 on VGA1 using pipe 1, position (1366, 0), rotation normal, reflection none

กรณีที่น่าทึ่งจากคำถามอื่น ๆ

  • xrandr: Failed to get size of gamma for output default

    รองรับไดร์เวอร์หรือไม่มีปัญหาการโหลดไดรฟ์นี่คือชื่อเสียงnomodesetและกราฟิกเก่า xrandrใช้งานไม่ได้หากไม่มี KMS ตัวชี้วัด:

    1. sudo lshw -c displayอาจจะ*-display UNCLAIMEDยังdriver=ว่างเปล่า
    2. maximum 1920 x 1080ขนาดของบัฟเฟอร์คือขนาดหน้าจอตรงตามที่ขั้นต่ำกราฟิกมากที่สุดในขณะนี้ maximum 8192 x 8192, maximum 16384 x 16384หรือแม้กระทั่ง 32Kx32K
    3. ไม่มีชื่อปกติของการเชื่อมต่อdefault!
    4. มีการใช้ตัวแสดงซอฟต์แวร์ OpenGL, ตรวจสอบglxinfo, ตัวอย่าง: Gallium3D/llvmpipe.

    ในการทำซ้ำปัญหาที่คล้ายกัน

    สร้างกล่องเสมือนของ Ubuntu โดยไม่ต้องติดตั้งส่วนเพิ่มเติม / โมดูลของผู้เยี่ยมชม (ซึ่งรวมถึงไดรเวอร์กราฟิก vbox) มันจะช้ามากและเหมือนกันเกิดขึ้นกับเครื่องจริง

  • X Error of failed request: BadMatch (invalid parameter attributes) (RRQueryOutputProperty)

    ชื่อสถานที่ให้บริการที่ไม่ถูกต้องใช้กับผู้ใช้ควรตรวจสอบครั้งแรกสำหรับคุณสมบัติที่พร้อมใช้xrandr --output .. --set <name> <value> xrandr --propแก้ไขกรณีเดียวกันที่นี่:

    ไม่สามารถเปลี่ยนความสว่างในแล็ปท็อป

    คุณสมบัติที่พร้อมใช้งานขึ้นอยู่กับไดรเวอร์และอะแดปเตอร์ที่ใช้แล้วดังนั้นจึงอาจเป็นผลมาจากประเด็นปัญหาไดรเวอร์ก่อนหน้านี้เนื่องจากไม่มีคุณสมบัติที่ประกาศไปยัง xrandr

    ในการทำซ้ำปัญหาที่คล้ายกัน

    xrandr --output <connection-name> --set whatever 0
    
  • X Error of failed request: BadMatch (invalid parameter attributes) (RRAddOutputMode)

    ทฤษฎีปัจจุบันของฉันวางแผนที่จะทดสอบในภายหลังเมื่อฉันมีเวลา บันทึกไว้ที่นี่ ดังนั้นฉันไม่ลืมและคนอื่นอาจให้ข้อเสนอแนะบางอย่าง

    เกิดข้อผิดพลาดxrandr .. --addmodeเมื่อไดรเวอร์ปฏิเสธเนื่องจากการตรวจสอบ EDID ฉันสังเกตเห็นว่า nvidia ลบบางโหมดหลังจากเปิดใช้งาน "ModeDebug" ทั้ง:

    1. ข้อมูล EDID จากจอภาพไม่สมบูรณ์แบบ
    2. ไดรเวอร์ไม่แข็งแกร่งในการประมวลผล EDID
    3. รายการโหมดที่สร้างขึ้นไม่ได้อยู่ในช่วงการตรวจสอบที่ประกาศใน EDID

    โซลูชัน (1 & 2) เป็นการแทนที่แบบกำหนดเองของ Hsync / Vsync / PixelClock หรือไฟล์ EDID ในเครื่องที่สมบูรณ์ซึ่งไดรเวอร์บางตัวสามารถละเว้น EDID ได้

    (3) การแก้ปัญหาคือการลองรายการโหมดที่แตกต่าง สังเกตเห็นความแตกต่าง

    $ cvt 1280 800 60
    # 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz
    Modeline "1280x800_60.00"   83.50  1280 1352 1480 1680  800 803 809 831 -hsync +vsync
    
    $ gtf 1280 800 60
    
      # 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
      Modeline "1280x800_60.00"  83.46  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync
    
     # reduce mode only for flat monitors
     $ cvt -r 1280 800 60
    # 1280x800 59.91 Hz (CVT 1.02MA-R) hsync: 49.31 kHz; pclk: 71.00 MHz
    Modeline "1280x800R"   71.00  1280 1328 1360 1440  800 803 809 823 +hsync -vsync
    

    บางกรณีการแก้ไขโดยเพียงแค่เปลี่ยนเล็ก ๆ น้อย ๆ vSync 1280 800 59.80บิตที่ต่ำกว่าเช่น


1
นี่คือสิ่งที่ฉันเริ่มคิด ... คุณดูเหมือนจะพบจำนวนมากในช่วงเวลาสั้น ๆ ฉันจะตรวจสอบคำสั่ง / ไฟล์ทั้งหมดที่คุณได้รับและดูว่าฉันจะขยายได้อย่างไร ขอขอบคุณ Sneetsher อีกครั้ง!
TellMe ทำไม

@DevRobot ฉันสังเกตว่าคุณได้ค้นหาแหล่ง xrandr ดังนั้นฉันคิดว่าคุณอาจสนใจในการดีบัก ฉันได้เพิ่มกรณีที่น่าสนใจที่สามารถทำซ้ำได้ด้วยข้อมูลทั้งหมดที่ฉันสามารถรวบรวมได้
user.dz

2
ว้าวเป็นงานที่ถี่ถ้วน
Jacob Vlijm

คุณพบสิ่งทั้งหมดนี้บนโลกที่ไหน?
TellMe ทำไม

@DevRobot หลังจากครั้งแรกที่ฉันตอบที่นี่ฉันเริ่มติดตามกรณีเกี่ยวกับกราฟิกสแต็คที่นี่ใน AU และสนใจโพสต์ที่ได้รับการแก้ไขมากกว่า นอกจากนี้ฉันใช้เวลาพยายามทำซ้ำปัญหาบางอย่างและอ่านเอกสารภายนอก (ฉันเชื่อมโยงสิ่งที่ฉันพบว่าน่าสนใจ)
user.dz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.