Atur Xorg untuk hanya menggunakan sebagian layar

13

Layar saya memiliki resolusi 1280 x 1024. Namun sayangnya, sabuk paling kanan 200 piksel rusak dan tidak dapat menampilkan gambar apa pun.

Bagaimana saya dapat mengatur bahwa Xorg akan memperlakukan layar saya sebagai perangkat 1080 x 1024?

Sekarang saya sudah mencoba:

Virtual 1080 1024
Viewport 0 0

Tidak berfungsi dengan benar - gambar diskalakan agar pas secara vertikal, dan secara horizontal saya dapat menggeser mouse.

Rok Kralj
sumber
2
Saya telah membuka hadiah untuk mencari lebih banyak solusi, mungkin lebih sederhana. Terimakasih semuanya!
Rok Kralj

Jawaban:

8

Lihat: http://howto-pages.org/ModeLines/ , mereka memiliki penjelasan yang baik tentang modelines Xorg. Lalu pergi ke http://xtiming.sourceforge.net/cgi-bin/xtiming.pl dan masukkan spesifikasi untuk ukuran layar yang dapat Anda gunakan. Ini akan memberi Anda Modeline yang dapat Anda tambahkan ke file xorg.conf Anda.

Bidang 4, 5, 6, & 7 sesuai dengan nilai-nilai berikut: HDisplay HSync Mulai HSyncEnd HTotal.

Dengan bermain dengan bidang 5 & 6, Anda dapat memindahkan bagian layar Anda yang terlihat ke kiri atau kanan, tergantung yang Anda butuhkan.

Tim Kennedy
sumber
Apakah Anda akan menjelaskan lebih detail?
Rok Kralj
Tentu. pikirkan hsync seperti carriage return pada mesin tik. ingat, bagaimana X mengontrol tampilan dikembangkan kembali pada masa CRT. HSyncStart mengatakan untuk mulai menggambar piksel di suatu lokasi, dan terus menggambar sampai HSyncEnd, di mana sinyal HSync diatur, memberi tahu CRT untuk menggambar garis berikutnya di layar. Di era LCD, ini adalah warisan, tetapi masih tetap berfungsi. Dengan bermain-main dengan bagian awal dan akhir dari garis horizontal, Anda dapat mengontrol seberapa lebar layar Anda digambar, dan pada bagian mana dari media fisik tersebut. Tautan dalam pos memiliki penjelasan yang bagus.
Tim Kennedy
2

Anda harus bermain-main tentang bagaimana cara terbaik membuat displaymanagers menggunakannya, tetapi:

Anda dapat memulai Xorg Anda secara normal yang akan menggunakan seluruh layar Anda pada resolusi penuh, mis

Xorg :123 -ac

Switch -ac menonaktifkan beberapa (semua?) Pembatasan Xorg yang mungkin dimiliki klien yang diizinkan. Kemudian Anda mulai Xephyr sebagai satu-satunya klien (Anda mungkin ingin menyesuaikan resolusi yang diteruskan sebagai argumen-layar dengan kebutuhan Anda):

DISPLAY=:123 Xephyr :0 -screen 1720x1200

Xephyr adalah semacam "overlay Xserver" yang berinteraksi dengan klien seperti halnya Xserver mana pun, tetapi alih-alih mengurus rendering dan input (bagian yang dihadap pengguna), Xephyr bergantung pada Xserver lain untuk melakukan itu.

Bagaimana Anda menggabungkan perintah-perintah ini sangat tergantung pada use case Anda. Secara umum, aplikasi seperti manajer sesi memberi Anda kesempatan untuk memberikan perintah bagaimana memanggil Xserver.

Apa yang saya lakukan untuk mencobanya:

Buat /root/.xinitrcdengan konten

Xephyr :0 -ac -once -query myxdmcphost -screen 1400x1200`

di mana 1400 adalah lebar layar saya -200 piksel.

Kemudian saya menjalankan xinit -- :123 -my -usual -xorg -options -for -my -computerdan sebagai hasilnya saya mendapatkan layar masuk dan sesi yang benar-benar menggunakan seluruh layar saya tetapi kolom lebar 200 piksel di sisi kanan.

Untuk memiliki efek yang sama untuk misalnya GDM Anda harus memberikan xinitperintah beberapa kali gdm.confsebagai metode untuk memanggil Xserver. Tapi aku tidak bisa memberitahumu dari atas kepalaku bagaimana melakukan itu.

Bananguin
sumber
1
Xephyr tidak mendukung akselerasi perangkat keras terbuka, tidak cocok untuk DE atau game modern apa pun.
Rok Kralj