Làm cách nào để phát hiện và định cấu hình đầu ra với xrandr?


33

Tôi có màn hình DELL U2410 được kết nối với máy tính để bàn Compaq 100B được trang bị card đồ họa AMD / ATI tích hợp (AMD E-350). O / S được cài đặt là Ubuntu 10.04 LTS.

Máy tính được kết nối với màn hình thông qua kết nối DVI.

Vấn đề là tôi không thể đặt độ phân giải của máy tính để bàn thành 1920x1200. Độ phân giải tối đa được phép là 1600x1200.

Làm một số nghiên cứu tôi tìm thấy về các xrandrtiện ích. Thật không may, khi cố gắng sử dụng nó, tôi không thể cấu hình nó với độ phân giải cần thiết. Đầu tiên, nó không báo cáo tên đầu ra (được cho là DVI-0), defaultthay vào đó , nói . Không có nó tôi không thể sử dụng --fbtùy chọn.

Tiện ích EDID dường như xác định tốt màn hình. Đây là đầu ra từ get-edid:

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    Identifier "DELL U2410"
    VendorName "DEL"
    ModelName "DELL U2410"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Max dot clock (video bandwidth) 170 MHz
    # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

    Mode    "1920x1200" # vfreq 59.950Hz, hfreq 74.038kHz
        DotClock    154.000000
        HTimings    1920 1968 2000 2080
        VTimings    1200 1203 1209 1235
        Flags   "-HSync" "+VSync"
    EndMode
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
EndSection

nhưng xrandr -qlệnh trả về:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  

Khi tôi cố gắng đặt độ phân giải, tôi nhận được:

$ xrandr --fb 1920x1200
xrandr: screen cannot be larger than 1600x1200 (desired size 1920x1200)

$ xrandr --output DVI-0 --auto
warning: output DVI-0 not found; ignoring

Làm cách nào để đặt độ phân giải màn hình thành 1920x1200? Tại sao không xrandrxác định DVI-0đầu ra?

Lưu ý rằng cùng một máy tính chạy phiên bản Ubuntu cao hơn 10.04 sẽ phát hiện độ phân giải chính xác mà không gặp vấn đề gì. Trên máy này, tôi không thể nâng cấp do một số vấn đề tương thích phần cứng cũ.

Ngoài ra, tôi không thấy bất kỳ trình điều khiển màn hình tùy chọn nào có sẵn trong hộp thoại Trình điều khiển phần cứng.

----

CẬP NHẬT :

Theo câu trả lời cho câu hỏi này , tôi đã nhận được một số tiến bộ. Bây giờ chế độ cần thiết được liệt kê trong xrandr -qdanh sách, nhưng tôi không thể chuyển sang chế độ đó. Sử dụng applet Màn hình (hiện hiển thị chế độ mới), tôi nhận được phản hồi rằng:

The selected configuration for displays could not be applied. Could not set the configuration to CRTC 262.

Từ dòng lệnh trông như thế này:

$ cvt 1920 1200 60
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
  1920x1200_60.00 (0x120)  193.0MHz
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
   1920x1200_60.00   59.8  

$ xrandr --output default --mode 1920x1200_60.00
xrandr: Configure crtc 0 failed

Một thông tin khác (nếu nó giúp được ai):

$ sudo lshw -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc
       vendor: ATI Technologies Inc
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

----

CẬP NHẬT 2 : Đây là lshwdanh sách cập nhật :

$ sudo lshw -numeric -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc [1002:9802]
       vendor: ATI Technologies Inc [1002]
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

Nếu tôi kiểm tra chính xác, bạn có Màn hình LED - nhưng phần mềm "xrandr" của bạn muốn định cấu hình "crtc" - đó là Màn hình Cathode. Tôi không biết phải làm gì bây giờ - nhưng có lẽ bạn thấy một số cài đặt bạn có thể thay đổi để nó cố gắng nói chuyện với màn hình LED của bạn. Mong cái này giúp được chút ít. Lấy làm tiếc.
Petantic

@Peterling - Tôi nhận thấy đây là một thông báo định kỳ cho báo cáo khác về lỗi này, nhưng sự thật là nó thật kỳ lạ. Tôi không biết phải làm gì về việc này.
ysap

1
Bây giờ một "crtc" chỉ là một thuật ngữ. Điểm ảnh vẫn được hiển thị theo dòng và pixel và crtc là cơ chế đồng hồ trong logic video tạo ra thời gian chính xác cho độ phân giải nhất định. Khi thuật ngữ được giới thiệu, "crtc" là một mạch tích hợp riêng thực tế và màn hình chỉ có thể là CRT.
John S Gruber

Bạn đang sử dụng trình điều khiển video nào?
John S Gruber

@JohnSGruber - làm thế nào bạn có thể nói?
ysap

Câu trả lời:


9

Tôi nghĩ rằng bạn sẽ nhận được một nơi nào đó khi bạn nhận được điều này để tăng:

Màn hình 0: tối thiểu 640 x 400, hiện tại 1600 x 1200, tối đa 1600 x 1200    
                                                  ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
 

Sau đó, tôi nghĩ rằng, bạn sẽ có thể có được xrandr để sử dụng chế độ tùy chỉnh mà bạn đã học cách xác định (nếu bạn vẫn cần nó sau khi khắc phục sự cố cơ bản).

Tăng kích thước màn hình ảo

Bài viết [Điều này] [1] đề nghị thêm một dòng ảo vào phần Màn hình của tệp cấu hình xorg.conf để đặt kích thước màn hình tối đa. Đó là từ một vài năm trước. Tuy nhiên, khi kiểm tra điều này, tôi không thể đặt dòng Ảo vượt quá kích thước màn hình tối đa được cung cấp bởi xrandr -q. Tuy nhiên, với trình điều khiển và phần cứng của tôi, giá trị đó đã khá lớn 8192x8192.

Bạn có thể thử nghiệm bằng cách thêm cái này dưới dạng /etc/X11/xorg.conf, ví dụ:

Mục "Màn hình"
    Định danh "Màn hình của tôi"
    Tiểu mục "Hiển thị"
        Ảo 2048 2048
    Kết thúc
Kết thúc

Bạn có thể sẽ không thấy /etc/X11/xorg.conf vì trình điều khiển video ngày nay sẽ cố gắng xác định mặc định hợp lý cho mọi thứ và các bản phân phối hiện đại loại bỏ tệp đó. Nó sẽ được sử dụng nếu có, tuy nhiên.

Nếu bạn đã có tệp /etc/X11/xorg.conf, bạn có thể thử thêm dòng Ảo ở trên vào phần phụ Hiển thị của phần Màn hình của nó

Tôi khuyên bạn nên kiểm tra điều này với trình chỉnh sửa dòng lệnh vì có khả năng nó sẽ làm rối tung khả năng đăng nhập của bạn với GUI GUI và bạn có thể cần phải thực hiện Alt-Ctrl-F1, đăng nhập và chỉnh sửa (hoặc xóa) tệp sử dụng các công cụ dòng lệnh. Bất kỳ lỗi nào trong /var/log/Xorg.0.log hoặc /var/log/Xorg.1.log.

Trên thực tế, bạn có thể và nên kiểm tra điều này bằng cách đăng nhập vào một userid bổ sung trên hệ thống của bạn (không đăng xuất khỏi userid thông thường của bạn) và kiểm tra từ phiên mới, bằng cách đó bạn có thể sử dụng Alt-Ctrl-F7 để quay lại làm việc GUI nếu có sự cố. Trong trường hợp bạn đang sử dụng id người dùng bổ sung để đăng nhập mà không đăng xuất khỏi nhật ký đầu tiên, nhật ký thích hợp sẽ là /var/log/Xorg.1.log. Đừng đăng xuất khỏi phiên làm việc hoặc khởi động cho đến khi bạn có xorg.conf hoạt động hoặc đã xóa lại nó.


Sử dụng trình điều khiển đồ họa khác

Một bài viết khác tôi đọc đã giải quyết vấn đề này bằng cách chuyển đổi trình điều khiển, nhưng tôi thấy từ câu hỏi của bạn rằng chương trình Trình điều khiển bổ sung không cung cấp cho bạn bất kỳ giải pháp thay thế nào. (Tôi cho rằng đó là những gì bạn muốn nói ở trên khi bạn đề cập đến hộp thoại "Trình điều khiển phần cứng". Trừ khi bạn thay đổi trình điều khiển với chương trình Trình điều khiển bổ sung, bạn sẽ sử dụng trình điều khiển mà kernel cho là phù hợp với thẻ video hoặc logic video trên bo mạch chủ của bạn.

Đối với OP, từ những gì bạn mô tả trong các nhận xét của mình ở trên, có vẻ như hệ thống của bạn sẽ sử dụng trình điều khiển radeon, nhưng không. Tôi sử dụng trình điều khiển radeon và thường đặt độ phân giải ngang của tôi thành 1920 (tối đa cho trình điều khiển / thẻ dường như là 8192). Trình điều khiển vesa và fb là trình điều khiển rất cơ bản cho phần cứng cũ - đủ cũ để các màn hình thời đó không có màn hình rất lớn.


Nâng cấp Ubuntu

Nếu bạn đang chạy một máy tính mới hơn phiên bản Ubuntu mà bạn đã cài đặt và đặc biệt, nhân Linux của nó thì hoàn toàn có khả năng hạt nhân sẽ không nhận ra bộ điều hợp đồ họa của bạn. Nếu đó là trường hợp bạn cần nâng cấp phần mềm Ubuntu có hỗ trợ cho thiết bị của bạn.

Vì anh ta không thể chạy fglrx, điều này không may là trường hợp của ysap. Do tính mới của thiết bị này so với bản phát hành ysap đang chạy, không có hỗ trợ nào cho [1002.9802] trong nhân Linux Lucid (hoặc Maverick). Hỗ trợ đầu tiên cho thiết bị này xuất hiện trong kernel Natty 2.6,38. Để kiểm tra hỗ trợ cho một thiết bị cụ thể trong các mô-đun hạt nhân, bạn có thể truy cập tệp / lib / mô-đun / phiên bản kernel /module.alias và tìm kiếm giá trị của bộ điều hợp. Đối với thiết bị đó:

grep v00001002d00009802 /lib/modules/2.6.38-10-generic/modules.alias

Để kiểm tra hỗ trợ kernel của Natty. Nó trả lời:

alias pci:v00001002d00009802sv*sd*bc*sc*i* radeon

Để thử nghiệm, bạn có thể thử khởi động CD trực tiếp trên hệ thống và thử đặt độ phân giải bạn muốn trong môi trường đó (nhấp vào Dùng thử Ubuntu, thay vì Cài đặt).

Nhận hỗ trợ trình điều khiển phù hợp cũng có thể cho phép các phương tiện đồ họa hiện đại như kết xuất trực tiếp và hỗ trợ OpenGL, cải thiện đáng kể hiệu năng và tính thẩm mỹ.

Đối với máy tính cá nhân, bạn cũng có thể sử dụng hạt nhân được nâng cấp nếu một hạt tương thích có sẵn cho phiên bản Ubuntu của bạn. Đối với một máy tính sản xuất, có thể cần phải nâng cấp Ubuntu lên phiên bản mới hơn, khi có sẵn, vì mục đích đáng tin cậy và mạnh mẽ.


1
Điều kỳ lạ là tôi không có xorg.confbất cứ nơi nào trong hệ thống tập tin. Nhưng, nếu sự hiểu biết của tôi là đúng, trong gnome hiện đại, tập tin này đã lỗi thời và không bắt buộc. Tôi đã tìm thấy xorg.conf.dchương trình và trang người đàn ông có liên quan.
ysap

/etc/X11/xorg.conf không còn cần thiết cho phần cứng của hầu hết các hệ thống, nhưng nó không bị lỗi thời - bạn có thể cung cấp một để đặt chi tiết bạn cần. Đó là cách tôi đã thử ở trên. Những chi tiết đó cũng có thể được đặt trong một tệp bạn thêm vào thư mục /etc/X11/xorg.conf.d/. Tôi sẽ thêm một ví dụ.
John S Gruber

Hãy xem nếu điều đó rõ ràng hơn. Xin vui lòng cho tôi biết nếu không.
John S Gruber

Cảm ơn, John. Tôi đã kiểm tra tệp xorg.conf mà bạn đã đăng và thực sự nó đã làm hỏng màn hình của tôi khi tôi chuyển tài khoản, vì vậy tôi phải xóa nó.
ysap

Trên Ubuntu 10.04 có một applet "Ổ đĩa cứng" trong menu Hệ thống / Quản trị. Applet này liệt kê không có trình điều khiển thay thế. Tuy nhiên , tôi mới nhận ra rằng PC đang được đề cập hiện không được kết nối với internet (chúng tôi đang ở bản demo ngay bây giờ), vì vậy có thể một khi chúng tôi quay lại văn phòng, tôi sẽ thấy một trình điều khiển ATI thay thế. Tôi mơ hồ nhớ từ quá khứ rằng các trình điều khiển độc quyền không giải quyết được vấn đề và tôi không bao giờ có thể có được độ phân giải đó với 10.04.
ysap

15

Tôi cũng gặp phải vấn đề này (đã từng có màn hình Dell 23))

Đầu tiên, xác định giao diện nào được kết nối với màn hình của bạn:

$ xrandr -q

Đầu ra lệnh sẽ là:

mukolla@pk:~$ xrandr -q

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192

LVDS connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

HDMI-0 disconnected (normal left inverted right x axis y axis)

VGA-0 connected ......

   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

Màn hình ngoài được kết nối với cổng VGA-0 . Điều này rất quan trọng để thông báo.

Bây giờ thêm một chế độ mới để hiển thị:

$ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA-0 1920x1080_60.00
$ xrandr --output VGA-0 --mode 1920x1080_60.00

Điều này không hoạt động để thay đổi màn hình sẵn có, phải không?
KhoPhi 17/08/2015

Lỗi BadMatch với ex.: xrandr --addmode "DVI-I-1" "1280x800_60.00"Ý tưởng nào? (DVI-I-1 là kết nối)
Sức mạnh của Aquarius

@AquariusPower Hãy thử DVI-1-1thay vìDVI-I-1
WinEunuuchs2Unix

6

Ngày nào cũng vậy. Tôi gặp vấn đề này khi kết nối với hệ thống Ubuntu không có màn hình (trước đây có màn hình Dell 24 ", nhưng nó cần ở nơi khác). Tôi không đủ sáng để biết tại sao điều này hoạt động, nhưng đây là một loạt lệnh hoạt động với tôi - không cần chỉnh sửa tập tin.

Lưu ý: rằng khi bạn khởi động lại, bạn cần chạy lại chúng. Tôi đề nghị một kịch bản shell.

gtf 1920 1200 60 -x
xrandr --newmode "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
xrandr --addmode VGA1 1920x1200_60.00
xrandr --output VGA1 --mode 1920x1200_60.00

Điều này làm việc tốt đáng kinh ngạc!
Dân gian van Heusden

4

Tôi đã thêm các dòng trên (có đầu ra hơi khác so với lệnh gtf) vào tệp .xprofile trong thư mục chính của tôi. Làm việc như một giấc mơ. Xem bên dưới.

gtf 1920 1080 60 -x

xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

xrandr --addmode Virtual1 1920x1080_60.00

xrandr --output Virtual1 --mode 1920x1080_60.00

Tôi đang sử dụng Trình phát Vmware, do đó tên của đầu ra.


2

hãy thử cài đặt arandr để thiết lập cấu hình xrandr của bạn với GUI .

sudo apt install arandr

sau đó thiết lập cho bạn độ phân giải, hướng và vị trí hiển thị của bạn và cuối cùng lưu cấu hình.

bạn có thể thấy đầu ra của nó là một tập lệnh shell (.sh) thường trên ~ / .screenlayout

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.