Summary: | Advanced Screen and Output management | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Sergey Kondakov <virtuousfox> | ||||||||||||||||
Component: | * Other | Assignee: | Xorg Project Team <xorg-team> | ||||||||||||||||
Status: | RESOLVED MOVED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||||||||
Severity: | enhancement | ||||||||||||||||||
Priority: | medium | ||||||||||||||||||
Version: | unspecified | ||||||||||||||||||
Hardware: | All | ||||||||||||||||||
OS: | All | ||||||||||||||||||
Whiteboard: | 2011BRB_Reviewed | ||||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||||
Attachments: |
|
Description
Sergey Kondakov
2010-06-27 04:49:41 UTC
Created attachment 36542 [details]
example 1 - multi-head|xinerama.jpg
simpliest milti-head/xinerama set up, configured statically via xorg.conf or dynamically via randr.
Created attachment 36543 [details]
example 2 - multi-head|multi-screen.jpg
simpliest multi-head/multi-screen setup, configured only statically via xorg.conf and in very non-intuitive way
known as "zaphod mode", strangely
Created attachment 36545 [details]
example 3 - multi-seat.jpg
simpliest multi-seat setup that can be.
[!] VT Switching is DISABLED while two separate X's are active
[!] manual configuration of global x\g\kdm config is required
been tested on two nvidia cards with proprietary driver (build-in + pci-e and pci-e + pci-e) while retaining full acceleration on both but others should work, probably with limitations right now.
Created attachment 36546 [details]
example 4 - complex setup.jpg
most sophisticated setup currently theoretically possible.
combines multi-seat with xinerama and multi-screen:
first X instance took first card and all outputs on it but spawned two instances of video driver for it - one to create first screen/xinerama desktop and the other for second, simple screen.
second X instance took second card and one more xinerama desktop, for another user, was created, dynamically or statically - no difference.
possible only theoretically since, they say, only radeon driver support multi-head/multi-screen at all and even it, probably, will cut off all the outputs which not form one screen (only xinerama or only multi-screen, not both)
Created attachment 36547 [details]
kms problem - example.jpg
boot screen looks ugly if several outputs are active at boot-time and they have different resolutions - image sized for smallest one.
and, from what a remember, only card initialized by BIOS is able to produce image at this stage.
Created attachment 36548 [details]
kms problem - proposal (#2).jpg
here , each output is designated with its own fb-device interface and can dynamically allocate video memory for its need according to its state and resolution/depth.
separate bunch of VTs is spawned for each one so Xs can live across several outputs and cards and without suid (not for xinerama screen though since it needs common buffer space for whole screen inside same card).
[.] same image is scaled on this picture but in reality each output should configure terminal size on it according to resolution and font used so it would not look stretched.
[?] to switch VTs, like on "TV-0" example while not using X, a way to bind only selected device to output must be created, like X does. and it should work before login is made.
but default behaviour still should be to bind all ttys to all VTs and all inputs to all outputs, just images of them renderred separately and the rest configuration is user's business.
Created attachment 36549 [details]
concept #1+#2+#3.jpg
full concept.
Xs are non-root and can assign screens for themselves in whatever way any user desire, preferrably in all ways - statically (xorg.conf), pre-login (in x\g\kdm screen, as gdm in ubuntu let's you to choose default keymap for your session but for screen configuration) and dynamically (xrandr-like).
on picture - 3 users spawned three instances of X:
user#1 (purple) using xinerama screen on first card plus second, independent screen (multi-screen) on second;
user#2 (yellow) using one simple little screen with gnome session;
user#3 (blue) using xinerama screen before user#1 took it away (with #3's permission and manual switch on VT8) for his multi-screen. but xinerama configuration was not reseted and working in "background".
Mass closure: This bug has been untouched for more than six years, and is not obviously still valid. Please reopen this bug or file a new report if you continue to experience issues with current releases. (In reply to Adam Jackson from comment #8) > Mass closure: This bug has been untouched for more than six years, and is not > obviously still valid. Please reopen this bug or file a new report if you > continue to experience issues with current releases. Closing abandoned or obsolete reports is fine and all BUT this is usability concept, not an issue of some particular codebase. I guess that it can be realised now with Wayland or by cleverly using device access separation in udev & evdev but in practice, display management, especially before logging in, still sucks. The worst offender, though, is kernel's VT console. kmscon and systemd-consoled are both dead now and there is no alternatives in sight. This is really a design discussion, not a bug. Please follow up on xorg-devel@ or the xorg gitlab instance. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.