Silicon Motion X driver fails to correctly restore text mode; requires modprobe vga16fb fbcon

Bug #144178 reported by TJ
18
Affects Status Importance Assigned to Milestone
xf86-video-siliconmotion
New
Undecided
Unassigned
xorg (Ubuntu)
Won't Fix
Low
Unassigned

Bug Description

Binary package hint: linux-source-2.6.22

After installing from i386 Alternate CD (20070921.1) onto an Acer Travelmate C104TCi (C100), the PC has no console video driver and therefore virtual consoles aren't usable when switching away from GDM.

The reason is, there is no console video driver loaded. lsmod doesn't show a module loaded.

Alt+F2 "sudo modprobe vga16fb fbcon"

in a terminal fixes this for the session. To fix it permanently the initrd image needs updating:

$ sudo sh -c 'echo "vga16fb\nfbcon" >> /etc/initramfs-tools/modules"
$ sudo update-initramfs -u

After a reboot the consoles are usable.

This should have been installed by debian-installer.

$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 82440MX Host Bridge [8086:7194] (rev 01)
00:00.1 Multimedia audio controller [0401]: Intel Corporation 82440MX AC'97 Audio Controller [8086:7195]
00:00.2 Modem [0703]: Intel Corporation 82440MX AC'97 Modem Controller [8086:7196]
00:02.0 VGA compatible controller [0300]: Silicon Motion, Inc. SM720 Lynx3DM [126f:0720] (rev c1)
00:03.0 CardBus bridge [0607]: O2 Micro, Inc. OZ6933/711E1 CardBus/SmartCardBus Controller [1217:6933] (rev 02)
00:03.1 CardBus bridge [0607]: O2 Micro, Inc. OZ6933/711E1 CardBus/SmartCardBus Controller [1217:6933] (rev 02)
00:04.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
00:05.0 FireWire (IEEE 1394) [0c00]: Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) [104c:8026]
00:07.0 ISA bridge [0601]: Intel Corporation 82440MX ISA Bridge [8086:7198] (rev 01)
00:07.1 IDE interface [0101]: Intel Corporation 82440MX EIDE Controller [8086:7199]
00:07.2 USB Controller [0c03]: Intel Corporation 82440MX USB Universal Host Controller [8086:719a]
00:07.3 Bridge [0680]: Intel Corporation 82440MX Power Management Controller [8086:719b]

$ sudo dmidecode
# dmidecode 2.9
SMBIOS 2.3 present.
37 structures occupying 1235 bytes.
Table at 0x000FD080.

Handle 0x0000, DMI type 0, 19 bytes
BIOS Information
        Vendor: Wistron
        Version: V3.3 R01-A4K EN
        Release Date: 03/04/2003
        Address: 0xF0000
        Runtime Size: 64 kB
        ROM Size: 512 kB
        Characteristics:
                ISA is supported
                PCI is supported
                PC Card (PCMCIA) is supported
                PNP is supported
                APM is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                3.5"/720 KB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                IEEE 1394 boot is supported
                Smart battery is supported

Handle 0x0100, DMI type 1, 25 bytes
System Information
        Manufacturer: ACER
        Product Name: TravelMate C100
        Version: -1
        Serial Number: xxxxxxxxxxxxxxx
        UUID: C0DEFF20-32E4-11D7-A965-E5B6CFC82539
        Wake-up Type: Power Switch

Handle 0x0200, DMI type 2, 8 bytes
Base Board Information
        Manufacturer: ACER
        Product Name: Intel 440MX and PX4M
        Version: -1
        Serial Number: xxxxxxxxxxxxxxxx

Revision history for this message
TJ (tj) wrote :

I should have noted that I'm aware vesafb is compiled into the kernel. For some reason, no matter what combination of modes are put on the kernel command-line, it doesn't help the virtual consoles.

With just vesafb+fbcon I tried vga=0x317 (1024 x 768 x 16) and 0x318 (1024 x 768 x 24) and they both worked whilst the system was starting up.

Another issue, possibly related, is that the initial GDM greeter screen is terribly colour-inverted (dark blue, negative-looking image). This is cured by switching away from VT7 and then switching back.

Revision history for this message
Matthew Garrett (mjg59) wrote :

No, that's not the problem. vgacon is statically linked in. We deliberately don't use vga16fb or vesafb by default.

Revision history for this message
TJ (tj) wrote : Re: [Bug 144178] Re: Gutsy Alternate - no console video driver installed

On Sun, 2007-09-23 at 14:54 +0000, Matthew Garrett wrote:
> No, that's not the problem. vgacon is statically linked in. We
> deliberately don't use vga16fb or vesafb by default.

vesafb+vgacon is ok during start-up but as soon as a graphics mode has
been activated (usplash or xorg) there is no VT console display.

With one of the VT consoles activated (by Ctrl+Alt+F1) all that is
apparent is the back-light glow.

Connecting via ssh from a remote PC and simply doing:

$ lsmod | egrep 'vga|fb'
fbcon 41760 72
tileblit 3584 1 fbcon
font 9344 1 fbcon
bitblit 6912 1 fbcon

$ sudo modprobe vga16fb

and the VT console text display instantly appears.

$ lsmod | egrep 'vga|fb'
vga16fb 15500 1
vgastate 11008 1 vga16fb
fbcon 41760 71
tileblit 3584 1 fbcon
font 9344 1 fbcon
bitblit 6912 1 fbcon

Revision history for this message
TJ (tj) wrote :

This might be related to the other Silicon Motion issue I've found in bug #144182 "Gutsy - Silicon Motion video driver freezes, corruption, and error reports".

Revision history for this message
TJ (tj) wrote :

>From a remote ssh session, whilst at the GDM greeter page:

tj@etch-a-sketch:~$ sudo vbetool vbemode get
3

After switching to VT console 1 using Ctrl+Alt+F1:

tj@etch-a-sketch:~$ sudo vbetool vbemode get
3
tj@etch-a-sketch:~$ lsmod | egrep 'vga|fb'
fbcon 41760 0
tileblit 3584 1 fbcon
font 9344 1 fbcon
bitblit 6912 1 fbcon

Do:

tj@etch-a-sketch:~$ sudo modprobe vga16fb

and text display appears.

tj@etch-a-sketch:~$ sudo vbetool vbemode get
3

Revision history for this message
TJ (tj) wrote : Re: Silicon Motion X driver fails to correctly restore text mode

I'm attaching the binary vbestate saved during boot-time in case it is of use.

Bryce Harrington (bryce)
Changed in xserver-xorg-video-siliconmotion:
importance: Undecided → Medium
status: New → Confirmed
Revision history for this message
h-gent-o (h-gent-o) wrote :

It seems something there is something fundamentally wrong/broken. I have a Acer C100 TabletPC with SM720 lynx3dm silicon motion chipset. First I installed the final Ubuntu 8.10 where installation was running well until the reboot and where the gdm login should be there was just a blank screen. I gave xubuntu a try and installed Xubuntu 8.10 - same result everything fine until login screen (black but the system is normally running ctrl+alt+del brings the system down).

Interesting the file xorg.conf is empty after installation process (under Ubuntu and Xubuntu)!! The command dpkg-reconfigure -phigh xserver-xorg build a simple xorg.conf but did not recognise the driver. So I added to the Device section Driver "siliconmotion".

I had to add fbcon and vga16fb to /etc/modules as well, otherwise the system remains black screened when trying to start with startx from root console. now the system tells me "fatal server error | Addscreen/ScreenInit failed for driver 0"

So far I'm not capable to enter the login screen somehow with 8.10. Before 8.10 there was Ubuntu 6.06 running smoothly ;-(

Revision history for this message
Flow Jiang (flowjzh) wrote :

See the same VT black problem on Hardy with SM720 and also the problem h-gent-o have, after upgrade from Hardy to Intrepid.

Revision history for this message
technomage01 (technomage01) wrote :
Download full text (25.0 KiB)

I have an old IBM Thinkpad with a Silicon Motion chip that has the same problem. Running Xubuntu 8.04/8.10 the computer boots, X appears to hang (all I get it a blank screen), with no way to access the virtual terminal via the CTRL-ALT-F1 key sequence.

00:02.0 VGA compatible controller [0300]: Silicon Motion, Inc. SM712 LynxEM+ [126f:0712] (rev a0)

# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# Note that some configuration settings that could be done previously
# in this file, now are automatically configured by the server and settings
# here are ignored.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Device"
        Identifier "Configured Video Device"
EndSection

Section "Monitor"
        Identifier "Configured Monitor"
EndSection

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

Xorg.0.log

X.Org X Server 1.5.2
Release Date: 10 October 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-19-server i686 Ubuntu
Current Operating System: Linux joyride 2.6.27-9-generic #1 SMP Thu Nov 20 21:57:00 UTC 2008 i686
Build Date: 24 October 2008 08:00:16AM
xorg-server 2:1.5.2-2ubuntu3 (<email address hidden>)
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Mon Dec 8 21:01:43 2008
(==) Using config file: "/etc/X11/xorg.conf"
(==) No Layout section. Using the first Screen section.
(**) |-->Screen "Default Screen" (0)
(**) | |-->Monitor "Configured Monitor"
(**) | |-->Device "Configured Video Device"
(==) Automatically adding devices
(==) Automatically enabling devices
(==) No FontPath specified. Using compiled-in default.
(WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
        Entry deleted from font path.
(==) FontPath set to:
        /usr/share/fonts/X11/misc,
        /usr/share/fonts/X11/100dpi/:unscaled,
        /usr/share/fonts/X11/75dpi/:unscaled,
        /usr/share/fonts/X11/Type1,
        /usr/share/fonts/X11/100dpi,
        /usr/share/fonts/X11/75dpi,
        /var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType
(==) ModulePath set to "/usr/lib/xorg/modules"
(II) Cannot locate a core pointer device.
(II) Cannot locate a core keyboard device.
(II) The server relies on HAL to provide the list of...

Revision history for this message
Flow Jiang (flowjzh) wrote :

Just found a work around for 8.10. The Xorg "vesa" driver in 8.10 is not working either for my SM710 card, but the kernel VESA frame buffer driver works, by appending vga=0x317 to kernel boot arguments. This will give me a 1024x768 virtual console.

Then in Xorg.conf, specify "fbdev" as the driver, and X should work again.

Revision history for this message
penalvch (penalvch) wrote :

TJ, is this issue still reproducible in a supported release? If so, could you please execute the following command, as it will automatically gather debugging information, in a terminal:
apport-collect 144178

Please ensure you have xdiagnose installed, and that you click the Yes button for attaching additional debugging information.

affects: xserver-xorg-video-siliconmotion (Ubuntu) → xorg (Ubuntu)
Changed in xorg (Ubuntu):
importance: Medium → Low
status: Confirmed → Incomplete
Revision history for this message
TJ (tj) wrote :

Unfortunately this driver has suffered bit-rot upstream since the chip-set is ancient and not widely used, and support for it in the 12.04 and 14.04 releases is poor to non-existant.

Marking as "Won't Fix" since we haven't found the expertise to fix it in 7 years.

Changed in xorg (Ubuntu):
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.