How to get correct monitor resolution

Hi,
I tested OpenSuse 11.4 as a guest OS via virtualbox on a win7 32bit host. Output to my 16:9 screen was perfect with a plentiful choice of high resolutions. Now with Suse (32 bit) properly installed as the host the only resolutions are 1024X768 and below and I am stuck with 4:3 ratio. My PC is an Intel Atom D945GCLF2 which has integral graphics. The monitor is the VGA input of a Samsung TV.
I am would really appreciate some help with how to sort it out

The limitation is probably in the signal the Samsung TV is sending. openSUSE KDE authomatically adjusts to the lowest resolution monitor available. So for example if I connect to an external video projecter, it adjusts to the resolution of the external projector as long as I am connected to it. I doubt you can do anything within openSUSE to change this. You will need to change the messages the Samsung TV sends to openSUSE.

John,
Thanks for the quick response. I don’t think there is anything I can do about the Samsung. I should have told you that a year or so ago I used an old copy of SUSE (10.1 I think, not sure) with GNOME and it worked properly, as did a trial with Ubuntu at that time. So something has changed. Oh, the computer has changed, duhh. But I don’t understand why the new computer would work properly with SUSE as a guest on windows but not when SUSE is the host OS.
I should also have told you that I have installed my current copy of SUSE using the LXDE desktop. Would a change of desktop have any effect? I have read other threads about screen resolution, but am afraid that I am reluctant to leap in and fiddle about with things I know very little about. Is there anything I could do with sax2,xorg.conf, xrandr, or anything in that area?

Do you know the specs (in particular native resolution) of your monitor? If not, please at least supply model details.

Maybe you could try the approach suggested in this thread. It dealt with the same issue for a user with trident graphics hardware, but the same logic applies here.

NB: Be careful with your editing of the Xorg config files. You’ll need root privileges to edit them, so if you need further help with this, please post again.

@mountaineer
Yes lots of things have changed since 10.1. As I understalnd it, LXDE is largely maintained by one volunteer enthusiast drawing on what is available within the OBS and openSUSE ecosystem. My guess is that it behaves differently as guest and host because, as guest, it is relying on the host to manage the interaction with the hardware whereas, as host, it manages those interactions directly and the particular choices that have been made in creating the LXDE distro happen to restrict certain choices - I had originally assumed you were using KDE because that is way in which KDE’s handling of external monitors has evolved; from a user perspective it is infinitely better than it used to be in most situations - but not the particular one you are facing.

deano_ferrari,
Thanks for the pointer to the other thread from which I can see what probably has to be done. If I give you my info would you be kind enough to check it and confirm what editting I have to do please?

The TV is a Samsung LW26A33W, which was working on windows with a resolution of 1280X768.
The terminal outputs I get are:-

michael@linux-cq09:~> xrandr
Screen 0: minimum 320 x 200, current 1024 x 768, maximum 4096 x 4096
VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.0*
800x600 60.3 56.2
848x480 60.0
640x480 59.9 59.9
TV1 unknown connection (normal left inverted right x axis y axis)
1024x768 60.0
800x600 60.3
640x480 59.9
TV2 unknown connection (normal left inverted right x axis y axis)
1024x768 60.0
800x600 60.3
640x480 59.9
VGA2 unknown connection (normal left inverted right x axis y axis)
1024x768 60.0
800x600 60.3
640x480 59.9
michael@linux-cq09:~> /usr/sbin/hwinfo --gfxcard
09: PCI 02.0: 0300 VGA compatible controller (VGA)
[Created at pci.318]
Unique ID: _Znp.8qBs1tRfgWE
SysFS ID: /devices/pci0000:00/0000:00:02.0
SysFS BusID: 0000:00:02.0
Hardware Class: graphics card
Model: “Intel 945G”
Vendor: pci 0x8086 “Intel Corporation”
Device: pci 0x2772 “945G”
SubVendor: pci 0x8086 “Intel Corporation”
SubDevice: pci 0x464c
Revision: 0x02
Driver: “i915”
Driver Modules: “drm”
Memory Range: 0x90200000-0x9027ffff (rw,non-prefetchable)
I/O Ports: 0x20e0-0x20e7 (rw)
Memory Range: 0x80000000-0x8fffffff (ro,non-prefetchable)
Memory Range: 0x90280000-0x902bffff (rw,non-prefetchable)
IRQ: 16 (6709581 events)
I/O Ports: 0x3c0-0x3df (rw)
Module Alias: “pci:v00008086d00002772sv00008086sd0000464Cbc03sc00i00”
Driver Info #0:
XFree86 v4 Server Module: intel
Driver Info #1:
XFree86 v4 Server Module: intel
3D Support: yes
Extensions: dri
Config Status: cfg=no, avail=yes, need=no, active=unknown

Primary display adapter: #9
michael@linux-cq09:~>

Really appreciate your help.

The approach used in that thread I linked to, comes from the days when hand-editing was routinely required to get a desired disply mode. For most, this is now automatic, but your monitor is notorious for playing badly with Linux. I’ve seen lots of threads concerning different distros and xorg with this Samsung model (and similar).

Anyway, you’ll need to install an editor. My suggestion for a new user is to use ‘nano’. The config files can be edited with graphical editors, but you need root privileges, and I’m not sure how to do that via LXDE. (For KDE, one can do ‘kdesu kwrite <name_of_file>’ for example).

Open a terminal window and become root with

su -

Enter your root password when prompted. Now type

zypper in nano

Once installed, edit /etc/X11/xorg.conf.d/50-monitor.conf with the following changes (including uncommenting the horizontal and vertical timings by removing the ‘#’ character):

nano /etc/X11/xorg.conf.d/50-monitor.conf
Section "Monitor"
  Identifier "Default Monitor"

  ## If your monitor doesn't support DDC you may override the
  ## defaults here
  HorizSync 28-85
  VertRefresh 50-100

  ## Add your mode lines here, use e.g the cvt tool
Modeline "1280x768"  80.14  1280 1344 1480 1680  768 769 772 795  -HSync +Vsync

Note, I’ve included a modeline (which hopefully will allow the resolution you require), generated with the gtf command. (I just simplified its description to “1280x768” instead of “1280x768_60.00”).

Next, edit 50-screen.conf with

nano /etc/X11/xorg.conf.d/50-screen.conf

A ‘Modes’ entry is required that matches the reference given in the modeline. We have a modeline for “1280x768”, so we add that like this:

Section "Screen"
Identifier "Default Screen"
Device "Default Device"
Monitor "Default Monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x768"
EndSubSection
EndSection

Be careful with your editing. Once complete, restart your computer, or press ctrl-alt-backspace (twice) to restart X. See how that goes.

BTW, it may also be necessary to boot with the ‘nomodeset’ boot parameter to prevent KMS trying to detect your display device eraly in the boot process. That is outlined here (if its required):

SDB:Configuring graphics cards - openSUSE

If you haven’t already got so far, nano is installed as part of LXDE.

YESSS!!!

John,
Thanks for your interest and input. I didn’t find nano on my system, but I already had leafpad installed, with which I am more comfortable, so I proceeded with that.

deano_ferrari,
I logged out then logged back in as root. I then editted 50-monitor and 50-screen exactly to your specification. Being nervous I then had a cup of tea. I then rebooted, logged in as user and It works perfectly with nothing else required.
Thanks indeed for sharing your knowledge and experience.

deano_ferrari,
I logged out then logged back in as root. I then editted 50-monitor and 50-screen exactly to your specification. Being nervous I then had a cup of tea. I then rebooted, logged in as user and It works perfectly with nothing else required.
Thanks indeed for sharing your knowledge and experience.

That is a great result! Make sure you you don’t make a habit of logging in to your desktop as root - it is dangerous, and makes your system far more vulnerable to attack (and mistakes). When a particular command needs root privileges, open a terminal, and become root as outlined above. Yes, English Breakfast tea is my favorite when I’m in that situation…or a cold beer :slight_smile: