Wednesday 10 February 2010

Why is my screen resolution only 800x600?

I finally managed to get Ubuntu installed, only to find that the screen resolution was only 800x600 stretched across 15.6” Wide-screen LCD Panel.....but why and how can I resolve it?

Well, before I investigated to much, I decided configure the wireless adapter and download all the updates (maybe that will fix it anyway!).

Luckily, Ubuntu was able to detect the wireless card without intervention. So, it was just a matter of configuring the adapter in the GNOME Windows Network Manager.


The updates were detected automatically as soon as I connected to the internet; I downloaded and applied them. I also decided I wanted to install KDE - I loaded the package manager and selected the KDE Desktop packages; After completing KDE package installs, I rebooted to see if the screen was any better-but it wasn't :(

Given that the updates hadn't resolved my screen resolution problem, I checked the /var/log/Xorg.0.log file and found that the VESA Driver had been loaded rather the a 3D graphics driver from a manufacturer. I knew from the specs that laptop that I had a Mirage 3+ SiS672 graphics adapter, so I looked in the /usr/lib/xorg/modules/drivers directory for a SiS driver.

It was there, so why isn't it detected?

Since, its not detected by default - I decide that its worth trying to force it in xorg.conf. I navigated to /etc/X11 but the xorg.conf is missing???

what that can't be right...well yes, it turns out that Ubuntu 9.10 X configuration is automatic, and by default the xorg.conf file doesn't exist, but if you create one, Xorg will read it!

So I created a new xorg.conf file in /etc/X11 with the following lines:

Section “Device”
Identifier "Card0"
Driver "sis"
VendorName "Silicon Integrated Systems [SiS]"
BoardName "771/671 PCIE VGA Display Adapter"
BusID "PCI:1:0:0"
EndSection

I saved the file and rebooted. Ubuntu booted again but this time in text mode. I logged in and checked /var/Xorg.0.log. The SiS driver failed to detect the graphics adapter....

I edited the xorg.conf file again and changed the details to VESA driver, so at least I would have X-Windows running until I could find a solution.

I Replaced the existing device parameters and configuring some additional parameters to control the monitor and screen settings. My xorg.conf now looks like this:

Section "Device"
Identifier "Configured Video Device"
Driver "vesa"
BusID "PCI:1:0:0"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
Option "DPMS"
HorizSync 28-107
VertRefresh 43-90
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection


After changing xorg.conf, at the command line I typed: kdm

X-Windows started and I was presented at the graphical KDE logon screen, and this time it looked better because the resolution was now 1024x768. But it still looks Cr*p because its still stretched.

I visited ubuntu forums again and started searching for a solution. What I found wasn't good....

SiS Graphic Adapters are one of the least supported video adapters in linux because SiS Corp hadn't released a 3D Graphics Driver, although there was a 2D driver it was old and not supported or updated by SIS. Luckily, some open source developers had been maintaining a 2D driver so at least it is possible to run in full resolution....right? well for some users yes! but not for everyone..(Or at least not me!)

After reading through a number of threads on SIS671/SIS672 Adapter problems, I found a couple of links to different SIS Drivers that may sort the problem, but not only did I have the problem of finding the driver, I had an added problem of finding a 64-bit version; however, I managed to find two drivers, one called SIS671 and the other called Sisimedia - both of which had be re-compiled for Ubuntu 9.10 64-bit. Now taking no chances I downloaded both of them...

I also found a blog from Barros Lee a developer at SiS corp. in the blog he stated that he had written a 3D driver for SIS672 and it was ready for release, the blog was quite old, but I decided it maybe worth contacting Barros directly to find out how I can obtain a copy.

I fired off an email to him and then got back to trying out the drivers I had downloaded....

Sadly, I tried both drivers and neither worked, although they did detect the adapter, the Xorg failed because it couldn't find a valid mode to run......Xorg.0.log reported that the “mode pool empty”

I continued to investigate what was wrong, often googling and looking for clues as to the problem.

Then, I receive an email from Barros, but he says that SiS corp wouldn't let him release the driver and that it was a few years old now and wouldn't work with later versions of Xorg. He also says that he is unable to send me a copy because End users need to contact there Manufacturers to obtain it, but he was only aware of one Manufacturer that had permission to use it.

I contacted ASUS tech support, but they were unable to help and don't support Linux.

I continued to look for a solution and discovered some errors/warnings in Xorg.0.log that leads me to believe that the problem is that the driver is unable to obtain EDID information from the Flat Screen, the messages were:

(WW) SIS(0): Could not find/read video BIOS
..
..
(--) SIS(0): Detected SiS307LV video bridge (Charter/UMC-1, ID 7; Rev 0xe1)
(--) SIS(0): No CRT1/VGA detected
(--) SIS(0): Detected LCD/Plasma panel (max. X 0 Y 0, pref. 0x0, RGB24)
..
..
(==) SIS(0): Min pixel clock is 10 MHz
(--) SIS(0): Max pixel clock is 340 MHz
..
..
(WW) SIS(0): Mode pool is empty
(EE) SIS(0): **************************************************
(EE) SIS(0): ERROR:
(EE) SIS(0): No valid modes found - check VertRefresh/HorizSync
(EE) SIS(0): END OF MESSAGE
(EE) SIS(0): **************************************************

Given, the messages, particularly the ones that said, failed to read BIOS & Detected LCD/Plasma panel but with 0x0 resolution. I ran the command ddcprobe and confirmed that Ubuntu is unable to read the EDID information from the monitor...

I spent the next few days trying to find a solution to reading EDID information....before deciding that I will have to resort to scanning the sis672 driver source code to get a better understanding of what's going on.....

3 comments:

  1. thanks a lot. its it is now working on my PC, my resolution now is 1024x768 thanks.

    ReplyDelete
  2. Great info here.. did you find a solution?

    ReplyDelete
  3. Asus has awful customer service.
    Asus Technical Support please visit the link.

    Thankyou
    Lacy Brown

    ReplyDelete