Có thể có cấu hình DPI khác nhau cho hai màn hình khác nhau không?


123

Tôi đang sử dụng Ubuntu 12.04.3 với trình điều khiển NVidia (319) cho card đồ họa Quadro K2100M của tôi và khi tôi chuyển màn hình máy tính xách tay 3200x1800 chính của mình sang chế độ 1920x1080 (sử dụng nvidia-settings), màn hình sẽ bị mờ ...

Tôi đang sử dụng hai màn hình:

  • Màn hình chính của tôi là màn hình LCD với độ phân giải tối đa 1920x1200.
  • Màn hình máy tính xách tay của tôi (độ phân giải gốc 3200x1800) đang ngồi bên phải.

Vấn đề chính là, trên Ubuntu, phông chữ quá nhỏ trên màn hình máy tính xách tay của tôi. Do đó, tôi muốn thay đổi độ phân giải của máy tính xách tay của mình thành 1920x1080.

Đọc câu trả lời của Galgalesh , tôi đã cố gắng tính toán DPI của mình và đây là cấu hình DPI mà tôi nên có:

  • 94x94 cho màn hình LCD chính của tôi 1920x1200
  • 235x236 cho màn hình máy tính xách tay 3200x1800 của tôi

Có cách nào để có độ phân giải DPI kép với máy tính để bàn mở rộng không?


3
Chà, lái bất kỳ màn hình LCD nào ở độ phân giải không phải nguồn gốc sẽ xuất hiện mờ. Đó là bởi vì cách các pixel được đặt theo một cách cố định và tín hiệu không khớp với điều này. Chính xác thì bạn đang mong đợi điều gì xảy ra? Vô hiệu hóa quy mô có lẽ? Nhưng sau đó, nó chỉ hiển thị ở giữa màn hình chứ không phải toàn màn hình. Để hiển thị tối ưu, luôn giữ cho màn hình của bạn hiển thị ở độ phân giải màn hình gốc. Tôi không nghĩ rằng điều này có liên quan đến Ubuntu.
gertvdijk

2
@gertvdijk: Vậy bạn có cách giữ cả hai màn hình ở độ phân giải màn hình gốc của chúng không? Tôi nghĩ đó là những gì Anthony yêu cầu.
beldaz

2
@beldaz Câu trả lời của tôi là sửa đổi 1 câu hỏi . Nó không đề cập đến bất cứ điều gì liên quan đến thiết lập màn hình kép tại thời điểm đó. Bởi vì câu hỏi đã được thay đổi đáng kể, điều này làm tăng sự chú ý cho bất kỳ bài đăng nào được thay đổi sau ngày đó. Về cơ bản, nó vô hiệu hóa mọi thứ đã đóng góp và thực sự làm giảm động lực giúp đỡ của tôi. Người dùng nên hỏi một câu hỏi mới thay vào đó, theo ý kiến ​​của tôi.
gertvdijk

@gertvdijk Xin lỗi, có ý nghĩa ngay bây giờ.
beldaz

Tôi tự hỏi liệu khả năng sử dụng Wayland trong Ubuntu mới nhất có giúp giải quyết vấn đề này dễ dàng hơn không.
mkataja

Câu trả lời:


120

Có vẻ như mọi người vẫn đang cố gắng làm việc với một số màn hình và màn hình HiDPI. Một cách giải quyết tốt được mô tả trong wiki wiki https://wiki.archlinux.org/index.php/HiDPI#Mult Môn_displays . Vì vậy, tôi có:

  • máy tính xách tay asus ln303ux: 3200x1800,
  • màn hình ngoài: 1920x1200

Bây giờ tôi sử dụng Ubuntu 14.10 & Gnome Shell 3.12.2 có hỗ trợ HiDPI khá hữu dụng. Vì vậy, tôi chỉ sử dụng hỗ trợ ngoài luồng của HiDPI - hệ số tỷ lệ là 2 (có thể được thiết lập qua GUI). Điều đó có nghĩa là trên màn hình ngoài tôi nhận được mọi thứ lớn hơn gấp đôi so với chấp nhận được. Vì vậy, tôi sử dụng xrandr; nhưng thay vì hạ thấp màn hình máy tính xách tay, tôi nâng cấp màn hình ngoài màn hình:

xrandr --output HDMI1 --scale 2x2 --mode 1920x1200 --fb 3840x4200 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 320x2400

Vì vậy, từng người một:

  1. --output HDMI1trong trường hợp của tôi là màn hình ngoài, eDP1là màn hình laptop.
  2. --scale 2x2 - làm cho mọi thứ trên màn hình ngoài nhỏ hơn hai lần
  3. --mode XxY - đặt rõ ràng độ phân giải cho màn hình (không cần thiết nếu đã được đặt)
  4. --fb XxY- đặt kích thước của màn hình ảo (bộ đệm khung) ( quan trọng không có cái này, bạn sẽ chỉ có thể sử dụng một phần thứ tư của màn hình). Trong trường hợp của tôi, một màn hình nằm trên một màn hình khác, vì vậy tôi đã thêm chiều cao hiệu quả 2400 + 1800 = 4200. Cũng lưu ý, kích thước bộ đệm khung tối đa đó có thể được chỉ định trong xorg.conf - sau đó bạn không thể vượt quá nó (nó được ghi trong dòng xrandr -qđầu ra đầu tiên ).
  5. --pos XxY- trong trường hợp của tôi, tôi đặt vị trí tuyệt đối của màn hình, vì vậy màn hình máy tính xách tay của tôi nằm trực tiếp ở phía dưới màn hình bên ngoài. Giá trị Y ở đây gấp đôi chiều cao màn hình ngoài.

Và đây là nó! Mọi thứ đều rõ nét như nó có thể.

FYI: để có được tên của màn hình và độ phân giải có sẵn, người ta có thể chạy xrandr --current. Thông tin thêm về cài đặt độ phân giải sẽ được tìm thấy ở đây: https://wiki.ubfox.com/X/Config/Resolution .

CẬP NHẬT - TÙY CHỌN 2: một cách giải quyết thú vị hơn cho các ứng dụng hỗ trợ GTK3. Nếu tôi thường chỉ sử dụng một ứng dụng trên màn hình lớn (ví dụ: một số IDE, như leksah), tôi không thay đổi kích thước màn hình, nhưng chạy ứng dụng được thu nhỏ theo kích thước ban đầu

env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname

7
có một error of failed request: BadValue (integer parameter out of range for operation):-(
Juh_

4
Các --fbtùy chọn dường như không cho phép hơn một phần tư của 2x2màn hình (con trỏ chuột không thể di chuyển qua góc phần tư phía trên bên trái)
EoghanM

2
Mở rộng quy mô hoạt động, nhưng bạn không mất HiDPI? Tất cả mọi thứ xuất hiện tỷ lệ và mờ.
Andy

8
Để thiết lập cạnh nhau với màn hình ngoài 1920x1080 nằm ở bên trái của máy tính xách tay hiDPI 3200x1800 của tôi:xrandr --output eDP1 --scale 1x1 --pos 3840x0 ; xrandr --output HDMI1 --scale 2x2 --mode 1920x1080 --fb 7680x2160 --pos 0x0
Daniel Bower

2
Tham số --fb là 2 * màn hình ngoài + màn hình máy tính xách tay
Brian C.

10

Tại sao nó bị mờ?

Màn hình của bạn luôn hiển thị 3200x1800 pixel. Nếu bạn hạ thấp độ phân giải màn hình trên máy tính, điều đó chỉ có nghĩa là màn hình của bạn phải chia tỷ lệ hình ảnh cho vừa với màn hình của bạn. Tùy thuộc vào tỷ lệ giữa độ phân giải gốc của bạn và độ phân giải hiện tại, tỷ lệ đó sẽ tạo ra hình ảnh mờ.

Bạn có thể tìm thêm thông tin về chia tỷ lệ và độ phân giải gốc tại đây: https://en.wikipedia.org/wiki/Native_resolution

Làm thế nào tôi có thể làm cho văn bản lớn hơn?

Nếu văn bản quá nhỏ, bạn có hai tùy chọn:

1. Thay đổi kích thước phông chữ của Ubuntu

Làm cách nào để thay đổi phông chữ và điều chỉnh kích thước của chúng?

2. Thay đổi DPI (sẽ làm cho toàn bộ giao diện lớn hơn, không chỉ văn bản)

Làm thế nào để tìm và thay đổi màn hình DPI? (câu trả lời của @whtyger)


1
Cũng như một lưu ý về việc tăng kích thước phông chữ. Thay vì tăng DPI để toàn bộ giao diện người dùng chia tỷ lệ. Điều này phải được nhận dạng tự động đúng cách (đọc EDID từ màn hình của bạn), nhưng nếu thất bại: Làm thế nào để tìm và thay đổi DPI màn hình?
gertvdijk

23
Trên thực tế đó không phải là một câu trả lời cho câu hỏi của tôi. Tôi đang sử dụng hai màn hình khác nhau với độ phân giải khác nhau . Tôi đã thực hiện tính toán: màn hình LCD chính bên trái của tôi phải có độ phân giải DPI 94x94 trong khi màn hình máy tính xách tay phải của tôi phải có 235x235 DPI ... Và tôi không tìm cách nào để đặt hai độ phân giải DPI khác nhau ngoại trừ bằng cách định cấu hình nvidia để chạy 2 tách X và sau đó tôi không thể vượt qua một cửa sổ từ trái sang phải ... Windows tốt hơn nhiều để xử lý vấn đề đó :(
Anthony O.

9
-1 vì đã hoàn toàn bỏ qua điểm của câu hỏi
Martin Konecny

8
@AnthonyO. Vui lòng không thay đổi câu hỏi của bạn đáng kể sau khi câu trả lời được đăng mà bạn không thích. Tại thời điểm câu trả lời này được đăng, bạn không đề cập đến bất cứ điều gì liên quan đến thiết lập màn hình kép (xem bản sửa đổi 1 ). Thay đổi câu hỏi của bạn làm mất hiệu lực bất cứ điều gì đã được đăng và bạn không nên làm điều đó. Thay vào đó, hãy hoàn nguyên các chỉnh sửa câu hỏi và thay vào đó là một câu hỏi mới.
gertvdijk

5
@MartinKonecny ​​Người hỏi ban đầu đã chỉnh sửa câu hỏi của anh ấy, câu trả lời này trả lời câu hỏi ban đầu của anh ấy, kiểm tra các sửa đổi.
Jamie Kitson

7

Tôi đã sử dụng giải pháp của artmem nhưng gặp phải vấn đề về chuột được đề cập bởi EoghanM. Cách giải quyết tôi tìm thấy trong báo cáo lỗi cũ mà anh ta liên kết đến - liên quan.

Tôi đang chụp cho: - DP1-2 3840x2160 trong DIP gốc. - eDP1 1366x768, được thu nhỏ để trông hợp lý ở bên phải DP1-2.

Tôi hiểu điều này xảy ra bằng cách có bộ đệm khung giống như DP1-2 + (2x eDP1) sau đó tôi chia tỷ lệ mọi thứ sang eDP1 bằng 1/2.

Điều này nên đơn giản nhưng xrandr là một chút khó khăn.

Ở đây --scale được sử dụng để giảm mọi thứ xuống eDP1 xuống 1/2. --panning giống như eDP1 trong bộ đệm khung ban đầu với vị trí (+ 3840 + 0) ở ngay bên phải DP1-2. + 0 + 2160 sẽ ở dưới nó.

xrandr -d :0 --fb 6572x3696 --output DP1-2 --mode 3840x2160 --scale 1x1 --rate 60 --pos 0x0 --primary

# sometimes panning get applied incorrectly when switching from some other mode, running it twice is a work around
xrandr -d :0 --output eDP1 --off
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0

Tôi cũng đặt Xft.dpi thành 185

$ cat ~/.Xresources
Xft.dpi: 185

Khi tôi rút phích cắm khỏi màn hình bên ngoài, tôi chạy:

xrandr -d :0 --output DP1-2 --off
xrandr -d :0 --fb 2732x1536 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+0+0 --pos 0x0 --primary

Trông nó không đẹp lắm nhưng tôi không rời xa bàn làm việc của mình nhiều. Bạn có thể khắc phục điều này bằng cách thay đổi Xft.dpi và khởi động lại tất cả các chương trình máy tính để bàn của bạn. Tôi không biết cách thay đổi Xft.dpi và sau đó cho khách hàng sử dụng nó mà không cần khởi động lại chúng.


Panning là mảnh ghép cuối cùng - nó đã giải quyết được con trỏ bị kẹt ở một phần tư của vấn đề màn hình. Cảm ơn @Brian!
rtindru

2
"chạy nó hai lần" ???? pixel thần thánh, nó hoạt động (Tôi đã áp dụng panning, nhưng nó chỉ được áp dụng đúng nếu tôi chạy cùng một lệnh hai lần).
Riccardo Galli

Ya, tôi nhận thấy rằng nó hoạt động mỗi lần tôi chạy nó vì vậy tôi nghĩ rằng tôi đã thử nó hai lần và, tốt, chúng tôi đang ở đây.
Brian C.

Được rồi, vì vậy điều này không hoạt động với kernel 4.5.2. Tôi chỉ cài đặt kernel đó để xử lý vấn đề liên quan đến docker trong 4.5.1 và bây giờ đoạn script trên để lại cho tôi một màn hình đen. Để sửa lỗi này trên 4.5.2, tôi thực hiện các lệnh eDP1 trước mà không có lệnh --off và sau đó là lệnh DP1-2.
Brian C.

1
Cuối cùng làm việc với panning! Tôi vẫn có một con chuột và màn hình rối mắt (kể từ khi tôi bắt đầu sử dụng xrandr). Ý tưởng nào không?
hsandt

4

Tôi đã có thể giải quyết vấn đề này (với các vấn đề) bằng cách sử dụng các chi tiết được nêu trong cuộc thảo luận github sau: https://github.com/linuxmint/Cinnamon/issues/3606

Màn hình ngoài QHD (2560X1440), Màn hình trong / Máy tính xách tay 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

HOẶC LÀ

Màn hình ngoài FHD (1920x1080), Màn hình trong / Máy tính xách tay 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

Những thứ này hoạt động, nhưng có một lượng đáng kể để xé màn hình độ phân giải cao (máy tính xách tay) khi tôi di chuyển các cửa sổ, thay đổi kích thước màn hình hoặc cuộn trên trình duyệt. Cảm giác này giống như một giải pháp rending phần mềm (có tất cả những vấn đề này bị rách, và làm mới chậm).

Năm 2017, Linux / Gnome cần giải quyết giải pháp chia tỷ lệ đa màn hình. Cả Windows 10 và OS X đều giải quyết vấn đề này mà không cần phải dùng đến các bản sửa lỗi hỗ trợ băng tần dòng hoạt động một phần (vấn đề xé rách không được chấp nhận khi chơi game)


1
Đây có phải là một câu trả lời mới hay bạn đang cố gắng báo cáo một lỗi?
dùng68186

Đây là một chi tiết về một câu trả lời hiện có, với nhiều lựa chọn hơn mà người ta có thể tận dụng. Câu trả lời được cung cấp bởi @artem ở trên giải thích cách các cài đặt này hoạt động. Tôi chỉ đơn giản là cố gắng cung cấp 2 tùy chọn có thể được sử dụng cho những người có màn hình ngoài QHD hoặc FHD và màn hình chính / màn hình máy tính xách tay 4K. Các lỗi là trong xé bạn nhìn thấy với giải pháp này. Đó là cố hữu của phương pháp này.
Jeets

2
Với sự phổ biến của các thiết lập 4k và đa độ phân giải, tôi đồng ý với đoạn cuối cùng, điều này cần độ phân giải. Trước đây không quá tệ, nhưng bây giờ nó chỉ đơn giản là phá hỏng thiết lập của tôi trên một màn hình khi tôi có 4k. Hy vọng Ubuntu 18 LTS họ sẽ sửa lỗi này.
nơron

3
Đó là năm 2018 ... vẫn như cũ sh1t :)
Stefanos Kalantzis

Wayland hoạt động tuyệt vời cho việc này. Ngoại trừ đó chỉ là cho điều này ... Có một trải nghiệm tốt với wayland + kde quá, tốt hơn so với gnome + wayland. Tôi quay lại X do thiếu hỗ trợ cho một số phần mềm chỉ chạy trên X và các vấn đề ổn định. 2018 ...
Victor

4

Những câu trả lời này rất hay, và đã giúp tôi trước đây, nhưng gần đây

sudo apt-get upgrade 

đã xóa randr-config của tôi! Khi cố gắng khôi phục cài đặt của mình, tôi thấy rằng tôi không còn có thể đưa chuột vượt quá góc phần tư 1/4 trên cùng của màn hình thứ hai, bất kể đầu vào --fb. Từ https://wiki.archlinux.org/index.php/HiDPI#Side_display Cuối cùng tôi đã phát hiện ra rằng việc thêm panning đã tạo ra mánh khóe. Ngoài ra, việc sử dụng '--right-of' hoặc '--left-of' đơn giản hơn '--pose'.

"Nói chung nếu màn hình HiDPI (máy tính xách tay) của bạn là pixel AxB và màn hình thông thường (bên ngoài) của bạn là CxD và bạn đang mở rộng theo [ExF], dòng lệnh bên phải là:"

xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP-1

Điều này thật thú vị và dường như nó có thể hữu ích với ai đó, mặc dù tôi không chắc chính xác đây là câu trả lời cho câu hỏi này. Có lẽ bạn nên mở và sau đó trả lời câu hỏi của riêng bạn? Không thực sự chắc chắn.
Hee Jin

1
@Emily: Tôi nghĩ câu trả lời này thuộc về đây. Tôi đã sử dụng câu trả lời của artem ngày hôm nay và có một vấn đề chính xác mà ONECore đã nêu (chỉ có góc phần tư phía trên bên trái của màn hình là có thể sử dụng được bằng chuột). May mắn thay, tôi thấy câu trả lời này, và panning hoạt động ngay lập tức.
BrainCore

Vâng, xin lỗi, tôi muốn nó là một câu trả lời cho câu trả lời của @ artem, nhưng Stackexchange rất tuyệt vời và sẽ không để tôi trả lời ở đó cho đến khi tôi nhận được 50 điểm brownie.
ONECore

Cũng lưu ý rằng điều này dường như không liên tục, vì vậy trừ khi bạn thêm nó vào xorg.conf, nó sẽ biến mất sau mỗi lần khởi động lại. Nhưng sau đó nếu bạn thêm nó vào đó, nó buộc cài đặt không có vấn đề gì (đôi khi tôi không cắm vào màn hình). Vì vậy, tôi thấy thật dễ dàng khi chỉ cần tạo một shell và thực thi nó khi tôi muốn. Chỉ cần thêm mã ở trên vào một tệp văn bản kết thúc bằng .sh (như độ phân giải.sh), sau đó làm cho nó có thể thực thi được với "chmod 0700 độ phân giải.sh" trong thiết bị đầu cuối.
ONECore

Cảm ơn rất nhiều vì đã chia sẻ kinh nghiệm của bạn cũng như @BrainCore!
Hee Jin

1

Tôi có một màn hình 1024x768 lỗi thời, được kết nối với một máy tính xách tay (ít lỗi thời).
Các cửa sổ được hiển thị ở các kích thước khá khác nhau, lớn hơn nhiều trong màn hình ngoài (có độ cao chấm lớn hơn, lớn hơn).
Tôi tìm thấy một lệnh để mở rộng màn hình:

xrandr --output VGA-1 --scale 1.5x1.5

VGA-1 là tên nội bộ của màn hình, được tìm thấy bằng cách chạy lệnh sau:

xrandr --current | grep connected

Hiệu quả là bây giờ màn hình cũ hiển thị nội dung của nó với kích thước gần giống với máy tính xách tay.

Thật kỳ lạ, nó hoạt động với tỷ lệ x1,5 chứ không phải 1,45, màn hình (trong trường hợp của tôi) chuyển sang màu đen.

Khi tôi chạy bình luận tỷ lệ lần đầu tiên, kết quả thật đáng sợ vì nội dung của cả hai màn hình bị chồng chéo. Ví dụ, con trỏ con trỏ xuất hiện hai lần.

Tôi đã chạy một chương trình:

arandr &

để đặt các vị trí màn hình tương đối để sửa nó.
Nó hoạt động như cài đặt> Thiết bị> Hiển thị cài đặt.

Tôi đã cài đặt nó với:

sudo apt-get install arandr

Cảm ơn @LuisAlvarado và những người khác đã chia sẻ kiến ​​thức của bạn!


Điều này tạm thời hoạt động với tôi, nhưng không dính nếu tôi khởi động lại. Tôi nghĩ rằng tôi cần tìm một kịch bản để làm những gì arandrđang làm ở đây, và sau đó đặt toàn bộ trong bashrc của tôi hoặc một cái gì đó. Cảm ơn!
Max von Hippel

arandr có thể xuất một tập tin cấu hình. Tôi đặt tập tin trong máy tính để bàn của mình và đưa nó vào arandr mỗi lần khởi động lại. Không phát triển một kịch bản và bây giờ tôi có một màn hình và không sử dụng arandr nữa.
Juan Lanus

0

Nắm tay chạy $xrandrđể hiển thị tất cả các đầu ra

Screen 0: minimum 320 x 200, current 7680 x 2160, maximum 8192 x 8192
eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   3840x2160     60.00*+  59.98    59.97  
   3200x1800     59.96    59.94  
   2880x1620     59.96    59.97   
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 521mm x 294mm
   1920x1080     60.00*+  50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.88  
   1280x1024     75.02    60.02

Như bạn có thể thấy trong trường hợp này, màn hình thứ hai được kết nối với DP-3 Sau đó, bạn có thể bán lại màn hình: $xrandr --output DP-3 --auto --scale 2x2

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.