GNU/Linux >> Belajar Linux >  >> Linux

Linux Framebuffer mengatur resolusi dengan benar

Coba format ini untuk fbset:

fbset -fb /dev/fb0 -g 1920 1200 1920 1200 16 

Dan pastikan Anda benar-benar melihat fb0 dan bukan fb1:

fbset -fb /dev/fb0

Periksa ulang apa yang sebenarnya disetel:

cat /sys/class/graphics/fb0/mode

Coba juga jalankan fbi dengan (sekali lagi, untuk memastikan Anda menggunakan fb0):

fbi -d /dev/fb0 image.png

Anda juga bisa memaksakan pengaturan Anda ke fb0 dengan melakukan:

echo U:1920x1200p-0 > /sys/class/graphics/fb0/mode

Secara teknis, itulah yang dilakukan fbset. Hanya memastikan fb1 tidak mengacaukan segalanya.

Terakhir, pastikan konsol Anda menggunakan fb0. Saya yakin itu.

con2fbmap 1

Anda mungkin juga ingin memulai ulang, jadi periksa setelan Anda:

cat /proc/cmdline

Jika bukan 1920x1200, perbarui ke 1920x200. Saya pikir itu terletak di /boot/cmdline.txt untuk raspberry pi. Bagi saya /boot/uEnv.txt.


Saya memiliki jawaban dua bagian yang bekerja sangat baik di Raspberry Pi.

Pertama, Pi memiliki konsep overscan, yaitu batas hitam yang ditambahkan di sekeliling layar untuk membuatnya masuk dalam "tabung" TV lama. Dan ya, ini juga diperlukan di beberapa TV layar datar modern yang meniru fungsi tersebut. Jika batas hitam Anda mengelilingi semua resolusi layar, ubah ini. Cara termudah adalah melalui sudo raspi-config . Opsi dan tata letak bervariasi di berbagai versi raspi-config tetapi Anda mungkin mulai dengan melihat Advanced Options menu untuk Overscan . Jika overscan adalah masalah Anda, tetapi Anda ingin kontrol yang lebih baik atas ukuran batas hitam - maka ada cara untuk menyempurnakannya di /boot/config.txt. Saya tidak akan membahasnya di sini, dan mudah untuk mencari cara men-tweak file itu.

Jika ini bukan masalah Anda, dan Anda mencari resolusi yang lebih baik yang dapat Anda atur untuk TV/monitor Anda, maka Anda juga dapat menggunakan raspi-config untuk memilih di antara semua resolusi layar yang valid. Mereka berada di Advanced Options yang sama menu seperti overscan.

Jika Anda perlu memeriksa dan menyetel resolusi secara terprogram, alat masuk untuk itu adalah tvservice . Tidak ada halaman manual untuk program ini, tetapi menjalankannya tanpa argumen memberikan bantuan. Ada kemampuan yang sangat menarik yang melampaui fbset bisa melakukannya.

Beberapa contoh singkat:

$ sudo tvservice --status
state 0x120009 [HDMI CEA (16) RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive
$
$ sudo tvservice --modes=CEA
Group CEA has 11 modes:
           mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive 
           mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive 
           mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive 
           mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive 
  (prefer) mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive 
           mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive 
           mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive 
           mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive 
           mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive 
           mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive 
           mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive 

Anda dapat melihat mode apa yang didukung TV, dan agar lengkap, Anda harus memindai grup DMT dan CEA untuk menangkap semuanya. Mode DMT lebih selaras dengan monitor komputer daripada TV.

Kemudian program Anda dapat memilih dari daftar itu dan menggunakan tvservice -e untuk menyetel salah satu mode ini.


Linux
  1. Siapkan ZFS di Linux dengan yum

  2. Cara Mengatur Variabel $Path di Linux

  3. rbash – Setel Shell terbatas di Linux

  1. Cara Mengatur atau Mengubah Nama Host Sistem di Linux

  2. Setel atau ubah kata sandi pengguna di Linux

  3. Layanan OS Linux 'lm_sensors'

  1. Cara mengatur printer Anda di Linux

  2. Siapkan server VPN di PC Linux Anda

  3. Extended Ascii di Linux