Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

This question already has an answer here:

I have a slightly unusual requirement for a custom resolution configuration in xorg.conf and need some help to figure out how to achieve it. I have a projector with 1400x1050 native resolution and want to use it in a poor man's Cinemascope mode @ 1400x584. The problem is I still need to feed the projector a full frame signal, while restricting X (or XBMC in this case) to only use a 1400x584 "slice", while outputting black/blank pixels above and below this. Ideally, I'd like to be able to define where the output "window" is positioned vertically within the 1400x1050 frame, but centered would be fine too. I'm pretty sure this should be possible but despite hours of searching I haven't been able to find any good answers - probably because most people aren't stupid enough to only want to use part of their screens... Any ideas?

Edit - These are the reported stats for the projector:

(II) NVIDIA(0): Frequency information for CAI CANON PJ (DFP-1):
(II) NVIDIA(0):   HorizSync   : 15.000-80.000 kHz
(II) NVIDIA(0):   VertRefresh : 50.000-85.000 Hz

(II) NVIDIA(GPU-0):   1400 x 1050 @ 60 Hz
(II) NVIDIA(GPU-0):     Pixel Clock      : 108.000 MHz
(II) NVIDIA(GPU-0):     HRes, HSyncStart : 1400, 1448
(II) NVIDIA(GPU-0):     HSyncEnd, HTotal : 1560, 1688
(II) NVIDIA(GPU-0):     VRes, VSyncStart : 1050, 1051
(II) NVIDIA(GPU-0):     VSyncEnd, VTotal : 1054, 1066
(II) NVIDIA(GPU-0):     H/V Polarity     : -/-

Another Edit - After more head-scratching, measuring and testing I've come up with a revised plan:

The projector has a motorized zoom, and what's more, it turns out that if I set the aspect ratio to 16:9 (on the projector) I am able to shift a 788px tall frame up/down within the 1050px tall viewport using the remote. Result! Combining that with the above, and with the help of the answers below, I think the best solution is to set the screen resolution in xorg.conf to 1400x788 (16:9) and use the zoom function to expand the projected image to the full height of the screen when viewing 2.39:1 (Cinemascope) content - thereby pushing the black bars off the screen and onto the masking. This solution has some major benefits:

  1. When viewing 16:9 content I make use of nearly twice the number of pixels (1.1Mp vs. 600kp)
  2. I gain the ability to adjust the vertical position of the image on the fly using the remote
  3. A zoomed in picture is slightly brighter than the fully zoomed out one

The drawback is that to switch aspect ratios I now have to perform three steps: move the masking, zoom the picture and shift it into position vertically, as opposed to just moving the masking - but I can definitely live with that. The only question now is which of these two modelines to use:

Modeline "1400x788@69" 108.00 1400 1432 1840 1872 788 803 812 828 -hsync -vsync
Modeline "1400x788@60" 89.66 1400 1432 1768 1800 788 804 812 828 -hsync -vsync

That is, should I go for maximum refresh (69Hz) or standard refresh (60Hz)?

share|improve this question

marked as duplicate by Anthon, slm, rahmu, terdon, jasonwryan Nov 21 '13 at 16:33

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
Why not just use no WM, a black background and position whatever app you're displaying where you want it to go? –  Mat Nov 19 '13 at 14:24
    
@Mat: Thanks for your suggestion! I can't do that as I want XBMC's internal scaling to kick in when displaying non 2.39:1 format video - that is I want the video to always be full height and only the width to vary. –  Ola Tuvesson Nov 19 '13 at 14:27
    
@OlaTuvesson: Yes, my Xephir solution may not be what you need, but there are two ansers to that question and the other one talks about the modeline thing hildred mentioned which seems to be what you need ... –  Bananguin Nov 19 '13 at 22:23
    
@Bananguin: I stand corrected, and with some embarrassment I note that the second answer to that question is probably what I'm looking for. This is a duplicate question after all! :) –  Ola Tuvesson Nov 19 '13 at 22:54

2 Answers 2

up vote 0 down vote accepted

A very similar question was asked before and its answer contains a link to a page/script that can generate the modelines you need for your setup.

share|improve this answer
1  
Please do post an answer with just a link. If you think that this question is a duplicate of the earlier question, flag it as a duplicate (or vote to close if you have enough reputation). If the questions are too different to be considered duplicates, then this question deserves a proper answer, not a treasure hunt. –  Gilles Nov 19 '13 at 23:49
    
@Gilles: I think that's being a tad unfair, after all it was I who made the mistake of not reading all the answers to the linked question in full - and more importantly checking out the linked script on Sourceforge, which turned out to be just what I was looking for. Bananguin merely pointed this out, which I think was quite helpful! –  Ola Tuvesson Nov 20 '13 at 0:09
1  
@Gilles: I have had trouble making calls concurring with other SE users as far as links to answers, duplicates and/or partial answers are concerned. I concluded I will restrict myself to provising information and leave formal matters for others. Feel free to do the right thing du jour with this information. –  Bananguin Nov 20 '13 at 8:26
    
@Bananguin My position on link-only answers is that they have no place here: they are links to answers, not answers. The official position is that there is no consensus, which many people use as an excuse to do nothing (which amounts to saying link-only answers are ok). –  Gilles Nov 20 '13 at 10:13

Ok this is a nasty solution, but it works: what you need is a custom modeline. what you want to do is keep the overall timing the same by decreasing the scanlines but increasing the rescan time to compensate. The math for this is a little harry but documented. I can probably do the math but I would need your existing modeline.

share|improve this answer
    
While I wish I could accept both yours and @Bananguin's answer, I think since you are also a newcomer to Unix Stack Exchange it should be yours. After all, what's another 10 points to someone who already has 2k+ of them! :) But maybe you can help advise on the last part of my updated question? I have to confess that although I have a vague sense of maybe partially understanding what a modeline does it's still a bit of an archaic CRT mystery to me! –  Ola Tuvesson Nov 19 '13 at 23:18
    
A modeline specifies timing and describes the signal sent to the monitor –  hildred Nov 19 '13 at 23:28
    
Yeah, well, I knew that much! :) I was hoping you could help me choose/generate the "best" configuration for my particular "monitor" and resolution, based on the information in my question - and maybe even explain why that particular modeline is likely to work best. But I guess that's what en.wikipedia.org/wiki/XFree86_Modeline + a brain is for. –  Ola Tuvesson Nov 19 '13 at 23:40
    
Modeline syntax: pclk hdisp hsyncstart hsyncend htotal vdisp vsyncstart vsyncend vtotal [flags] Flags (optional): +HSync, -HSync, +VSync, -VSync, Interlace, DoubleScan, CSync, +CSync, -CSync Zzzzz... zzzz... zzz... –  Ola Tuvesson Nov 19 '13 at 23:41
    
Damn, it seems my brain went to sleep after the first couple of paragraphs... –  Ola Tuvesson Nov 19 '13 at 23:42

Not the answer you're looking for? Browse other questions tagged or ask your own question.