Announcement

Collapse
No announcement yet.

Tv Out with Radeon Xpress 200G

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Please excuse me, I don't tinker with this box often and the documentation I've read is for older revisions.. It can be confusing.

    So how exactly do you make the KMS persistently set the TV out every single time, from the boot strap to the login?

    Gabriel

    Comment


    • #12
      Originally posted by gjdunga View Post
      So how exactly do you make the KMS persistently set the TV out every single time, from the boot strap to the login?
      There's not currently a way unfortunately without hacking the drm.

      Comment


      • #13
        There's no point in the GDM init that one could finesse the xrandr commands in?

        Comment


        • #14
          this drm hack will enable tv load detection by default on your chip:

          index 64c3ddf..acff455 100644
          --- a/drivers/gpu/drm/radeon/radeon_connectors.c
          +++ b/drivers/gpu/drm/radeon/radeon_connectors.c
          @@ -1414,13 +1414,6 @@ radeon_add_legacy_connector(struct drm_device *dev,
          drm_connector_init(dev, &radeon_connector->base, &radeon_tv_connector_funcs, connector_type);
          drm_connector_helper_add(&radeon_connector->base, &radeon_tv_connector_helper_funcs);
          radeon_connector->dac_load_detect = true;
          - /* RS400,RC410,RS480 chipset seems to report a lot
          - * of false positive on load detect, we haven't yet
          - * found a way to make load detect reliable on those
          - * chipset, thus just disable it for TV.
          - */
          - if (rdev->family == CHIP_RS400 || rdev->family == CHIP_RS480)
          - radeon_connector->dac_load_detect = false;
          drm_connector_attach_property(&radeon_connector->base,
          rdev->mode_info.load_detect_property,
          radeon_connector->dac_load_detect);

          Comment


          • #15
            I wanted to thank you, for the help so far. It's nice to know dedicated people are here to help.

            Thank you!

            In regards to the diff you provided:
            I'm using the packaged edgers, I'll have to pull the source and compile.

            until I get that done, it knocks that out of the park, so one last annoying thing.

            The Vesa driver seems to give the correct refresh. The radeon driver dosen't. I keep calling it tearing, but perhaps I'm wrong in classifying it. Preforming a refresh rate change in xrandr dose not help, and apparently if you provide refresh rates in the xorg.conf file, they are ignored, or perhaps I'm writing them incorrectly.

            What Say ye? I know it's old hardware, and drudging thru these unsupported IGP's is self flagellation. However, I'm sure others will appreciate it.

            Gabriel

            Comment


            • #16
              Wait a Second.. I THINK it may be underscan..

              xrandr --output <output> --set underscan off

              I'm applying this to my recipe and will check in later.

              Comment


              • #17
                It's not underscan. That option is not even valid for tv-out. It's an option for HDMI TV's that automatically overscan the incoming image.

                You can't change the refresh rate for TV, the timing is fixed (NTSC, PAL, etc.). It doesn't matter what mode you select in xrandr, the driver always outputs native tv timing. As for tearing, if you are using a compositing manager, make sure it's a GL one. If not, and you are running mirrored displays (TV + DVI for example), make sure you've selected the correct display for Xv vsync. You might try adjusting the following options:
                xvattr -a XV_CRTC 1
                or
                xvattr -a XV_CRTC 0
                and
                xvattr -a XV_BICUBIC 0
                to disable bicubic filtering.

                Comment


                • #18
                  Sigh...

                  This is getting ridiculous..

                  I'm still unable to force the TV-OUT to be enabled as part of the boot process.

                  The recipe I have as a bash script works..

                  However, It handles only the USER session, and I want this to display the Login as well!

                  Here's my "Recipe"

                  Code:
                  #!/bin/bash
                  
                  sudo xrandr --output VGA-0 --off
                  sudo xvattr -a XV_CRTC 0
                  sudo xvattr -a XV_BICUBIC 0
                  sudo xrandr --output S-video --set "load detection" 1
                  sudo xrandr --output S-video --set "tv standard" "ntsc"
                  sudo xrandr --output S-video --set underscan off
                  sudo xrandr --newmode "800x600_60.00"   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync
                  sudo xrandr --addmode S-video 800x600
                  sudo xrandr --output S-video --mode 800x600
                  exit

                  I've tried something close to this in /etc/gdm/Init/default
                  This is only a snippet..
                  Code:
                  #!/bin/sh
                  # Stolen from the debian kdm setup, aren't I sneaky
                  # Plus a lot of fun stuff added
                  #  -George
                  
                  PATH="/usr/bin:$PATH"
                  OLD_IFS=$IFS
                  
                  #if [ -x '/usr/bin/xsplash' ];
                  #then
                  #        /usr/bin/xsplash --gdm-session --daemon
                  #fi
                  
                  # Added to force the gdm to start x in s-video mode!
                  
                  xrandr --output S-video --set "load detection" 1
                  xrandr --output S-video --set "tv standard" "ntsc"
                  xrandr --output S-video --set underscan off
                  xrandr --newmode "800x600_60.00"   38.25  800 832 912 1024  600 603 607 624 -hsync +vsync
                  xrandr --addmode S-video 800x600
                  xrandr --output S-video --mode 800x600
                  xvattr -a XV_CRTC 0
                  xvattr -a XV_BICUBIC 0
                  
                  /sbin/initctl -q emit login-session-start DISPLAY_MANAGER=gdm
                  I've tried the same thing in /etc/GDM/PreSession/Default as well!

                  I've not included sudo in those lines above as it didn't work when tried with it included either!

                  IS this too early, or too late in the init process for this to be effective?

                  WHERE EXACTLY does those commands need to go, to force tv-out..
                  It's been disabled in the xorg.conf We've been over that..

                  HELP!

                  Comment


                  • #19
                    xrandr won't work until X is up. Unfortunately, there's not a good way to force tv-out at boot time at the moment. The following xorg.conf snippet should get get S-video up when X starts:

                    Section "Monitor"
                    Identifier "S-video"
                    Modeline "800x600" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync
                    Option "PreferredMode" "800x600"
                    Option "Enable" "True"
                    EndSection

                    Comment

                    Working...
                    X