Thursday Jan 08, 2009

Xorg Screen Resolution Woes on SXCE

Symptom(s)

A fresh install of Solaris Express Community Edition (SXCE) build 104 or an upgrade from an earlier SXCE build say 95 on a Toshiba Tecra M2 laptop results in a successful operating environment, but fails to bring up the graphical GNOME environment mainly because Xserver fails to start with errors like :0.0 refused by server.

Few ideas to get around the Xserver issue: (apparently I'm not an Xorg expert -- so spare me the criticism in case if you notice any unusual/incoherent terminology)

  1. run kdmconfig and select Xorg

  2. run /usr/X11/bin/xorgconfig -configure, and save the resulting xorg.conf in /etc/X11 directory. Finally start the GNOME Display Manager by typing gdm (run gdm-stop to stop the display manager).

If 800x600 is the best resolution you can get, and if nvidia-settings throws an error with message:


You do not appear to be using the NVIDIA X driver. Please edit your X configuration file 
(just run `nvidia-xconfig` as root), and restart the X server

.. try running nvidia-xconfig as root user. It will replace the existing /etc/X11/xorg.conf file. In case if the GNOME Display Manager fails to come up after this step, check the /var/log/Xorg.0.log file for any clue. If you notice something similar to the following lines in your Xorg.0.log, you may have to downgrade the NVIDIA driver to the latest versions of the supported legacy driver for your graphics processing unit (GPU).

...
...
(II) NVIDIA dlloader X Driver  177.82  Tue Nov  4 13:39:01 PST 2008
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
(II) Primary Device is: PCI 01:00:0
(WW) NVIDIA(0): The NVIDIA GeForce FX Go5200 32M/64M GPU installed in this
(WW) NVIDIA(0):     system is supported through the NVIDIA 173.14.xx Legacy
(WW) NVIDIA(0):     drivers. Please visit
(WW) NVIDIA(0):     http://www.nvidia.com/object/unix.html for more
(WW) NVIDIA(0):     information.  The 177.82 NVIDIA driver will ignore this
(WW) NVIDIA(0):     GPU.  Continuing probe... 
(EE) No devices detected.

Fatal server error:
no screens found

Solution

The following instructions outline the steps to resolve the above issue on a Tecra M2 laptop running SXCE build 104.

  1. Download the latest legacy GPU version (173.14.xx series) of the display driver from NVIDIA's web site
            http://www.nvidia.com/object/solaris_display_173.14.12.html

  2. Download the driver file
            http://us.download.nvidia.com/solaris/173.14.12/NVIDIA-Solaris-x86-173.14.12.run

  3. Install the driver
            sh NVIDIA-Solaris-x86-173.14.12.run

    This step removes the existing nvidia driver before installing the legacy one.

  4. Reboot the system
            reboot -- -r

  5. Remove the Xorg configuration file if exists.
            rm /etc/X11/xorg.conf

  6. Generate a new Xorg configuration file
            nvidia-xconfig

  7. Logout and log back in.

The screen resolution issue should have been fixed automagically after the last step. Good Luck.

The above steps are based on NVIDIA's documentation:
        http://www.nvidia.com/object/solaris_display_173.14.12.html

Tuesday Dec 16, 2008

Quick Fix to the Linker Error - ld: fatal: library -lgcc_s: not found

Symptom(s):

When building some of the open source applications like MySQL Cluster Carrier Grade Edition with the GCC compiler, the linking step may fail with the fatal error message library -lgcc_s: not found despite the fact that the gcc_s library is available on the system and is in the linker search path -- for example, LD_LIBRARY_PATH on Solaris.

Quick Fix / Workaround:

  1. Add the absolute path to the gcc_s library on the link line, OR

  2. (Recommended) If the library's filename has any major and minor version numbers appended to it, simply create a soft link to the library in the same location without the major and minor version numbers in the target filename.

eg.,

On a Solaris 10 system, by default, the gcc_s library might be available under /usr/sfw/lib (32-bit SPARC and x86 copy), /usr/sfw/lib/sparcv9 (64-bit SPARC copy) and /usr/sfw/lib/amd64 (64-bit x64 copy). If all you can find is the gcc_s library with the version number(s) in the filename like libgcc_s.so.1, simply run the command 'ln -s libgcc_s.so.1 libgcc_s.so' in the same directory where you found the libgcc_s.so.1.

Note:

Probably this particular error message may show up on any OS platform with any compiler, and the workaround mentioned in this post may work on all those failed cases. I cannot guarantee that, but I know for sure that it works on Solaris (both SPARC and x86/x64 versions).

About

Benchmark announcements, HOW-TOs, Tips and Troubleshooting

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today