From: SourceForge.net <no...@so...> - 2004-09-09 00:30:47
|
Bugs item #1001702, was opened at 2004-08-02 02:06 Message generated for change (Comment added) made by tronic You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109655&aid=1001702&group_id=9655 Category: None Group: None Status: Open Resolution: None Priority: 4 Submitted By: Lasse Kärkkäinen (tronic) Assigned to: Nobody/Anonymous (nobody) Summary: Not possible to select display aspect ratio Initial Comment: Xine always uses DPI values from X. This is a problem because in many configurations it is practically impossible to get those DPI values correct. Add user-configurable display pixel aspect and desktop/display aspect ratio settings (both are required, but only one may be set at a time). Of course, the special case of 1:1 pixel aspect would help a lot already (because it applies to nearly all PC displays). ---------------------------------------------------------------------- >Comment By: Lasse Kärkkäinen (tronic) Date: 2004-09-09 03:30 Message: Logged In: YES user_id=57635 Believe me - I have examined all the options. And as I said, I also have the workaround on my own build. It's not good enough for release, but does the trick for me. And the patch? "gui_pixel_aspect = 1.0;" in vo_scale.c. Issues with that are: 1. no configuration (always on) 2. doesn't affect initial player window size calculation (initial window shape is incorrect, there are black bars in the window) ---------------------------------------------------------------------- Comment By: James Stembridge (jstembridge) Date: 2004-09-09 02:12 Message: Logged In: YES user_id=537148 If you find it so ridiculous that we are trying to find a resolution to your particular problem without having to spend our own free time coding then I suggest you implement a "simple workaround" yourself. ---------------------------------------------------------------------- Comment By: Lasse Kärkkäinen (tronic) Date: 2004-09-09 00:23 Message: Logged In: YES user_id=57635 There just is *no* (documented) way to configure this properly. If you think otherwise, please fix the following configuration accordingly: Section "Monitor" Identifier "959NF" HorizSync 30-110 VertRefresh 50-160 # Actual size of a 45 cm 4:3 monitor (like 959NF): DisplaySize 360 270 # THE SAME Monitor section is also used for the second monitor # Modelines omitted (there are ones for each monitor) EndSection Section "Device" Identifier "nvidia0" VendorName "nvidia" Driver "nvidia" BusID "PCI:1:0:0" Option "TwinView" Option "SecondMonitorHorizSync" "30-65" Option "SecondMonitorVertRefresh" "50-85" Option "TwinViewOrientation" "rightOf" Option "MetaModes" "1400x1050,800x600; 1400x1050,NULL; 1920x1080,NULL" EndSection Section "Screen" Identifier "Screen0" Device "nvidia0" Monitor "959NF" DefaultDepth 24 EndSection Now, what does this give us... Mode 0: 2200x1050 pixels, 361x272 mm, 155x98 DPI Mode 1: 1400x1050 pixels, 361x272 mm, 99x98 DPI Mode 2: 1920x1080 pixels, 361x272 mm, 185x101 DPI What we really want is: Mode 0: 360x270 mm + 280x210 mm, 99x99 DPI and 73x73 DPI Mode 1: 360x270 mm, 99x99 DPI Mode 2: 360x203 mm, 135x135 DPI Mode 2 is something I didn't even mention previously (mostly because I find it completely ridiculous that I have to prove you how other methods don't work until you will implement a simple workaround!). The monitor automatically detects that this is a wide-screen mode, and displays it as such. So, the physical monitor dimensions actually CHANGE on mode switch! BTW, is there even any kind of API in X/Xinerama that even could do Mode 0 properly, telling programs two different DPI values? Talking about combined desktop, of course. What all these modes have in common is that pixel aspect = 1.0. In fact, ALL PC systems (just like most others) are designed on top of that belief. You cannot even surf the web if your pixel aspect is anything else than that (well, some people /do/ use 1280x1024 on CRT and actually claim they can work with that, but that's off-topic). The traditional X multi-display mode is quite different, as explained by NVIDIA Linux README. Please go see that for more details, if you /really/ find that easier to do than implementing the workaround. There is a bug filed on NVIDIA about this, but there really isn't much they could do. The best thing would be some kind of workaround on their side, but the fundamental limitation seems to be in X itself, and I don't see how that's gonna change. No other programs I have used have blindly used the X DPI settings, without possibility to override. Most don't care rat's bottom about DPI and just assume square pixels. ---------------------------------------------------------------------- Comment By: Michael Roitzsch (mroi) Date: 2004-09-08 17:58 Message: Logged In: YES user_id=552060 Actually, X does support combined desktops on multiple screens. This is what Xinerama is about. This even works when the physical monitors are connected to different graphics cards. And this is also why the DisplaySize has to be handled inside X and not by xine: There are too many possibilites to consider and X already implements this properly. I still do not understand why one DiplaySize setting per physical monitor does not suit your needs. All the monitors I have seen never changed their phyiscal size. ;) ---------------------------------------------------------------------- Comment By: James Stembridge (jstembridge) Date: 2004-09-08 17:50 Message: Logged In: YES user_id=537148 According to the XF86Config man page the DisplaySize is set in the Monitor section. This being the case why can't it be set independently for each monitor? ---------------------------------------------------------------------- Comment By: Lasse Kärkkäinen (tronic) Date: 2004-09-08 17:36 Message: Logged In: YES user_id=57635 Did you read my post? It's a dual-display setup, with two monitors. This is a problem because it is NOT possible to configure DisplaySize separately for each display. Also, a combined DisplaySize doesn't make any sense, as each monitor probably has different DPI. In fact, I don't know if X or Xinerama even could handle this, but the NVIDIA driver certainly cannot. The combined desktop mode (TwinView) is clearly implemented in NVIDIA drivers, not by X (I don't think X even supports any kind of combined desktop directly). Just add a selection for square pixels (pixel aspect = 1.0) and it'll work in most configurations. In fact, that's what I've been using, but doing so requires hacking the source, and has some issues (window size is calculated with the incorrect aspect, probably because the pixel aspect override is done in the wrong function). Conclusion: the bug is a combination of X limitations and of NVIDIA hacks to get around those. Fixing the actual problem seems impossible, as it would require adding major new functionality to X. Thus, a workaround must be supported in every program that makes use of the DPI values provided by X. Most programs already allow manual DPI overrides. ---------------------------------------------------------------------- Comment By: Michael Roitzsch (mroi) Date: 2004-08-25 17:46 Message: Logged In: YES user_id=552060 Sorry, but I still don't quite get it. The DisplaySize in X11 is a physical size and is configured per physical monitor. I don't understand how using a monitor in different logical screens or with different resolutions can change its phyiscal size. Maybe you actually see a bug in your graphics driver? ---------------------------------------------------------------------- Comment By: Lasse Kärkkäinen (tronic) Date: 2004-08-25 09:47 Message: Logged In: YES user_id=57635 In TwinView (dual display) there is no way to configure separate DisplaySize for each display. Even if it is possible to get the DPI correct for one of the two displays, this will only work in one resolution. After switching resolutions (xrandr), it will be incorrect again. This seems to be a limitation with X, and I am not aware of any useful workarounds. ---------------------------------------------------------------------- Comment By: Michael Roitzsch (mroi) Date: 2004-08-02 14:44 Message: Logged In: YES user_id=552060 Why would it be impossible to get X report correct DPI values? You just have to configure the physical size of your display correctly. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=109655&aid=1001702&group_id=9655 |