Mengatur rendering subpiksel yang berbeda pada monitor yang berbeda

16

Saya menggunakan monitor ganda, salah satunya diputar 90 derajat. Antialising font tidak terlihat benar di monitor yang diputar (yaitu, ada batas pelangi di sekitar karakter).

Saya percaya ini karena X menggunakan perintah rendering subpixel yang sama pada kedua monitor. Apakah ada cara untuk mengkonfigurasi pesanan rendering subpiksel berbeda untuk setiap monitor? (yaitu, monitor 1 = RGB, dan monitor 2 = vRGB).

pengecut yg berlagak
sumber
Sepertinya ini belum memungkinkan (tidak ada solusi perangkat lunak). Lihat ini untuk sesuatu yang berhubungan.
Ashhar Hasan

Jawaban:

4

Anda harus mengonfigurasi display Anda sebagai layar X terpisah, bukan desktop bersama. Ubuntu kemudian membiarkan Anda menyesuaikan urutan sub-pixel untuk layar X masing-masing.

Jika tidak, apa yang akan terjadi dengan jendela yang merentang dua perangkat layar dengan pesanan sub-pixel yang berbeda? Atau bahkan lebih rumit, dua tampilan dalam mode klon dengan pesanan fisik yang berbeda (RGB vs BGR).

Ini adalah batasan yang diketahui untuk semua sistem operasi saat ini dan akan membutuhkan desain ulang yang besar untuk memperbaikinya. Penyesuaian dinamis tidak layak karena perpustakaan yang melakukan rendering harus mengetahui di mana layar Anda aktif dan menyesuaikan secara dinamis. Plus, misalkan Anda memiliki setengah jendela di satu layar dan setengah di layar lainnya - ia tidak akan tahu mana yang harus dipilih.

Menyiapkan beberapa layar X:

  1. Boot dan konfigurasi ulang X. sudo dpkg-reconfigure -phigh xserver-xorg Ikuti langkah-langkah untuk mengatur tampilan utama. (Saya tidak tahu cara untuk melakukan langkah khusus ini dari CLI)
  2. Buka terminal dan
    lspci
    ini akan memberi Anda daftar perangkat Anda dan id bus mereka. Temukan kartu grafis dan tuliskan id bus mereka.
  3. Buat salinan xorg.confsebagai xorg.conf.origmungkin dan buka:sudo vi /etc/X11/xorg.conf
  4. Baca ini sebelum melanjutkan untuk memastikan Anda dapat menyesuaikannya sebanyak yang Anda inginkan.
  5. Sekarang buat dua Devicebagian dan daftar BusIDkartu yang akan dibagikan dan juga daftar driver seperti ini:

    Section "Device"
        Identifier  "nvidia0"
        # Your preferred driver
        Driver      "nvidia"
        # Edit the BusID with the location of your graphics card
        BusID       "PCI:2:0:0"
        Screen      0
    EndSection
    
    Section "Device"
        Identifier  "nvidia1"
        # Your preferred driver
        Driver      "nvidia"
        # Edit the BusID with the location of your graphics card
        BusId       "PCI:2:0:0"
        Screen      1
    EndSection
    
  6. Sekarang buat dua Screenbagian (dengan parameter pilihan Anda tentu saja, satu-satunya hal yang perlu dicocokkan adalah Devicedi bagian ini dengan yang Identifiersebelumnya) sebagai:

    Section "Screen"
        Identifier  "Screen0"
        Device      "nvidia0"
        Monitor     "Monitor0"
        DefaultDepth 24
        Subsection "Display"
            Depth       24
            Modes       "1600x1200" "1024x768" "800x600" "640x480" 
        EndSubsection
    EndSection
    
    Section "Screen"
        Identifier  "Screen1"
        Device      "nvidia1"
        Monitor     "Monitor1"
        DefaultDepth 24
        Subsection "Display"
            Depth       24
            Modes       "1600x1200" "1024x768" "800x600" "640x480" 
        EndSubsection
    EndSection
    
  7. Sekarang buat Monitorbagian untuk setiap monitor sebagai:

    Section "Monitor"
        Identifier "monitor name here"
    EndSection
    
    Section "Monitor"
        Identifier "monitor name here"
        # Rotate as you want (your question says one is rotated)
        Rotate "left"
    EndSection
    
  8. Terakhir, perbarui ServerLayoutbagian yang akan digunakan dan posisikan kedua Screenbagian:

    Section "ServerLayout"
        ...
        Screen         0 "Screen0" 
        Screen         1 "Screen1" leftOf "Screen0"
        ...
    EndSection
    
  9. Mulai ulang X dan silangkan jari Anda! Jika itu berhasil maka lanjutkan fine tuning sebanyak yang Anda suka.

SEKARANG UNTUK PESANAN RENDERING SUBPIXEL Lakukan perubahan ini font.confdi ~/font.confatau / etc / X11 / font.conf`. bgr

Ashhar Hasan
sumber
Saya menambahkan langkah-langkah tentang cara melakukannya. Tetapi mari berharap seseorang datang dengan cara yang luar biasa untuk melakukan apa yang Anda butuhkan.
Ashhar Hasan
Sepertinya saya juga telah memukul satu blok. Meskipun saya dapat menentukan fontpath yang berbeda dalam Xorg.conftetapi tampaknya tidak memilih jalur untuk font.conffile yang berbeda . :(
Ashhar Hasan