Movies where they belong

It’s the old story. I prefer watching my movies on the TV and not on my LCD in front of the computer. This seems to be a hardy-er problem than expected (on Ubuntu 8.04 Hardy Heron).

Here is what I want: normal desktop on the computer without stupid virtual screens on my TV display that consume either my (Gnome) panels or swallow applications that I’m only able to retract by turning on my TV, start mplayer at a shell on my computer, jump on my couch and enjoy watching the movie on my TV, leaving the desktop free for those very important parallel IMDb queries. (By the way, this has worked perfectly under Windows for ages :-/)

So far, I found thousands of forums with even more tips and tricks, but none worked for me, so in the end I’m writing this down and hope that those crawlers will find this valuable (for me at least) piece of information.

* `xserver-xgl` is very bad, remove it and all this composite extensions / compiz-fusion crap, I only experienced problems with that (and who wants to slow down his/her computer with superfluous effects anyway)
* do not use xinerama (since it uses the second TV screen as part of your normal desktop and this will mess things up (if you deactivate render acceleration, xinerama might work for you (it did for me), but then things are really slow))
* use render acceleration / direct rendering (`RenderAccel`)
* define two independent screens in you `xorg.conf`, this will preserve the desktop as is without spreading it over the second screen (TV)
* use `mplayer` with the `-display` option instead of `-xineramascreen`, e.g.:

$ mplayer -display :0.1 -fs -monitoraspect 1.33 movie.avi

Here’s my `xorg.conf`:

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Generic Keyboard" "CoreKeyboard"
    InputDevice    "Configured Mouse"
EndSection

Section "Module"
    Load           "glx"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"
    Identifier     "Generic Keyboard"
    Driver         "kbd"
    Option         "XkbRules" "xorg"
    Option         "XkbModel" "pc105"
    Option         "XkbLayout" "de"
    Option         "XkbVariant" "nodeadkeys"
EndSection

Section "InputDevice"
    Identifier     "Configured Mouse"
    Driver         "mouse"
    Option         "CorePointer"
EndSection

Section "Monitor"
    Identifier     "Configured Monitor"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG L1730B"
    HorizSync       30.0 - 71.0
    VertRefresh     56.0 - 75.0
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "TV-0"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
EndSection

Section "Device"
    Identifier     "Configured Video Device"
    Driver         "nvidia"
    Option         "NoLogo" "True"
EndSection

Section "Device"
    Identifier     "Videocard0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce FX 5200"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Videocard1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce FX 5200"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

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

Section "Screen"
    Identifier     "Screen1"
    Device         "Videocard1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "AllowGLXWithComposite" "True"
    Option         "RenderAccel" "True"
    Option         "AddARGBGLXVisuals" "True"
    Option         "TwinView" "0"
    Option         "metamodes" "TV: 800x600 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowGLXWithComposite" "True"
    Option         "RenderAccel" "True"
    Option         "AddARGBGLXVisuals" "True"
    Option         "TwinView" "0"
    Option         "metamodes" "DFP: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

`Screen0` is the LCD, `Screen1` is the TV. The keyboard is set to German, so you might want to change this to a different one matching your keyboard. If you have a newer television, you might also be able to increase the resolution of your TV screen to 1024×768 (here, it’s set to 800×600 since my TV can’t do more).

Beteilige dich an der Unterhaltung

2 Kommentare

  1. What video card are you using? I have been trying this for years on a Toshiba Satellite M3 (FX 5200 Go) without any success. I finally gave up on it, blaming the crippled firmware that comes with Macrovision’s crappy „copy protection“ on some notebooks. I’ll might give it a shot – do you need NVTV for this or is the TV-out completely managed by Xorg?

  2. Hi,

    I have an FX 5200, too, so it should work for you as well (this list shows an entry for FX Go5200). I’m using the „restricted“ drivers in Ubuntu 8.04 (Hardy Heron), i.e. the binary version („nvidia“) and not the free one („nv“). No NVTV needed. If you don’t use Ubuntu, it should also work with the binary driver that can be obtained directly from NVIDIA.

    Cheers,
    Yonker

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.