Ustaw Xorg, aby używał tylko części ekranu


13

Mój ekran ma rozdzielczość 1280 x 1024. Niestety, prawy pas 200 pikseli jest uszkodzony i nie można wyświetlić żadnego obrazu.

Jak mogę ustawić, że Xorg będzie traktował mój ekran jak urządzenie 1080 x 1024?

Teraz próbowałem:

Virtual 1080 1024
Viewport 0 0

To nie działa poprawnie - obraz jest skalowany w celu dopasowania w pionie, a w poziomie mogę przesuwać za pomocą myszy.


2
Otworzyłem nagrodę w poszukiwaniu innych rozwiązań, być może prostszych. Dziękuję wszystkim!
Rok Kralj,

Odpowiedzi:


8

Sprawdź: http://howto-pages.org/ModeLines/ , mają dobre objaśnienie modeli Xorg. Następnie przejdź na stronę http://xtiming.sourceforge.net/cgi-bin/xtiming.pl i wprowadź specyfikację rozmiaru ekranu, którego możesz użyć. Otrzymasz modelkę, którą możesz dodać do pliku xorg.conf.

Pola 4, 5, 6 i 7 odpowiadają następującym wartościom: HDisplay HSyncStart HSyncEnd HTotal.

Grając z polami 5 i 6, będziesz mógł przesunąć widoczną część ekranu w lewo lub w prawo, w zależności od potrzeb.


Czy mógłbyś to wyjaśnić bardziej szczegółowo?
Rok Kralj,

pewnie. pomyśl o hsync jak o powrocie karetki na maszynie do pisania. pamiętajcie, jak opracowano wyświetlacze kontrolne X w czasach CRT. HSyncStart mówi, aby zacząć rysować piksele w określonym miejscu i kontynuować rysowanie aż do HSyncEnd, w którym to momencie ustawiony jest sygnał HSync, mówiąc CRT, aby narysował następną linię na ekranie. W erze LCD jest to spuścizna, ale nadal działa. Grając z polami początkowymi i końcowymi linii poziomych, możesz kontrolować, jak szeroki jest ekran i na jakiej części nośnika fizycznego. Link w poście ma dobre wyjaśnienie.
Tim Kennedy,

2

Będziesz musiał zastanowić się, jak najlepiej wykorzystać go dla dyspozytorów, ale:

Możesz uruchomić Xorg normalnie, który będzie wykorzystywał cały ekran w pełnej rozdzielczości, np

Xorg :123 -ac

Przełącznik -ac wyłącza niektóre (wszystkie?) Ograniczenia Xorgs, które może mieć na zezwalanie klientom. Następnie uruchamiasz Xephyr jako jedyny klient (możesz dostosować rozdzielczość przekazaną jako argument -screen do swoich potrzeb):

DISPLAY=:123 Xephyr :0 -screen 1720x1200

Xephyr jest rodzajem „nakładki Xserver”, która współpracuje z klientami tak jak każdy Xserver, ale zamiast zajmować się renderowaniem i wprowadzaniem danych (część skierowana do użytkownika), Xephyr polega na innym Xserver.

Sposób łączenia tych poleceń w dużej mierze zależy od przypadku użycia. Ogólnie rzecz biorąc, aplikacje takie jak menedżery sesji dają możliwość podania polecenia, jak wywołać Xserver.

Co zrobiłem, aby to wypróbować:

Twórz /root/.xinitrcz zawartością

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

gdzie 1400 to szerokość mojego ekranu - 200 pikseli.

Następnie biegnę, xinit -- :123 -my -usual -xorg -options -for -my -computerw wyniku czego otrzymuję ekran logowania i sesję, która faktycznie wykorzystuje cały mój ekran, ale kolumnę o szerokości 200 pikseli po prawej stronie.

Aby uzyskać taki sam efekt np. Dla GDM, musiałbyś xinitkilka razy podać polecenie gdm.confjako metodę wywołania Xservera. Ale nie mogę ci powiedzieć z góry, jak to zrobić.


1
Xephyr nie obsługuje akceleracji sprzętowej Opengl, nie nadaje się do żadnej współczesnej gry DE ani gry.
Rok Kralj,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.