On Fri, Nov 05, 2010 at 09:38:07PM +0000, Mick wrote:
> On Friday 05 November 2010 11:11:04 YoYo Siska wrote:
> > On Thu, Nov 04, 2010 at 11:08:23PM +0000, Mick wrote:
> > > On Thursday 04 November 2010 21:36:46 Florian Philipp wrote:
> > > > Am 04.11.2010 21:17, schrieb Mick:
> > > > [...]
> > > > 
> > > > > Then I ran xrandr again as Florian suggested and this is what it
> > > > > shows:
> > > > > 
> > > > > $ xrandr --output DVI-0 --auto  <--this gives 1920x1080
> > > > > $ xrandr --output DVI-0 --right-of-VGA-0 --verbose
> > > > > xrandr: screen cannot be larger than 1920x1920 (desired size
> > > > > 3200x1080)
> > > > > 
> > > > > As a result it does not place the DVI on the right of the VGA driven
> > > > > monitor. Can you please explain this error to me - why does it
> > > > > complain?
> > > > 
> > > > Hmm, do you still have an xorg.conf file or changed settings in
> > > > /etc/X11/xorg.conf.d? If you have, can you post it please?
> > > > 
> > > > I think it is related to the
> > > > 'SubSection "Device"
> > > > 
> > > >         Virtual xdim ydim'
> > > > 
> > > > setting but I'm not sure. In any case, if I were you, I'd try running
> > > > without any xorg.conf and see whether auto-configuration can handle it.
> > > > Oh, and if you are still on x11-base/xorg-server-1.7.*, please try
> > > > x11-base/xorg-server-1.8.2 with USE="udev -hal"
> > > 
> > > Thanks again Florian,
> > > 
> > > I do not have an xorg.conf.  I am running x11-base/xorg-server-1.7.7-r1. 
> > > I have been waiting on 1.8.2 to go stable.
> > > 
> > > Googling around I suspect I know what the error is:
> > > 
> > > $ xrandr -q
> > > Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 1920 x 1920
> > > 
> > > is telling me that my ATI X600 can only do a max of 1920 x 1920.  Above
> > > that I will need to set up a virtual screen (and it won't be able to do
> > > dri).
> > > 
> > > Without an xorg.conf file it is failing because it is not given a virtual
> > > screen to expand its physical capability beyond 1920x1920.  Any idea if I
> > > can set up a virtual screen using the .fdi files?
> > 
> > Intel drivers (for my thinkpad notebook) had a similar problem. If you
> > didn't use an xorg.conf, they would set up the max screen size to the
> > maximum possible resolution on one of the monitors... I haven't found a
> > way to change that without an xorg.conf... (didn't have much motivation
> > as I just always used an xorg.conf, event with hal... and I'm on ~arch,
> > so its not much of an issue now...)
> > 
> > yoyo
> > 
> > 
> > PS right now, the current intel driver I have seems to have a hard maximum
> > of 2048x2048 on my card, though I remember going above that in the
> > past... ;((
> 
> (I was wondering how come MSWindows works fine - not sure if it uses virtual 
> screens ...)
> 
> Are you saying that the maximum mode of the video card is determined by the 
> driver?  Two different ati cards here, both show 1920x1920 as the maximum.  
> The card I am having this problem with has 256M memory.  The other has 1G 
> memory (in MSWindows) while Gentoo only shows:
> 
>       Memory at d0000000 (32-bit, prefetchable) [size=256M]
>       I/O ports at 2000 [size=256]
>       Memory at cfef0000 (32-bit, non-prefetchable) [size=64K]
>       [virtual] Expansion ROM at cfe00000 [disabled] [size=128K]
> 
> If the maximum mode available changes with the driver version, does this mean 
> that one day I need to set up a virtual screen size and next day the driver 
> is 
> updated and virtual screen is no longer required?

>From what I know (but I may be completely wrong ;) its this way:
the maximum size xrandr reports is what X thinks is the maximum possible
framebuffer size... Its reported by the graphics card driver, which (I
think) should be the maximum resolution the graphics card supports.
This depends on the card, the amount of memory it has (which gets a bit
complicated with cards with shared memory, that can dynamically allocate
how much they actually need) etc...

AFAIK this value is "constant" for X (it can't change without restart),
and X will never allow you to have a large 'virtual screen' (i.e.
the space in which all outputs have to fit)

But I've seen drivers that don't report the maximum they support, but
the maximum resolution of the actually connected display:
The driver should report to X, what display devices are connected to
the card and which resolutions they support -- the things you see in
xrandr output. It seems that that some drivers report the maximum of
these resolutions (ati and older intel, though newer  intel drivers seem to
report 2048x2048 or 4096x4096, I can't say for newer ati, as I don't
have an ati card...)

I guess that this is mostly a 'historical' issue from the times when
Xserver/drivers did not support 'dynamic' monitor configuration (ie
adding/removing monitors) without restarting the Xserver...

You can override this value with the Virtual option (It used to be in
the screen section of xorg.conf, now the correct place seems to be in
the Device section).
 
IIRC, the driver will still change it to the maximum it supports, if you
made it bigger, but not to the maximum resolution of the connected
displays ;) Also, some drivers may have other limitations (e.g. hardware 3D
acceleration might not work with size greater tha 2048x2048)

All this is about the "new" Xrandr 1.2 interface (as opposed to old
xinerama and multiple screens, that were used to setup multiple monitors
before xrandr 1.2 and required restart of the Xserver to change
things..) Its still relatively new, and the drivers still have problems
implementing it correctly, the support really changes from version
to version... (there was a lot of other changes in xserver from 1.6,
1.7, to 1.8 and also in the kernel (KMS,DRI) so the drivers had/have a
lot to catch up...)

You can read more about xrandr at http://www.x.org/wiki/Projects/XRandR

For your last question: right now, yes. The drivers are changing... But
hopefully, they will get to a state, when they will report everything
corectly and you should not need to set anything... ;))

BTW, nvidia drivers ignore the xrandr way, they have their own
extension to manage multihead displays, and they just report through
xrandr the final 'metamodes' (which are basically the sizes of the
virtual screen for each configuration) and they alway report the maximu
size as the size of the maximum metamode ;)

yoyo



Reply via email to