LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Ubuntu (https://www.linuxquestions.org/questions/ubuntu-63/)
-   -   XUbuntu on T23: problems with GPU (SuperSavage) (https://www.linuxquestions.org/questions/ubuntu-63/xubuntu-on-t23-problems-with-gpu-supersavage-4175490350/)

SuSE_Lamer 01-06-2014 03:37 PM

XUbuntu on T23: problems with GPU (SuperSavage)
 
Hello @all,

here is my situation: I have an old Thinkpad T23 with broken internal display (which originally had an SXGA+ resolution, 1400x1050). In order to see anything, I connected external monitor - "Fujitsu Siemens Scaleoview L19W-2" with maximal resolution of 1440x900. GPU is a "S3 SuperSavage" with 16 MB of video-RAM.

I installed XUbuntu 13.10 (with "nomodeset" and "xforcevesa" parameters) and noticed the following: my external (and the only usable) display is set to the maximal resolution of the internal one (1400 x 1050), and I cannot change it to any other value. The native of the external display is not available in the list.

I searched a bit on the web and found out, that the GPU of my laptop - "S3 SuperSavage" - is not supported anymore by Linux. On the other hand, some people reported about successfull use of the "savage" driver after finetuning the Xorg.conf. Can anyone here give me a hint, how I can make my T23 use the proper resolution of the external monitor? I would appreciate any hint.

Regards from Hamburg,
Andrey

ukiuki 01-07-2014 05:04 AM

To generate a xorg.conf, logout, go to the tty console with ctrl+alt+(F1-F6), then as root terminate the X server and login manager processes. Note the X server and login manager must be down to be able to generate the file.
With that done now you are able to generate the file with the command:
Code:

sudo X -configure
It will place a file named xorg.conf.new in the /root directory, then copy it as xorg.conf to /etc/X11.

Now you are able to fiddle with it and get the correct resolution for your display.
To get the mod setting use the commands cvt or gtf:
Code:

cvt 1440 900
  # 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

Code:

gtf 1400 900 60
  # 1440x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 106.47 MHz
  Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync

Then edit the sections "Monitor" and "Screen" in /etc/X11/xorg.conf
Code:

Section "Monitor"
  Identifier  "Configured Monitor"
  Modeline "1440x900_60.00"  106.47  1440 1520 1672 1904  900 901 904 932  -HSync +Vsync
  Option      "PreferredMode"      "1440x900_60.00"
EndSection

Code:

Section "Screen"
  Identifier  "Default Screen"
  Monitor      "Configured Monitor"
  DefaultDepth  24
  SubSection "Display"
      Depth  24
      Modes  "1440x900_60.00"
  EndSubSection
EndSection

Your file may be a little different but will be easy to figure out.

Regards

SuSE_Lamer 01-09-2014 02:52 PM

reconfiguration of Xorg.conf failed
 
Hello ukiuki,

thanks for the hint. I tried it already, but I get an error message: when I execute "sudo X -configure", it fails with a message "Number of detected screens doesnt match number of detected devices". Here is my cuurent xorg.conf:

Code:

Section "Device"
        Identifier        "Configured Video Device"
        Driver                "vesa"
EndSection

Section "Monitor"
        Identifier        "Configured Monitor"
EndSection

Section "Screen"
        Identifier        "Default Screen"
        Monitor                "Configured Monitor"
        Device                "Configured Video Device"
EndSection

And here is a new Xorg.conf, created today (after I started sudo X -configure):
Code:

Section "ServerLayout"
        Identifier    "X.org Configured"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
        Screen      2  "Screen2" RightOf "Screen1"
        Screen      3  "Screen3" RightOf "Screen2"
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath  "/usr/lib/xorg/modules"
        FontPath    "/usr/share/fonts/X11/misc"
        FontPath    "/usr/share/fonts/X11/cyrillic"
        FontPath    "/usr/share/fonts/X11/100dpi/:unscaled"
        FontPath    "/usr/share/fonts/X11/75dpi/:unscaled"
        FontPath    "/usr/share/fonts/X11/Type1"
        FontPath    "/usr/share/fonts/X11/100dpi"
        FontPath    "/usr/share/fonts/X11/75dpi"
        FontPath    "built-ins"
EndSection

Section "Module"
        Load  "glx"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option            "Protocol" "auto"
        Option            "Device" "/dev/input/mice"
        Option            "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        Identifier  "Monitor0"
        VendorName  "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Monitor"
        Identifier  "Monitor1"
        VendorName  "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Monitor"
        Identifier  "Monitor2"
        VendorName  "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Monitor"
        Identifier  "Monitor3"
        VendorName  "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option    "NoAccel"                    # [<bool>]
        #Option    "AccelMethod"                # <str>
        #Option    "HWCursor"                  # [<bool>]
        #Option    "SWCursor"                  # [<bool>]
        #Option    "ShadowFB"                  # [<bool>]
        #Option    "Rotate"                    # [<str>]
        #Option    "UseBIOS"                    # [<bool>]
        #Option    "LCDClock"                  # <freq>
        #Option    "ShadowStatus"              # [<bool>]
        #Option    "CrtOnly"                    # [<bool>]
        #Option    "TvOn"                      # [<bool>]
        #Option    "PAL"                        # [<bool>]
        #Option    "ForceInit"                  # [<bool>]
        #Option    "Overlay"                    # [<str>]
        #Option    "TransparencyKey"            # [<str>]
        #Option    "ForceInit"                  # [<bool>]
        #Option    "DisableXVMC"                # [<bool>]
        #Option    "DisableTile"                # [<bool>]
        #Option    "DisableCOB"                # [<bool>]
        #Option    "BCIforXv"                  # [<bool>]
        #Option    "DVI"                        # [<bool>]
        #Option    "IgnoreEDID"                # [<bool>]
        #Option    "BusType"                    # [<str>]
        #Option    "DmaType"                    # [<str>]
        #Option    "DmaMode"                    # [<str>]
        #Option    "AGPMode"                    # <i>
        #Option    "AGPSize"                    # <i>
        #Option    "DRI"                        # [<bool>]
        #Option    "AGPforXv"                  # [<bool>]
        Identifier  "Card0"
        Driver      "savage"
        BusID      "PCI:1:0:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option    "SWcursor"                  # [<bool>]
        #Option    "kmsdev"                    # <str>
        #Option    "ShadowFB"                  # [<bool>]
        Identifier  "Card1"
        Driver      "modesetting"
        BusID      "PCI:1:0:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option    "ShadowFB"                  # [<bool>]
        #Option    "Rotate"                    # <str>
        #Option    "fbdev"                      # <str>
        #Option    "debug"                      # [<bool>]
        Identifier  "Card2"
        Driver      "fbdev"
        BusID      "PCI:1:0:0"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option    "ShadowFB"                  # [<bool>]
        #Option    "DefaultRefresh"            # [<bool>]
        #Option    "ModeSetClearScreen"        # [<bool>]
        Identifier  "Card3"
        Driver      "vesa"
        BusID      "PCI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device    "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport  0 0
                Depth    1
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    4
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    8
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    15
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    16
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device    "Card1"
        Monitor    "Monitor1"
        SubSection "Display"
                Viewport  0 0
                Depth    1
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    4
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    8
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    15
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    16
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen2"
        Device    "Card2"
        Monitor    "Monitor2"
        SubSection "Display"
                Viewport  0 0
                Depth    1
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    4
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    8
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    15
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    16
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    24
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen3"
        Device    "Card3"
        Monitor    "Monitor3"
        SubSection "Display"
                Viewport  0 0
                Depth    1
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    4
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    8
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    15
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    16
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    24
        EndSubSection
EndSection

Would appreciate any hint.

Thanks in advance,
Andrey

ukiuki 01-10-2014 12:46 PM

It did give you a warning and not really an error which wouldn't actually happen to generate the file.
Weird, how many video devices and screens that computer really have? It is saying 4, about your display is it just the lcd that is broke or something else?

Now all you have to do is to set the modeline in the proper sections.
One more hint not sure if you will be able to use Depth 24 so it is wise to set the modeline to 16,
if you you are not going to use anything smaller than 16 you can just comment all the other lines, same for the extra devices and screen, just find out which ones is the real one, for that just type xrandr in the terminal.

Regards

SuSE_Lamer 01-11-2014 11:04 AM

Hello ukiuki,

the GPU itsels has 3 outs: LCD/built-in display (which is physically broken und useless), VGA-port (where external monitor is connected) and S-Video-/TV-out (where nothing is connected). Should I delete one or two devices from the new file? Should I change something else (except for the colour's depth) in the new file? What about driver? ThinkWiki says, the "S3 SuperSavage" works with "savage" driver. Should I use it?

Regards,
Andrey.

Quote:

Originally Posted by ukiuki (Post 5095636)
It did give you a warning and not really an error which wouldn't actually happen to generate the file.
Weird, how many video devices and screens that computer really have? It is saying 4, about your display is it just the lcd that is broke or something else?

Now all you have to do is to set the modeline in the proper sections.
One more hint not sure if you will be able to use Depth 24 so it is wise to set the modeline to 16,
if you you are not going to use anything smaller than 16 you can just comment all the other lines, same for the extra devices and screen, just find out which ones is the real one, for that just type xrandr in the terminal.

Regards


ukiuki 01-11-2014 01:48 PM

About the driver yes, the "savage" driver is the correct one.
Just comment the lines not in use with an # in the begin of it if you are sure that you are not going to use any of those, make sure which section in the file is for VGA, only add modeline to that particular related sections and for 16 and 24 depth only, the other depth subsections can be safely removed.

So here what the section screen should look like:
Code:

Section "Screen"
        Identifier "Screen0"
        Device    "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport  0 0
                Depth    16
                Modes  "1440x900_60.00"
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    24
                Modes  "1440x900_60.00"
        EndSubSection
EndSection

And what the section monitor should look like:
Code:

Section "Monitor"
        Identifier  "Monitor0"
        HorizSync      30.0 - 83.0
            VertRefresh    55.0 - 75.0
        Modeline "1440x900_60.00" 106.47 1440 1520 1672 1904 900 901 904 932 -HSync +Vsync
        Option "PreferredMode" "1440x900_60.00"
EndSection

The lines in grey may be necesary if even with the modeline your monitor still not generating the correct resolution but you'll have to find out the correct values for your particular monitor.

Regards

SuSE_Lamer 02-24-2014 03:48 AM

Hello ukiuki,

sorry for being silent for such a long time - I was quite busy the whole month, had no time for my "T23"-toy. :-)

So, just now I did eveything you described earlier. I changed xorg.conf.new, renamed it to xorg.conf and tried to restart X server. It didn't work. Or, better to say, it worked (X server seems to be running), but I cannot use the laptop anymore, because the X server shows my just some coloured stripes on the screen, and I even cannot change to console sessions (CTRL-F1 to CTRL-F6). At the present I try to start laptop from "Ubuntu"-live-CD to revert back to the previous configuration.

There are some things I noticed while changing the xorg:
1) xrandr returned me just one screen - actually, for me it means that Linux just clones my broken LCD display to the external monitor (and doesn't activate real VGA output. This also explains, why I have 1400x1050 as max. resolution - this is the resolution of the LCD)
2) file "xorg.conf.new" detected 4(!) cards (don't ask me why), but Card0 had "savage" as a driver.

Are these facts somehow usefull?

I have an idea: should I try to use the "xorg.conf.new" without any changes, just as it was generated? Will it give anything?

And, of course, I would appreciate any hint about recovering my old graphical setting without reinstalling Linux from the very beginning.

Regards from Hamburg,
Andrey

Update: I booted with Ubuntu-LiveCD and could replace the new/worng config-file with the old/working one. So, now I'm in the original state.


All times are GMT -5. The time now is 11:04 PM.