I just plugged my EeePC to a Sony BRAVIA KDL-32EX710.

Such TV supports resolutions up to 1920x1080, but RandR only let me use resolutions from 640x480 to 1024x768. In order to use full resolution I have to manually add a new mode to RandR at any boot.

  • Why does this happen?

  • Is there any clean way to let RandR know of this monitor? (cleaner than xrandr --newmode, xrandr --addmode)


The problem is not RandR, your video driver is not configuring the monitor based on the EDID information from the Monitor. Check the Xorg?.log file to see how the driver is configuring the monitor.

It is possible to configure the monitor in the xorg.conf configuration. I haven't tried this for a plug and play setup. Configuring a dual monitor setup might work better.

You could script the configuration so it is easier to do.

EDIT No, the module that is responsible for this is common and used by all the drivers. The video card manufacturers don't provide a common interface, so we need different drivers. The Xorg drivers factor out the common functionality and provide a standard application interfaces, which is why RandR works. xorg.conf is common to all the drivers.

If you are booting with the monitor turned on, it appears it is not providing an EDID (this is the monitor's responsibility). Look at /var/log/Xorg.0.log after starting with and without the monitor connected and turned on when you boot. This should give you some idea what is or isn't happening.

This is the solution I used with a dual monitor setup where one monitor didn't supply an EDID. I have moved this solution into my xorg.conf file, but that took a while to configure. This setup is simpler if you are using gdm. Similar solutions can be used for kdm or xdm. Replace my setup with what you are entering when you startup.

I created the file /etc/gdm/Init/Default containing:


#WAT - Setup dual displays
# Define new modes (60 and 75 hz)
xrandr --newmode 1280x1024    108.00  1280 1376 1488 1800   960  961  964 1000 +hsync +vsync
xrandr --newmode 1280x1024x75 135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync

# Add modes to screen
xrandr --addmode VGA-0        1280x1024
xrandr --addmode VGA-0        1280x1024x75

# Select the output mode
xrandr --output HDMI-0 --mode 1920x1080 --output  VGA-0 --mode 1280x1024 --left-of HDMI-0

# EOF 
  • Uh, any driver has to take care about this on its own? Why aren't these information centralized and in common for all the drivers? Well, guess I would need to dig deeper in the video infrastructure in order to understand this.... I was hoping in a more general solution (like adding a line in a DB-file or something), since I'll be using this monitor for a couple of weeks only. At the moment I'm adding the new mode with a script anytime I boot; it works, but looks like a dirty hack... – peoro Apr 24 '11 at 0:36
  • @peoro: See edit above. – BillThor Apr 24 '11 at 12:40
  • I mostly agree - I've seen several times that xrandr reports only "standard" resolutions like 800x600 and 1024x768. The problem was always in hardware - corrupted EDID in monitor or faulty VGA cable. In any case, see your Xorg.0.log for lines like "(WW) NVIDIA(GPU-0): Unable to read EDID for display device CRT-0". – dmitry_vk Apr 24 '11 at 18:11
  • Thanks, your answer is really clear. I checked my Xorg log file and it doesn't report errors: intel(0): EDID for output VGA1, then it shows the probed modes (which range from 800x600 to 1024x768 only). So well, the monitor is probably transmitting a wrong EDID; if I can I'll try using a different computer/OS in order to see if this is really the case. – peoro Apr 25 '11 at 14:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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