1

I found many similar questions, tried all the possible solutions and none worked for me so far.

I have a lenovo thinkpad W530 and an LG IPS234 monitor and I am running ubuntu 16.04.01(uname -a prints out Linux <machine_name> 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux). I have nvidia-375 driver installed and this is the output from lspsi for my graphics card:

> sudo lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1000M] (rev a1)

And also here is the output from xrand:

Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00*+  50.00  
DP-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 510mm x 290mm
   1920x1080     60.00*+  59.94    50.00    60.05    60.00    50.04  
   1680x1050     59.95  
   1280x1024     60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1152x864      60.00  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       59.94    59.93  
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

As can be seen from the command above I am not able to choose any other resolution but 1920x1080 for my primary display. I tried using the build-in displays settings and also nvidia-settings, but can not change the resolution in either.

I have tried running(generated with cvt 1360 768 60):

xrandr --newmode "1360x768_60.00"   84.75  1360 1432 1568 1776  768 771 781 798 -hsync +vsync

And then xrandr --addmode LVDS-0 "1360x768_60.00". But this command fails with the error:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  45
  Current serial number in output stream:  46

As indicated by other answers I tried editing my xorg.conf file, but I do not have such file:

> ls /etc/X11
app-defaults             xkb                                Xresources
cursors                  xorg.conf.07232016                 Xsession
default-display-manager  xorg.conf.failsafe                 Xsession.d
fonts                    xorg.conf.nvidia-xconfig-original  Xsession.options
rgb.txt                  Xreset                             xsm
xinit                    Xreset.d                           Xwrapper.config

What can I do in order to be able to change the resolution of my laptop?

EDIT: after downloading the nvidia driver from nvidia and installing it again from the command line I finally have a xorg.conf. Also following instructions from this post and a few similar resources I added the following line in the Screen section:

Option         "ModeValidation" "AllowNonEdidModes, NoVirtualSizeCheck, NoMaxPClkCheck, NoWidthAlignmentCheck, NoExtendedGpuCapabilitiesCheck"

Now I have a few extra options in xrandr:

xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080     60.00*+  59.93    50.00  
   1680x1050     59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1280x1024     60.02  
   1280x960      60.00  
   960x540       59.99  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   640x480       60.00 

   ... Options for the LG monitor ...

The bad thing is that if I select any option but 1920x1080 my screen ends up severely distorted. It is split in 2 parts horizontally or 4 parts in each quadrant and each part is a mirror image of the others. Also the display in each part is severely stretched.

  • Usually the listed resolutions (by xrandr) are available. What happens when you run the following command lines in a terminal window: xrandr -s 1680x1050 or xrandr -s 1280x720 ? – sudodus Feb 19 '17 at 09:40
  • My LG monitor becomes blank, my main display scales (instead of resizes). What I mean by 'scales' is that parts of the screen fall off e.g. the unity bar which is on the bottom of the screen for me. Also part of my main display become black(i.e. parts of the display are not used) – Ivaylo Strandjev Feb 19 '17 at 10:56
  • I see. Have you tried with the method xrandr --newmode ... with another resolution, that is more likely to work, for example 1024x768? You may not be happy with that resolution, but it could be a start to get something that works. – sudodus Feb 19 '17 at 11:33
  • Yes I have tried and the result is the same. – Ivaylo Strandjev Feb 19 '17 at 11:34
  • Have you tried with some boot option, nomodeset or better some similar but more precise modeset option? You can have a look at this link and links from it: https://ubuntuforums.org/showthread.php?t=2230389&p=13370808#post13370808. – sudodus Feb 19 '17 at 11:42
  • http://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt is an exhaustive list of kernel boot parameters from kernel.org – sudodus Feb 19 '17 at 11:49
  • @sudodus actually I have used nomodeset to recover from some of the experiments I mention. This does not solve my problem, though - I am still not able to choose different resolution in 'normal' boot. Also the second link you provide does not mention anything like nomodeset or other modeset options, so I do not know what is it that I should be looking for – Ivaylo Strandjev Feb 19 '17 at 12:12
  • Maybe boot options are a dead end street in this case. Have a look at this link, https://wiki.archlinux.org/index.php/NVIDIA - Information at Arch is often useful also for Ubuntu users. – sudodus Feb 19 '17 at 12:31
  • Are "all the possible solutions" that you tried and the results you got when you did [edit]ed into your question? – Elder Geek Feb 21 '17 at 21:19
  • I believe so. At least there is information what I tried and where it fails – Ivaylo Strandjev Feb 21 '17 at 21:25

2 Answers2

2

The root cause of your difficulty here appears to be choosing an unsupported resolution (one your monitor or display panel cannot display) which explains the results you have been getting. Unfortunately your LVDS-0 connected primary display doesn't support other resolutions. I believe because a fixed-raster cannot change resolution to match the signal being displayed as a CRT monitor can and it doesn't seem to support interpolation (scaling of the image), which causes a loss of image quality.

The W530 comes with one of the following TFT displays:

15.6" TFT display with 1366x768 (HD) resolution with LED backlight
15.6" TFT display with 1600x900 (HD+) resolution with LED backlight
15.6" TFT display with 1920x1080 (FHD) resolution with LED backlight

That being the case, I believe you are stuck with supported resolution of 1920 x 1080 on that FHD panel.

You can however reduce the resolution on the other screen if you so desire.

If this is your manual as it appears to be, your supported resolutions are:

    Display Modes: 
(Resolution) Horizontal Frequency(kHz) Vertical Frequency(Hz) Polarity(H/V)
    720 x 400              31.468             70                       -/+
    640 x 480              31.469             60                       -/-
    640 x 480              37.500             75                       -/-
    800 x 600              37.879             60                       +/+
    800 x 600              46.875             75                       +/+
    1024 x 768             48.363             60                       -/-
    1024 x 768             60.023             75                       +/+
    1152 x 864             67.500             75                       +/+
    1280 x 1024            63.981             60                       +/+
    1280 x 1024            79.976             75                       +/+
    1680 x 1050            65.290             60                       -/+
*   1920 x 1080            67.500             60                       +/+     *Recommended Mode

As you can see in the above table your chosen resolution of 1360x768_60.00 is not supported by this model. Use one of the supported resolutions.

Use cvt to generate a modeline for a supported resolution from the above table, For example:

cvt 1280 1024 75 Which on my system produces a modeline of

Modeline "1280x1024_75.00"  138.75  1280 1368 1504 1728  1024 1027 1034 1072 -hsync +vsync

but will differ on yours and I expect will end with +hsync +vsync

Note: Always generate your own modelines based on the specifications of your monitor. Choosing a modeline designed for a different monitor can have unpredictable results.

If your monitor is being properly setup, xrandr should output all the available modes.

Here's an example for my monitor:

xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 32767 x 32767
VGA1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 408mm x 255mm
   1440x900       59.9*+   75.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1280x720       60.0  
   1024x768       75.1     70.1     66.0     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0  
   720x400        70.1  
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

In the output above, the * mark indicates the current mode and the + mark indicates the preferred mode.

If a mode already exists you can add it to an output with

xrandr --addmode VGA1 800x600 where VGA1 is your output. It appears that your output is DP-0 so you would replace VGA1 with DP-0.

If a supported mode is missing, you can add it with the command

xrandr --newmode ModeLine Where ModeLine is the ooutput from cvt. In the example case this would be:

xrandr --newmode "1280x1024_75.00" 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync

So to recap.

1) consult your manual for the table of supported resolutions, choose one and add it to the options for the output with xrandr (example above)

or if a supported resolution isn't listed, generate a Modeline for a supported resolution with cvt and then create the new mode as shown above with xrandr --newmode ...

If something here is unclear, drop me a comment and I'll do my best to clarify.

Sources:

https://www.manualslib.com/manual/415945/Lg-Ips234v.htm

https://pkg-xorg.alioth.debian.org/howto/use-xrandr.html

http://www.thinkwiki.org/wiki/Category:W530

https://en.wikipedia.org/wiki/Native_resolution

Elder Geek
  • 36,023
  • 25
  • 98
  • 183
  • Thank you for the detailed answer! I am awarding you the bounty as you really deserve it! However I still have some questions - I have another laptop w540(my work computer) and I was able to reduce its resolution from 1920x1080 to 1600x900 - everything works just fine. Still following the logic from your answer and the manual for w540 I shouldn't be able to do that. Also I have added an edit to my answer as I think I did a little progress, but still have no luck in reducing the resolution of my w530. – Ivaylo Strandjev Feb 24 '17 at 21:25
  • It seems that the w540 uses an FHD twisted nematic panel which I believe is a different animal from the TFT display on your w530. Here's a list of TFT displays and the ThinkPad models they were offered on – Elder Geek Feb 24 '17 at 21:40
  • your answer implies that not being able to reduce the resolution is a hardware limitation. But my machine is dual boot so when I start my Windows 7, I am able to change the screen resolution of the ThinkPad to 1366x768 and to 1600x900 without problem. If this was a hardware limitation I wouldn't be able to do that, right? – Ivaylo Strandjev Feb 25 '17 at 06:31
  • You don't specify which of the 2 Thinkpad models you mentioned you are referring to, the w530 or the w540. Windows questions are off topic here but are welcome at our sister site http://superuser.com – Elder Geek Feb 25 '17 at 13:56
  • It is the w530 and I am not trying not asking windows question, just referring to that as an evidence that there is no hardware limitations for lower screen resolution – Ivaylo Strandjev Feb 25 '17 at 13:58
  • Logically that makes sense. If as you say, Windows can use these other resolutions then it would be logical to believe that providing the correct parameters to xrandr would allow you to add those modes. Perhaps Lenovo support can shed some light on the discrepancy between published capabilities and actual capabilities and/or provide technical data on the panel in question. My research indicates that the panel is incapable. If it is, I can't explain why the manufacturer wouldn't provide that info. – Elder Geek Feb 25 '17 at 14:19
1

Per the question above. You don't have an xorg.conf .

Sometimes this is generated on the fly or defaults are used. Now I don't think it is used much at all except to override defaults.

xorg.conf is run first from /etc and then /etc/X11 and then X looks for other alternatives and defaults.

You can create xorg with something like X --configure

It will create an xorg.conf that you can copy to your /etc directories. ' Another way is to copy your Xfailsafe.conf, configure, rename to xorg.conf, and place in the /etc directory.

Sometimes it will bet overwritten, and you may have to change permissions.

Read here.

Regards, Wesley

  • This does help in the sense now I have xorg.conf but does not address the main problem of not being able to decrease the resolution, however it helped me a bit in doing some progress. After some research I was able to add more resolutions, but anything but the original resolution 1920x1080 is broken - the screen is split in multiple parts, each showing a severely distorted version of the original screen. I will edit my question later to add more detail on what my xorg.conf looks like now and what I tried – Ivaylo Strandjev Feb 23 '17 at 08:33