DogHouse

February 16, 2009

Toshiba Satellite 1805-S254 TV Out under Ubuntu Intrepid GNU/Linux

Filed under: doghouse

Toshiba Satellite 1805-S254 TV Out under Ubuntu Intrepid GNU/Linux

My trusty old Toshiba laptop still keeps on kicking.  I maxed out the memory to 512 MB after the holidays.  It has a 20 Gig hard drive and a beautiful active matrix screen.  Multi media is handled by a Trident Microsystems CyberBlade XPAi1 (rev 82).  There is not a lot of horsepower there.  It has a yellow RCA video out plug before S-video output came along.

I wanted to see if anyone could get the TV-out (video) to render on the old Sony Trinitron in my room.  Google and the fine Ubuntu forums had people hacking the xorg.conf file.  I got the idea that this may be a frame buffer deal as well.

The keyboard on the 1805-S254 has a "Fn" key where the "Windows" would usually be.  The "F5" key shows that it is a hardware switch when used in conjunction with the "Fn" key.  This key allows for switching between the laptop screen, the monitor out plug, and the TV-out plug.

The choice must be made before Ubuntu GNU/Linux configures the key map during the boot process.  Try to switch too late and the key combination dose not do a thing for you.  A rewrite of the key map could fix this.

The output of lspci -v grep VGA yeilds:
01:00.0 VGA compatible controller: Trident Microsystems CyberBlade XPAi1 (rev 82)
    Subsystem: Toshiba America Info Systems Device 0001
    Flags: bus master, 66MHz, medium devsel, latency 8, IRQ 11
    Memory at fc000000 (32-bit, non-prefetchable) [size=32M]
    Memory at fbc00000 (32-bit, non-prefetchable) [size=4M]
    Memory at f8000000 (32-bit, non-prefetchable) [size=32M]
    Memory at f7ff8000 (32-bit, non-prefetchable) [size=32K]
    [virtual] Expansion ROM at 40000000 [disabled] [size=64K]
    Capabilities: <access denied>
    Kernel modules: tridentfb

The output of sudo lshw -C video yeilds:
  *-display UNCLAIMED     
       description: VGA compatible controller
       product: CyberBlade XPAi1
       vendor: Trident Microsystems
       physical id: 0
       bus info: pci@0000:01:00.0
       version: 82
       width: 32 bits
       clock: 66MHz
       capabilities: agp agp-2.0 pm bus_master cap_list
       configuration: latency=8

I did extensive reading in man pages such as Xserver, xvidtune, trident, and others.  

One important note I wish i had remembered was in the xvidtune man page.
 Note:   The  original mode settings can be restored by pressing the ‘R’ key, and this can be used to restore a
       stable screen in situations where the screen becomes unreadable.

I had to type blind until I could get a screen back after an unwise choice of resolution.  Lesson learned!

I edited several files including xorg.conf.

1.  sudo nano /etc/initramfs-tools/modules
    # List of modules that you want to include in your initramfs.
#
# Syntax:  module_name [args …]
#
# You must run update-initramfs(8) to effect this change.
#
# Examples:
#
# raid1
# sd_mod

fbcon
vesafb
tridentfb
# end of /etc/initramfs-tools/modules

This loads some frame buffer modules.  The tridentfb is all I really needed.

Then to update initramfs This is the command:
sudo update-initramfs -u

I did not know there was a blacklist for framebuffer modules.
sudo nano /etc/modprobe.d/blacklist-framebuffer
# Framebuffer drivers are generally buggy and poorly-supported, and cause
# suspend failures, kernel panics and general mayhem.  For this reason we
# never load them automatically.
blacklist aty128fb
blacklist atyfb
blacklist radeonfb
blacklist cirrusfb
blacklist cyber2000fb
blacklist cyblafb
blacklist gx1fb
blacklist hgafb
blacklist i810fb
blacklist intelfb
blacklist kyrofb
blacklist lxfb
blacklist matroxfb_base
blacklist neofb
blacklist nvidiafb
blacklist pm2fb
blacklist rivafb
blacklist s1d13xxxfb
blacklist savagefb
blacklist sisfb
blacklist sstfb
blacklist tdfxfb
########blacklist tridentfb
########blacklist vesafb
blacklist vfb
blacklist vga16fb
# end of /etc/modprobe.d/blacklist-framebuffer

I commented out the tridentfb and the vesafb so that they would load during boot.

My crappy xorg.conf file:
#16 Feb 2009

Section "ServerLayout"
    Identifier     "Card0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "off"
EndSection

Section "Module"
    Load           "dbe"
    Load           "glx"
    Load           "extmod"
    Load           "fbdevhw"
    Load           "record"
    Load           "freetype"
    Load           "bitmap"
    Load           "type1"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc102"
    Option         "XkbLayout" "us"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/mouse"
EndSection

Section "Modes"
    Identifier         "Modes0"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "TOS"
    ModelName      "Trinitron"
    HorizSync       31.5 - 67.0
    VertRefresh     50.0 - 75.0
    Option         "DPMS"
    Option         "PreferredMode" "1024x768"
EndSection

Section "Device"
    Identifier     "Card0"
    Driver         "trident"
    VendorName     "Trident Microsystems"
    BoardName      "CyberBlade XPAi1"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Card0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       8
        Modes      "1024x768" "800x600"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1024x768" "800x600"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1024x768" "800x600"
    EndSubSection
EndSection
# 16 Feb 2009
End of my crappy xorg.conf file

After getting the frame buffers loaded, the frame buffers off the blacklist, and xorg.conf cobbled together I shutdown and powered up the Toshiba Satellite 1805-S254 with the Trident Microsystems CyberBlade XPAi1 (rev 82) VGA controller.

Just as the grub menu disappeared I started the "Fn" "F5" key combination.  The laptop screen went black and the Sony Trinitron TV showed the Ubuntu splash screen.  It looked okay and I was happy for a minute. As soon as the GDM login screen came up the screen showed 4 columns of the same quarter of the desktop. Yuck.

tv-out bad 

This is where xvidtune came in to play.  I was able to evoke a run dialog with an "Alt" "F2" key combination.  I was able to grab a piece of the menu bar and move the dialog box to where I could input the xvidtune command.

tv-out good 

The xvidtune dire warning dialog box was dismissed by clicking "OK"  Then I grabbed the menu bar of the xvidtune to where I could see most of the command buttons. I clicked on "next" until the desktop filled the TV screen.  Actually in my case it over fills the TV screen by about 10-15%.  Moving the cursor to the boundaries lets me see the off-screen areas.  I think this is as good as it will get for now as I am ready to move on to another project.
 

1 Comment »

The URI to TrackBack this entry is: http://doghouse.blogsome.com/2009/02/16/toshiba-satellite-1805-s254-tv-out-under-ubuntu-intrepid-gnulinux/trackback/

  1. Hope you didn’t think you were the only one…
    now i will see if anything else can be done…
    messing with my old ’shiba is fun…
    can’t believe you got it to run!

    Comment by Postmaster_G — September 17, 2009 @ 12:54 pm

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>























Get free blog up and running in minutes with Blogsome | Theme designs available here

-->