53

I have a DELL U2410 monitor connected to a Compaq 100B desktop equipped with an integrated AMD/ATI graphics card (AMD E-350). The installed O/S is Ubuntu 10.04 LTS.

The computer is connected to the monitor via the DVI connection.

The problem is that I cannot set the desktop resolution to the native 1920x1200. The maximum allowed resolution is 1600x1200.

Doing some research I found about the xrandr utility. Unfortunately, when trying to use it I cannot configure it to the required resolution. First, it does not report the output name (which supposed to be DVI-0), saying default instead. Without it I cannot use the --fb option.

The EDID utility seems to identify the monitor well. Here's the output from get-edid:

    # EDID version 1 revision 3
Section "Monitor"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    Identifier "DELL U2410"
    VendorName "DEL"
    ModelName "DELL U2410"
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
    HorizSync 30-81
    VertRefresh 56-76
    # Max dot clock (video bandwidth) 170 MHz
    # DPMS capabilities: Active off:yes  Suspend:yes  Standby:yes

    Mode    "1920x1200" # vfreq 59.950Hz, hfreq 74.038kHz
        DotClock    154.000000
        HTimings    1920 1968 2000 2080
        VTimings    1200 1203 1209 1235
        Flags   "-HSync" "+VSync"
    EndMode
    # Block type: 2:0 3:ff
    # Block type: 2:0 3:fc
    # Block type: 2:0 3:fd
EndSection

but the xrandr -q command returns:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  

When I try to set the resolution, I get:

$ xrandr --fb 1920x1200
xrandr: screen cannot be larger than 1600x1200 (desired size 1920x1200)

$ xrandr --output DVI-0 --auto
warning: output DVI-0 not found; ignoring

How can I set the screen resolution to 1920x1200? Why doesn't xrandr identify the DVI-0 output?

Note that the same computer running Ubuntu version higher than 10.04 detects the correct resolution with no problems. On this machine I cannot upgrade due to some legacy hardware compatibility problems.

Also, I don't see any optional screen drivers available in the Hardware Drivers dialog.

----

UPDATE:

following the answer to this question, I got some advance. Now the required mode is listed in the xrandr -q list, but I can't switch to that mode. Using the Monitors applet (which now shows the new mode), I get the response that:

The selected configuration for displays could not be applied. Could not set the configuration to CRTC 262.

From the command line it looks like this:

$ cvt 1920 1200 60
# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr --newmode "1920x1200_60.00"  193.25  1920 2056 2256 2592  1200 1203 1209 1245 -hsync +vsync

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
  1920x1200_60.00 (0x120)  193.0MHz
        h: width  1920 start 2056 end 2256 total 2592 skew    0 clock   74.5KHz
        v: height 1200 start 1203 end 1209 total 1245           clock   59.8Hz

$ xrandr --addmode default 1920x1200_60.00

$ xrandr -q
Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200
default connected 1600x1200+0+0 0mm x 0mm
   1600x1200       0.0* 
   1280x1024       0.0  
   1152x864        0.0  
   1024x768        0.0  
   800x600         0.0  
   640x480         0.0  
   720x400         0.0  
   1920x1200_60.00   59.8  

$ xrandr --output default --mode 1920x1200_60.00
xrandr: Configure crtc 0 failed

Another piece of info (if it helps anyone):

$ sudo lshw -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc
       vendor: ATI Technologies Inc
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff

----

UPDATE 2: Here's the updated lshw listing:

$ sudo lshw -numeric -c video
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: ATI Technologies Inc [1002:9802]
       vendor: ATI Technologies Inc [1002]
       physical id: 1
       bus info: pci@0000:00:01.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi bus_master cap_list
       configuration: latency=0
       resources: memory:c0000000-cfffffff(prefetchable) ioport:f000(size=256) memory:feb00000-feb3ffff
ysap
  • 6,981
  • If I checked it correctly you have an LED Monitor - but your software "xrandr" wants to configure a "crtc" - which is a Cathode Monitor. I do not know what to do now - but maybe you find some setting you can change so that it does try to talk to your LED monitor. Hope this helps a bit. Sorry. – Peterling Sep 10 '12 at 22:27
  • @Peterling - I noticed this is a recurring message for other reporting this error, but it is true that it is weird. I have no clue what to do about this. – ysap Sep 11 '12 at 00:13
  • 1
    Now a "crtc" is just a term. Pixels are still clocked out in lines and pixels and the crtc is the clock mechanism in the video logic that produces a correct timing for a certain resolution. When the term was introduced a "crtc" was an actual individual integrated circuit and the display could only be a CRT. – John S Gruber Sep 11 '12 at 05:11
  • What video driver are you using? – John S Gruber Sep 11 '12 at 16:24
  • @JohnSGruber - how can you tell? – ysap Sep 12 '12 at 13:27
  • You can look at the lines in the log file /var/log/Xorg.0.log where the video is being set up and the video driver is communicating with the monitor and setting up Modelines. Those lines will have a driver name mentioned. You may also be able to tell by executing lsmod and seeing what Linux modules are in use, or by looking at the log /var/log/syslog right after booting up the system--but I would look at /var/log/Xorg.0.log as it is definitive as to what the xserver is trying to do. – John S Gruber Sep 12 '12 at 14:07
  • @JohnSGruber - as far as I can tell, there are 3 drivers mentioned - RADEON/ATI (driver 0), VESA (1) and FBDEV (2). I see LoadModule: "ati" and LoadModule: "radeon" both from vendor X.org foundation. ati_drv.so and radeon_drv.so are version 6.13.0. – ysap Sep 12 '12 at 16:54
  • In the lsmod report I see vga16fb, vgastate and fbcon but no ati or radeon. – ysap Sep 12 '12 at 16:56
  • In the syslog report I see vgaarb: device added... and vgaarb: loaded, vga16fb: initializing, vga16fb: mapped... – ysap Sep 12 '12 at 17:01
  • As I mention in my answer addition, radeon should be among the output of lsmod (you don't mention fglrx, the ATI proprietary driver that could be an alternative). Wikipedia says that the E-350 uses the Radeon HD 6310 for its graphics, and the output from when I run the Radeon driver on my system mentions that as supported hardware. The Radeon driver is much more modern than the others you mention. Your output of lshw -c video above says the controller is unclaimed. – John S Gruber Sep 12 '12 at 18:46
  • Could you add the output from sudo lshw -numeric -c video to your question. The "-numeric" will provide the hardware number that's supposed to tell the kernel to use that more capable radeon driver to drive it. – John S Gruber Sep 12 '12 at 18:46
  • @JohnSGruber - at last I have the computer up and running - it seems like the enumeration of the ATI adapter is [1002:9802] (whatever that means). – ysap Sep 14 '12 at 20:34
  • It means that you will probably have to upgrade your kernel at least to the Natty level to get a modern driver to support it. I've updated my answer. – John S Gruber Sep 17 '12 at 01:29

8 Answers8

28

I also encountered this problem (used to have a Dell 23" screen)

First, determine which interface is connected to your display:

$ xrandr -q

The command output will be:

mukolla@pk:~$ xrandr -q

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192

LVDS connected (normal left inverted right x axis y axis)
   1366x768       60.0 +
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  

HDMI-0 disconnected (normal left inverted right x axis y axis)

VGA-0 connected ......

   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

External display is connected to the port VGA-0. This is important to notice.

Now add a new mode to display:

$ xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode VGA-0 1920x1080_60.00
$ xrandr --output VGA-0 --mode 1920x1080_60.00
Eliran Malka
  • 1,205
  • 18
  • 36
10

I think you will have gotten somewhere when you get this to increase:

Screen 0: minimum 640 x 400, current 1600 x 1200, maximum 1600 x 1200    
                                                  ⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑⇑
 

Then, I think, you will be able to get xrandr to use the custom mode you've learned how to define (if you still need it after fixing the basic problem).

Increase Virtual Screen Size

[This][1] article suggests adding a Virtual line to the Screen section of a xorg.conf configuration file to set the maximum screen size. It's from a couple of years ago. When testing this I wasn't able to set the Virtual line past the maximum screen size given by xrandr -q, however. With my driver and hardware that value was an already quite large 8192x8192, however.

You could experiment by adding this as /etc/X11/xorg.conf, for example:

Section "Screen"
    Identifier "My Screen"
    Subsection "Display"
        Virtual 2048 2048
    EndSubSection
EndSection

You will probably not see a /etc/X11/xorg.conf as today's video drivers will attempt to determine reasonable defaults for everything and modern distributions leave that file out. It will be used if present, however.

If you do already have an /etc/X11/xorg.conf file you can try adding the above Virtual line to the Display subsection of its Screen section

I suggest you test this with a command line editor since there's some chance it will mess up your ability to sign on with the Ubuntu GUI and you may need to do Alt-Ctrl-F1, sign on, and edit (or remove) the file using command line tools. Any errors should in /var/log/Xorg.0.log or /var/log/Xorg.1.log.

In fact, you could and should test this by logging into an additional userid on your system (without logging out of your usual userid) and checking from the new session, that way you can use Alt-Ctrl-F7 to go back to your working GUI if there's trouble. In the case that you are using an additional user id to log in without logging out of the first the appropriate log will be /var/log/Xorg.1.log. Don't log out of the working session or boot until you have a working xorg.conf or have again removed it.


Use a Different Graphics Driver

Another article I read resolved this problem by switching drivers, but I see from your question that the Additional Drivers program doesn't give you any alternatives. (I assume that's what you mean above when you mention the "Hardware Drivers dialog". Unless you change drivers with the Additional Drivers program you will use a driver the kernel deems appropriate for your video card or the video logic on your motherboard.

For the OP, from what you described in your comments above it appears that your system should be using the radeon driver, but isn't. I use the radeon driver and commonly set my horizontal resolution to 1920 (max for the driver/card seems to be 8192). The vesa and fb drivers are very basic drivers for old hardware--old enough that monitors of that era didn't have very large displays.


Upgrade Ubuntu

If you are running a computer newer than the Ubuntu version you have installed and, in particular, its Linux kernel it's completely possible that the kernel won't recognize your graphics adapter. If that's the case you need to upgrade your Ubuntu software which contains support for your equipment.

Since he can't get fglrx to run, this unfortunately is the case for ysap. Because of the newness of this equipment relative to the release ysap is running, there is no support for [1002.9802] in the Lucid (or Maverick either) Linux kernel. First support for this equipment appeared in the Natty 2.6.38 kernel. To check for support for a particular device in kernel modules you can go to /lib/modules/kernel-version/module.alias file and search for the adapter's value. For that equipment:

grep v00001002d00009802 /lib/modules/2.6.38-10-generic/modules.alias

To check Natty's kernel support. It replies:

alias pci:v00001002d00009802sv*sd*bc*sc*i* radeon

As a test, you can try to boot a live CD on the system and try to set the resolution you desire in that environment (click on Try Ubuntu, rather than Install).

Getting appropriate driver support can also enable modern graphics facilities like direct rendering and OpenGL support, greatly improving performance and aesthetics.

For a personal computer you may also be able to use an upgraded kernel if a compatible one is available for your version of Ubuntu. For a production computer it may be necessary to upgrade Ubuntu to a newer version, when available, for the sake of reliability and robustness.

John S Gruber
  • 13,336
  • 2
    The strange thing is that I have no xorg.conf anywhere in the file system. But, if my understanding is right, in modern gnome this file is obsolete and is not required. I did find the xorg.conf.d program and the relevant man page. – ysap Sep 12 '12 at 13:34
  • 1
    /etc/X11/xorg.conf is no longer needed for the hardware of most systems, but it is not obsolete--you can provide one to set details you need. That's how I tried the above. Those details can also be put in a file you add to the directory /etc/X11/xorg.conf.d/ . I'll add an example. – John S Gruber Sep 12 '12 at 14:03
  • Let's see if that is clearer. Please let me know if not. – John S Gruber Sep 12 '12 at 14:49
  • Thanks, John. I tested the xorg.conf file you posted and indeed it screwed up my display when I switched accounts, so I had to remove it. – ysap Sep 12 '12 at 17:40
  • On Ubuntu 10.04 there is a "Hardware Drives" applet under the System/Administration menu. This applet listed no alternative drivers. However, I just realized that the PC in question is not currently connected to the internet (we're in a demo right now), so it is possible that once we're back at the office I'll see an ATI driver alternative. I vaguely remember from that past that the proprietary drivers did not solve the problem, and I was never able to get that resolution with 10.04. – ysap Sep 12 '12 at 17:47
  • Of course.....Wikipedia says your graphics hardware was first released in 11/10 and your 10.04 kernel would be circa 1/10. It makes perfect sense that your kernel wouldn't recognize your graphics and would run it as a small frame buffer. It probably runs Unity slowly, as well. I've added to my answer. You might want to run an Ubuntu Live CD for 12.04 with it to see if that uses the Radeon driver and gives you better resolution and performance. – John S Gruber Sep 13 '12 at 15:13
  • Thanks and sorry for the delayed response. We are back at the office now, bu the problematic computer is still not here. However, I read your additional comments and it does make sense. We first bought these computers exactly a year ago, so I assume that they are indeed newer than 10.04. I think I did mention in the question that the resolution is just fine with any O/S later than 10.04 (I think I tried them all up to 12.04 on some other specimens of the B100), so your assumption does make sense. – ysap Sep 13 '12 at 18:57
  • The reason we try to stick to 10.04 is because we use these as dev platforms for some embedded processor FPGA dev kit, were we found out that the provided USB drivers are most stable with 10.04. – ysap Sep 13 '12 at 18:58
  • Thanks, John, for the elaboration. I realized already that this is a kernel version problem. As I mentioned above everything runs fine on newer systems (on similar computers). I hope this discussion prevents some future frustration from other users - we learned a couple of techniques for analyzing and getting more intimate familiarity with our systems. – ysap Sep 17 '12 at 09:28
7

G'day all. I had this problem when connecting to an Ubuntu system which has no screen (used to have a Dell 24" screen, but it was needed elsewhere). I'm not bright enough to know why this works, but here is a series of command which works for me - no file editing required.

Note: that when you reboot, you need to run them again. I suggest a shell script.

gtf 1920 1200 60 -x
xrandr --newmode "1920x1200_60.00"  193.16  1920 2048 2256 2592  1200 1201 1204 1242  -HSync +Vsync
xrandr --addmode VGA1 1920x1200_60.00
xrandr --output VGA1 --mode 1920x1200_60.00
Seth
  • 58,122
6

Try installing arandr to setup your xrandr config with a GUI. This allows you to see all the supported options for each screen, select and apply (seeing the result) and keep the one that best fits your needs

sudo apt install arandr

Then setup you your displays' resolution, orientation and position and finally save the config.

You can see its output is a shell script (.sh) usually on ~/.screenlayout.

Elder Geek
  • 36,023
  • 25
  • 98
  • 183
mwm
  • 435
5

I added the above lines (got slightly different output from the gtf command) to the .xprofile file in my home directory. Worked like a dream. See below.

gtf 1920 1080 60 -x

xrandr --newmode "1920x1080_60.00"  172.80  1920 2040 2248 2576  1080 1081 1084 1118  -HSync +Vsync

xrandr --addmode Virtual1 1920x1080_60.00

xrandr --output Virtual1 --mode 1920x1080_60.00

I'm using the Vmware Player, hence the name of the output.

Tim
  • 51
0

I have found this article useful to me to set up/ configure hdmi resolution using a vga-hdmi converter.

I have been doing the script as simple as:

#!/bin/bash

xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084$ xrandr --addmode VGA-1 1920x1080_60.00 xrandr --output VGA-1 --mode 1920x1080_60.00

It is put in /usr/local/bin/script_name.

Then, I add it in "session and start" It works as soon as I log in my account.

Question: how can I run this script as system_wide and do not need to add script on every single account in system?

Eliah Kagan
  • 117,780
Jamesf
  • 1
0
#!/bin/bash


#xrandr -q

#cvt 1440 900  (Resolution you want,without x)

# 1440x900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync




#xrandr --newmode "1440x900_60.00"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync     (copy from "1440x900---------------------------- +vsync)

#xrandr --addmove DP-1(your display name) 1440x900_60.00

Then check you display setting ,and the resolution you added they will be appear in your setting.....Thanks

Lorenz Keel
  • 8,905
  • it's a script file where all commands are commented out and where commands and related outputs are merged. I suggest you to [edit] your answer in order to provide some clarifications. – Lorenz Keel Nov 07 '20 at 13:31
0

in i3wm (/home/$USER/.cinfig/i3/config)

exec --no-startup-id xrandr --output DVI-I-1 --mode 1440x900_59.89 --left-of VGA-1 --mode 1280x720_59.80 &

Font: https://linuxdicasesuporte.blogspot.com/2019/05/gui-para-xrandr-no-seu-gnulinux.html