Xorg - how to specify a non-standard display resolution

7,567

Solution 1

If you don't mind getting 24px black bars at both sides of the screen and your video driver supports setting scaling mode, you could try the following:

  1. Generate modeline for your custom display mode:

    $ cvt 976 600

    You will get the output similar to:

    Modeline "976x600_60.00" 46.50 976 1016 1112 1248 600 603 613 624 -hsync +vsync

  2. Acknowlege X server via xrandr of this new mode (your modeline may differ):

    $ xrandr --newmode "976x600_60.00" 46.50 976 1016 1112 1248 600 603 613 624 -hsync +vsync

  3. Add this mode to LCD output:

    $ xrandr --addmode LVDS1 976x600_60.00

  4. Apply it:

    $ xrandr --output LVDS1 --mode 976x600_60.00 --set "scaling mode" Center

Caveats:

  • AFAIK, "scaling mode" property is specific to Intel KMS driver. Intel's UMS driver has "PANEL_FITTING" analogue. If you have non-intel graphics, i'm out :) Either way, you can always check available output properties with xrandr --properties command.

  • Your LCD output name may be different, you can get it with xrandr --query command.

  • To make this effect persistent, you should add steps [2], [3], [4] to a shell script and call it on X startup. I'm not aware if this can be done via Xorg.conf, however it could be possible.

Solution 2

I was obsessed with this, too.

randr --output LVDS1 --mode RES --scale 1.4x1.4

where RES is your max. physical supported resolution (800x600 is fine enough). And you'll have your screen scaled.

Share:
7,567

Related videos on Youtube

nodiscc
Author by

nodiscc

┏┓  ┏┓ ┏┛┻━━┛┻┓ ┃     ||| ┃   ┃ ⊙┛ ┗⊙|| ┃ ┃  ∝   ┃ ┃  ∑    ┃ ┗━┓  ┏━┛   ┃  ┗━━━━┓   ┃      ┏┛   ┗┓┓┏┳┓┏┛    ┃┫┫┃┫┫

Updated on September 18, 2022

Comments

  • nodiscc
    nodiscc over 1 year

    I have a netbook running on Debian whose LCD screen is partly broken (fallen from a desk). The problem is about 30 columns on the left of the screen not working anymore (totally black). The original resolution of the monitor is 1024x600, but i can no longer see anything displayed on this edge of the screen.

    I'd like to set Xorg display size to 1000x600, starting at coordinates 24,0. This way the black area wouldn't overlap my display (for now it's impossible to work with maximized windows).

    I had no xorg.conf, so I ran have ran Xorg -configure, tweaked xorg.conf and ended up with this: http://pastebin.com/FuXhRSBe and I thought it should work. Instead, Xorg always falls back to a 800x600, centered display when I use this.

    How do I get Xorg to show a 1000x600 display, offset by 24px ? Thanks

    • Dong Hae JANG
      Dong Hae JANG over 12 years
      Have you tried adjusting the Viewport setting to: Viewport 24 0 ?
  • Wyatt Ward
    Wyatt Ward over 9 years
    Thanks! I obtained an old CRT monitor and I wanted to emulate gamecube games on it in the gamecube's native resolution (640x528). Since CRT's are so flexible with resolutions, this is awesome! I am forever thankful!