X11 (xorg) fails to set/change resolution (linux x86)

1.5k views Asked by At

I'm trying to get a 10-inch touch display (native resolution: 1280x800) to switch to 1024x768, but everything I try is either ignored or results in an error. The display reportedly supports the resolution, though, xrandr --verbose reports (I'm using the default VESA driver):

xrandr: Failed to get size of gamma for output default
Screen 0: minimum 640 x 480, current 640 x 480, maximum 1280 x 800
default connected 640x480+0+0 (0x180) normal (normal) 0mm x 0mm
        Identifier: 0x17d
        Timestamp:  635022581
        Subpixel:   horizontal rgb
        Clones:
        CRTC:       0
        CRTCs:      0
        Transform:  1.000000 0.000000 0.000000
                    0.000000 1.000000 0.000000
                    0.000000 0.000000 1.000000
                   filter:
  1280x800 (0x17e)    0.0MHz
        h: width  1280 start    0 end    0 total 1280 skew    0 clock    0.0KHz
        v: height  800 start    0 end    0 total  800           clock    0.0Hz
  800x600 (0x17f)    0.0MHz
        h: width   800 start    0 end    0 total  800 skew    0 clock    0.0KHz
        v: height  600 start    0 end    0 total  600           clock    0.0Hz
  640x480 (0x180)    0.0MHz *current
        h: width   640 start    0 end    0 total  640 skew    0 clock    0.0KHz
        v: height  480 start    0 end    0 total  480           clock    0.0Hz
  1024x768 (0x181)    0.0MHz
        h: width  1024 start    0 end    0 total 1024 skew    0 clock    0.0KHz
        v: height  768 start    0 end    0 total  768           clock    0.0Hz

If I try to change the resolution via xrandr --output default --mode 1027x768, i just get:

xrandr: Failed to get size of gamma for output default
xrandr: Configure crtc 0 failed

As far as I can see, only the second line is relevant to my problem; I don't know why xrandr would want to configre crtc 0, though, I only have the touch screen connected.

Failing that, I tried to configure the mode directly using the following xorg.conf:

Section "InputClass"
        Identifier      "calibration"
        MatchProduct    "DIALOGUE INC PenMount USB"
        Option  "Calibration"   "95 911 93 919"
        Option  "SwapAxes"      "0"
EndSection

Section "Monitor"
        Identifier "disp0"
        Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
        Option "PreferredMode" "1024x768_60.00"
EndSection
Section "Device"
        Identifier "card0"
        Driver "vesa"
EndSection
Section "Screen"
        Identifier "src0"
        Device "card0"
        Monitor "disp0"
        SubSection "Display"
                Modes "1024x768_60.00" "1024x768"
        EndSubSection
EndSection

Unfortunately, This doesn't work, either Xorg.log shows the following:

[634043.694] (II) VESA(0): Not using mode "1024x768_60.00" (no mode of this name)
[634043.694] (II) VESA(0): Not using built-in mode "1024x768" (no mode of this name)

Why doesn't this work? And what else can I try to get the display to switch to 1024x768?

I've uploaded the full logfile to Pastebin.

1

There are 1 answers

1
Brook On

You can try to perform the following actions

cvt -r 1024 768
xrandr --newmode "1024x768_60.00"  63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
xrandr --addmode default 1024x768_60.00
xrandr --output default --mode 1024x768_60.00