On Thu, Aug 21, 2003 at 12:33:49PM -0700, Nathan Gray wrote: >Dr Andrew C Aitchison wrote: > >> On Wed, 20 Aug 2003, Alex Deucher wrote: >> >>> this is a semi-fix, but it still does not deal with monitors that have >>> different DPI. Perhaps this is something that needs to be looked at >>> for xfree 5. >> >> Almost certainly not before XFree86 v5. >> Even then I don't think a solution to your "problem" is actually possible >> for Xinerama; I don't know whether it would be for MergedFB. >> >> Xinerama *hides* the fact that there are two heads, so there is no >> way for the app to be told a different DPI debending which head it is >> currently on - what should it be told if it is on both ? > >This is my point exactly. When I raised this issue it was not to elicit a >"correct" solution, but rather to point out that the whole notion of DPI is >nonsense WRT Xinerama/MergedFB. I would suggest this as a "correct-ish" >solution: If Xinerama/MergedFB detects that both screens have nearly the >same resolution (to within some configurable tolerance) then use the >average of the two. Otherwise the user has to specify the DPI to use with >the -dpi command line switch or some other mechanism. (Is there a DPI >option in the XF86Config file?) It might be nice to be able to specify >"use DPI from screen foo" in the ServerLayout section to simplify the >process a bit.
There is no DPI option in the XF86Config file, but one could be added. (Separate question: does it make sense to have most/all command line options available as XF86Config file options?) >> IMO either you want the same DPI on both screens (fake whatever >> value you want with DisplaySize or X -dpi NN) or you want two >> non-xinerama heads - display:0.0 and display:0.1, which allows >> apps on each head to get the right answer for that screen*, and >> stops the DPI changes which would occur if the window was allowed to >> move between screens. > >I agree, but I think that Xinerama/MergedFB could at least be smart enough >to either: A. do the right thing if you have two displays with the same DPI >or B. throw in the towel when you have two displays with very different >DPI. I guess the Xinerama extension could be enhanced to allow applications to query the DPI of individual screens. While it might be useful for non-overlapping screens, especially when the application windows don't span screens, I don't know how useful it would be when one or more of the Xinerama screens overlap. In such cases a single pixel can simultaneously be displayed at multiple DPI. In those cases your "use DPI from screen foo" idea would probably be the answer. Then there's the video projector example, but I'd suggest that for most applications "DPI" needs to represent the effective pixel size of the image in a plane located at the typical viewing distance of a monitor in front of a computer user (i.e., be representative of the pixel's angular size). The non-Xinerama case of when the physical screen resolution can be different from the root window size was also mentioned. Applications can use the XFree86-VidMode extension to query the physical resolution. Unfortunately though, the XFree86-VidMode extension doesn't yet have support for allowing clients to get an event when video mode (or viewport) changes happen. David -- David Dawes Founder/committer/developer The XFree86 Project www.XFree86.org/~dawes _______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
