Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
MythTV 0.20, framebuffer and gdb
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Wed Nov 01, 2006 12:52 pm    Post subject: MythTV 0.20, framebuffer and gdb Reply with quote

I'm trying to make mythtv working in the framebuffer on my notebook (x86 model) and think to write a how to when it will work fine.

I've configured the kernel tu use vesa-fb and I've installed directfb 0.9.25. DirectFB works fine with links or mplayer.
I've installed QT-Embedded, but the ebuild need to be modified a little bit :

Add this :

find mkspecs/ -name qmake.conf -exec sed -i -e "s: -fno-rtti::" {} \;

at the line 62 of the /usr/portage/x11-libs/qt-embedded/qt-embedded-3.3.4.ebuild. This avoid using -fno-rtti when compiling qt-embedded (Qt/E) because if Qt/E is compiled with this option, we will have some problems when linking libs of MythTV. After you have to digest the ebuild as usually. I will make an overlay as soon as possible. Here's the modified ebuild :

Code:


# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-embedded/qt-embedded-3.3.4.ebuild,v 1.3 2005/07/09 19:23:10 swegener Exp $

DESCRIPTION="Embedded Linux port of Qt"
HOMEPAGE="http://www.trolltech.com/products/embedded/"
SRC_URI="ftp://ftp.trolltech.com/qt/source/qt-embedded-free-${PV}.tar.bz2"
LICENSE="|| ( QPL-1.0 GPL-2 )"

SLOT="3"
KEYWORDS="x86 ~amd64 ~ppc"
IUSE="cups debug doc firebird gif ipv6 mysql nis odbc opengl postgres sqlite"

DEPEND="media-libs/libpng
   media-libs/jpeg
   media-libs/libmng
   media-libs/lcms
   sys-libs/zlib
   cups? ( net-print/cups )
   odbc? ( >=dev-db/unixODBC-2 )
   firebird? ( dev-db/firebird )
   mysql? ( dev-db/mysql )
   opengl? ( virtual/opengl virtual/glu )
   postgres? ( dev-db/postgresql )"

S=${WORKDIR}/qt-embedded-free-${PV}

QTBASE=/usr/qt/3-embedded

pkg_setup() {
   ewarn "Note: this ebuild provides a Qt/Embedded setup that is suitable for testing,"
   ewarn "but definitely not tailored for real embedded systems."
   ewarn "I advise you select your own featureset (e.g. by editing this ebuild)"
   ewarn "if building for such a system."

   export QTDIR=${S}

   # values for 'PLATFORM' (host system) can be found in mkspecs/
   # values for 'XPLATFORM' (target system) can be found in mkspecs/qws/
   if use x86; then
      export PLATFORM="linux-g++"
      export XPLATFORM="qws/linux-x86-g++"
   elif use amd64; then
      export PLATFORM="linux-g++-64"
      export XPLATFORM="qws/linux-x86-g++"
   elif use ppc; then
      export PLATFORM="linux-g++"
      export XPLATFORM="qws/linux-generic-g++"
   else
      die "Unknown platform"
   fi
}

src_unpack() {
   unpack ${A}
   cd ${S}

   sed -i -e 's:read acceptance:acceptance=yes:' configure

   # avoid using -rpath
   find mkspecs/ -name qmake.conf -exec sed -i -e "s:QMAKE_RPATH.*:QMAKE_RPATH =:" {} \;
   find mkspecs/ -name qmake.conf -exec sed -i -e "s: -fno-rtti::" {} \;
}

src_compile() {
   addwrite "${QTBASE}/etc/settings"

   use gif && myconf="${myconf} -qt-gif" || myconf="${myconf} -no-gif"
   use cups && myconf="${myconf} -cups" || myconf="${myconf} -no-cups"
   use nis && myconf="${myconf} -nis" || myconf="${myconf} -no-nis"
   use ipv6 && myconf="${myconf} -ipv6" || myconf="${myconf} -no-ipv6"
   use opengl || myconf="${myconf} -disable-opengl"
   use mysql && myconf="${myconf} -plugin-sql-mysql -I/usr/include/mysql -L/usr/lib/mysql" || myconf="${myconf} -no-sql-mysql"
   use postgres && myconf="${myconf} -plugin-sql-psql -I/usr/include/postgresql/server -I/usr/include/postgresql/pgsql -I/usr/include/postgresql/pgsql/server" || myconf="${myconf} -no-sql-psql"
   use odbc && myconf="${myconf} -plugin-sql-odbc" || myconf="${myconf} -no-sql-odbc"
   use firebird && myconf="${myconf} -plugin-sql-ibase" || myconf="${myconf} -no-sql-ibase"
   use sqlite && myconf="${myconf} -plugin-sql-sqlite" || myconf="${myconf} -no-sql-sqlite"
   use debug && myconf="${myconf} -debug" || myconf="${myconf} -release -no-g++-exceptions"

   ./configure ${myconf} -shared -depths 8,16,24,32 -system-zlib -thread -stl \
      -freetype -qvfb -plugin-imgfmt-{jpeg,mng,png} -system-lib{jpeg,mng,png} \
      -prefix ${QTBASE} -platform ${PLATFORM} -xplatform ${XPLATFORM} \
      -embedded || die

   export LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}"

   cd ${S} && emake symlinks src-qmake src-moc sub-src || die "make failed"

   # the designer is not compiled when using -embedded, but we need the uic
   cd ${S}/tools/designer/uic && emake || die "making uic failed"

   cd ${S} && emake sub-tools || die "making tools failed"

   if use doc; then
      cd ${S} && emake sub-tutorial sub-examples || die "making examples failed"
   fi
}

src_install() {
   INSTALL_ROOT=${D} emake install

   # fix .prl files
   find ${D}/${QTBASE}/lib* -name "*.prl" -exec sed -i -e "s:${S}:${QTBASE}:g" {} \;

   # remove broken link
   rm -f ${D}/${QTBASE}/mkspecs/${PLATFORM}/${PLATFORM}

   # fonts
   insinto ${QTBASE}/lib/fonts
   doins ${S}/lib/fonts/*

   # environment variables
   cat <<EOF > ${T}/47qt-embedded3
PATH=${QTBASE}/bin
ROOTPATH=${QTBASE}/bin
LDPATH=${QTBASE}/lib
EOF
   insinto /etc/env.d
   doins ${T}/47qt-embedded3

   # qmake cache file
   sed -i -e "s:${S}:${QTBASE}:" .qmake.cache
   insinto ${QTBASE}
   doins .qmake.cache

   # documentation
   if use doc; then
      find examples tutorial -name Makefile -exec sed -i -e "s:${S}:${QTBASE}:g" {} \;

      cp -r ${S}/tutorial ${D}/${QTBASE}
      cp -r ${S}/examples ${D}/${QTBASE}
   fi

   # default target link (overriden by QMAKESPEC env var)
   rm -f "${D}/${QTBASE}/mkspecs/default"
   ln -s "${XPLATFORM}" "${D}/${QTBASE}/mkspecs/default"
}

pkg_postinst() {
   echo
   einfo "If you want to compile and run a test application using"
   einfo "QT/Embedded instead of standard Qt, you must properly"
   einfo "set the QTDIR and QMAKESPEC variables, e.g.:"
   einfo
   einfo "    export QTDIR=${QTBASE}"
   einfo "    export QMAKESPEC=${QTBASE}/mkspecs/${XPLATFORM}"
   echo
}



Next I've modified the /usr/portage/media-tv/mythtv/mythtv-0.20_p11444.ebuild file, because this original ebuild doesn't allow the use of the directfb flag and doesn't allow to disable using X11. Here's the modified ebuild :

Code:


# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-tv/mythtv/mythtv-0.20_p11444.ebuild,v 1.2 2006/10/06 14:55:04 beandog Exp $

inherit mythtv flag-o-matic multilib eutils debug qt3

DESCRIPTION="Homebrew PVR project"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"

IUSE_VIDEO_CARDS="video_cards_i810 video_cards_nvidia video_cards_via"

IUSE="X directfb alsa altivec backendonly crciprec debug dbox2 dts dvb dvd freebox frontendonly hdhomerun ieee1394 ivtv jack joystick lcd lirc mmx vorbis opengl perl xv xvmc ${IUSE_VIDEO_CARDS}"

RDEPEND=">=media-libs/freetype-2.0
   >=media-sound/lame-3.93.1
   X? (
      x11-libs/libX11
      x11-libs/libXext
      x11-libs/libXinerama
      x11-libs/libXv
      x11-libs/libXrandr
      x11-libs/libXxf86vm
      >=x11-libs/qt-3.3*      
   )
   || (
      x11-libs/qt-embedded
   )
   directfb? (
      dev-libs/DirectFB
   )
   xvmc? (
      x11-libs/libXvMC
      video_cards_nvidia? ( || ( x11-drivers/nvidia-drivers
                         x11-drivers/nvidia-legacy-drivers ) )
      video_cards_via? ( x11-drivers/xf86-video-via )
      video_cards_i810? ( x11-drivers/xf86-video-i810 )
   )
   dev-db/mysql
   alsa? ( >=media-libs/alsa-lib-0.9 )
   dts? ( media-libs/libdts )
   dvd? (    media-libs/libdvdnav
      media-libs/libdts )
   dvb? ( media-libs/libdvb media-tv/linuxtv-dvb-headers )
   ivtv? ( media-tv/ivtv )
   jack? ( media-sound/jack-audio-connection-kit )
   lcd? ( app-misc/lcdproc )
   lirc? ( app-misc/lirc )
   vorbis? ( media-libs/libvorbis )
   opengl? ( virtual/opengl )
   ieee1394? (   >=sys-libs/libraw1394-1.2.0
         >=sys-libs/libavc1394-0.5.0
         >=media-libs/libiec61883-1.0.0 )
   || ( >=net-misc/wget-1.9.1 >=media-tv/xmltv-0.5.34 )"

DEPEND="${RDEPEND}
   X? ( x11-apps/xinit )"

PDEPEND="X? ( =x11-themes/mythtv-themes-${MY_PV}* )"

S="${WORKDIR}/${PN}-${MY_PV}"

MYTHTV_GROUPS="video,audio,tty"

pkg_setup() {

   local rip=0
   if use X ; then
      if ! built_with_use -a =x11-libs/qt-3* mysql ; then
         echo
         eerror "MythTV with X support requires Qt to be built with mysql use flag enabled."
         eerror "Please re-emerge =x11-libs/qt-3*, after having the use flag set."
         echo
         rip=1
      fi
   else
      if ! built_with_use -a =x11-libs/qt-embedded mysql ; then
         echo
         eerror "MythTV without X support requires Qt-Embedded to be built with mysql use flag enabled."
         eerror "Please re-emerge =x11-libs/qt-embedded, after having the use flag set."
         echo
         rip=1
      fi
   fi

   if use opengl ; then
      if use X ; then
         if ! built_with_use -a =x11-libs/qt-3* opengl ; then
            echo
            eerror "MythTV with opengl support requires Qt to be built with opengl use flag enabled."
            eerror "Please re-emerge =x11-libs/qt-3*, after having the use flag set."
            echo
            rip=1
         fi
      else
         if ! built_with_use -a =x11-libs/qt-embedded opengl ; then
            echo
            eerror "MythTV with opengl support requires Qt-Embedded to be built with opengl use flag enabled."
            eerrer "Please re-emerge =x11-libs/qt-embedded, after having the use flag set."
            echo
            rip=1
         fi
      fi
   fi

   if use xvmc && use video_cards_nvidia; then
      echo
      ewarn "You enabled the 'xvmc' USE flag, you must have a GeForce 4 or"
      ewarn "greater to use this. Otherwise, you'll have crashes with MythTV"
      echo
   fi

   if use xvmc && ! ( use video_cards_i810 || use video_cards_nvidia || use video_cards_via ); then
      echo
      eerror "You enabled the XvMC USE flag but did not configure VIDEO_CARDS with either"
      eerror "an nVidia, Intel i810, or VIA video card."
      echo
      rip=1
   fi

   [[ $rip == 1 ]] && die "Please fix the above issues, before continuing."

   echo
   einfo "This ebuild now uses a heavily stripped down version of your CFLAGS"
   einfo "Don't complain because your -momfg-fast-speed CFLAG is being stripped"
   einfo "Only additional CFLAG issues that will be addressed are for binary"
   einfo "package building."
   echo
}

src_unpack() {
   unpack ${A}
   cd "${S}"

   #Fixes of the bugs found in the release
   mythtv-fixes_patch

   # As needed fix since they don't know how to write qmake let alone a real
   # make system
   epatch "${FILESDIR}"/${PN}-${MY_PV}-as-needed.patch

   # Seriously... testing.. or maybe seeing if the OpenGL spec says these are
   # public... or checking mesa before assuming they're there
   epatch "${FILESDIR}"/${PN}-${MY_PV}-vsync.patch

   #Fix the directfb video out
   epatch "${FILESDIR}/videoout_directfb.patch"
}

src_compile() {
   local myconf="--prefix=/usr
      --mandir=/usr/share/man
      --libdir-name=$(get_libdir)"
   use alsa || myconf="${myconf} --disable-audio-alsa"
   use jack || myconf="${myconf} --disable-audio-jack"
   use dts || myconf="${myconf} --disable-dts"
   use freebox || myconf="${myconf} --disable-freebox"
   use dbox2 || myconf="${myconf} --disable-dbox2"
   use hdhomerun || myconf="${myconf} --disable-hdhomerun"
   use crciprec || myconf="${myconf} --disable-crciprec"
   use altivec || myconf="${myconf} --disable-altivec"
   use xvmc && myconf="${myconf} --enable-xvmc"
   use xvmc && use video_cards_via && myconf="${myconf} --enable-xvmc-pro"
   use perl && myconf="${myconf} --with-bindings=perl"
   myconf="${myconf}
      --disable-audio-arts
      $(use_enable lirc)
      $(use_enable joystick joystick-menu)
      $(use_enable dvb)
      --dvb-path=/usr/include
      $(use_enable opengl opengl-vsync)
      $(use_enable ieee1394 firewire)
      --enable-xrandr
      --enable-proc-opt"
   
   if use directfb ; then
      myconf="${myconf} --enable-directfb"
   else
      myconf="${myconf} --disable-directfb"
   fi

   if use X ; then
      myconf="${myconf} --enable-x11"
   else
      myconf="${myconf} --disable-x11"
   fi

   if use xv ; then
      myconf="${myconf} --enable-xv"
   else
      myconf="${myconf} --disable-xv"
   fi
   if use mmx || use amd64; then
      myconf="${myconf} --enable-mmx"
   else
      myconf="${myconf} --disable-mmx"
   fi

   if use debug; then
      myconf="${myconf} --compile-type=debug"
   else
      myconf="${myconf} --compile-type=release"
   fi

   ## CFLAG cleaning so it compiles
   MARCH=$(get-flag "march")
   MTUNE=$(get-flag "mtune")
   MCPU=$(get-flag "mcpu")
   strip-flags
   filter-flags "-march=*" "-mtune=*" "-mcpu=*"
   filter-flags "-O" "-O?"

   if [[ -n "${MARCH}" ]]; then
      myconf="${myconf} --arch=${MARCH}"
   fi
   if [[ -n "${MTUNE}" ]]; then
      myconf="${myconf} --tune=${MTUNE}"
   fi
   if [[ -n "${MCPU}" ]]; then
      myconf="${myconf} --cpu=${MCPU}"
   fi

#   myconf="${myconf} --extra-cxxflags=\"${CXXFLAGS}\" --extra-cflags=\"${CFLAGS}\""
   hasq distcc ${FEATURES} || myconf="${myconf} --disable-distcc"
   hasq ccache ${FEATURES} || myconf="${myconf} --disable-ccache"

   if use frontendonly; then
      ##Backend Removal
      ewarn
      ewarn "You are using the experimental feature for only installing the frontend."
      ewarn "You will not get Gentoo support nor support from MythTV upstream for this."
      ewarn "If this breaks, you own both pieces."
      ewarn
      myconf="${myconf} --disable-backend"
   fi

   if use backendonly; then
      ##Frontend Removal
      ewarn
      ewarn "You are using the experimental feature for only installing the backend."
      ewarn "You will not get Gentoo support nor support from MythTV upstream for this."
      ewarn "If this breaks, you own both pieces."
      ewarn
      myconf="${myconf} --disable-frontend"
   fi

   # let MythTV come up with our CFLAGS. Upstream will support this
   CFLAGS=""
   CXXFLAGS=""
   einfo "Running ./configure ${myconf}"
   ./configure ${myconf} || die "configure died"

   ${QTDIR}/bin/qmake QMAKE=${QTDIR}/bin/qmake -o "Makefile" mythtv.pro || die "qmake failed"
   emake || die "emake failed"

}

src_install() {

   einstall INSTALL_ROOT="${D}" || die "install failed"
   for doc in AUTHORS FAQ UPGRADING ChangeLog README; do
      test -e "${doc}" && dodoc ${doc}
   done

   if ! use frontendonly; then
      insinto /usr/share/mythtv/database
      doins database/*

      exeinto /usr/share/mythtv
      doexe "${FILESDIR}/mythfilldatabase.cron"

      newinitd ${FILESDIR}/mythbackend-0.18.2.rc mythbackend
      newconfd ${FILESDIR}/mythbackend-0.18.2.conf mythbackend
   fi

   dobin "${FILESDIR}"/runmythfe

   dodoc keys.txt docs/*.{txt,pdf}
   dohtml docs/*.html

   keepdir /etc/mythtv
   chown -R mythtv "${D}"/etc/mythtv
   keepdir /var/log/mythtv
   chown -R mythtv "${D}"/var/log/mythtv

   insinto /usr/share/mythtv/contrib
   doins contrib/*
}

pkg_preinst() {
   enewuser mythtv -1 "-1" -1 ${MYTHTV_GROUPS} || die "Problem adding mythtv user"
   usermod -a -G ${MYTHTV_GROUPS} mythtv
}

pkg_postinst() {
   if ! use backendonly; then
      echo
      einfo "Want mythfrontend to start automatically? Run the following:"
      einfo "crontab -e -u mythtv"
      einfo "Add add the following:"
      einfo "* * * * * /usr/bin/runmythfe &"
   fi
   echo
   einfo "To always have MythBackend running and available run the following:"
   einfo "rc-update add mythbackend default"
   echo
   ewarn "Your recordings folder must be owned by the user 'mythtv' now"
   ewarn "chown -R mythtv /path/to/store"
}



As you can see in the code, I've also write a patchfile for the videoout_directfb.cpp file. This patch change the declaration of the constructor of the DirectfbData class (to make it compile fine with gcc-4.1.1) and disable some keys definitions for Qt/E. Here is the patch which must be located in /usr/portage/media-tv/mythtv/files/videoout_directfb.patch.

Code:


--- libs/libmythtv/videoout_directfb.cpp   2006-08-22 19:19:45.000000000 +0000
+++ libs/libmythtv/videoout_directfb.cpp   2006-10-22 15:56:06.000000000 +0000
@@ -118,7 +118,7 @@
         {0x1021,0x00},  // Control Right
         {0x1023,0x00},  // ALT Left
         {0x1023,0x00},  // ALT Right
-        {0xffff,0x00}, // DIKS_ALTGR  not sure what QT Key is
+//        {0xffff,0x00}, // DIKS_ALTGR  not sure what QT Key is
         {0x1022,0x00},  // META Left
         {0x1022,0x00},  // META Right
         {0x1053,0x00}, // Super Left
@@ -152,7 +152,7 @@
         {0x5d,  0x5d},  // Bracket Right
         {0x5c,  0x5c},  // Back Slash
         {0x3b,  0x3b},  // Semicolon
-        {0xffff,0x00},  // DIKS_QUOTE_RIGHT not sure what QT Key is...
+//        {0xffff,0x00},  // DIKS_QUOTE_RIGHT not sure what QT Key is...
         {0x2c,  0x2c},  // Comma
         {0x2e,  0x2e},  // Period
         {0x2f,  0x2f},  // Slash
@@ -202,7 +202,7 @@
 class DirectfbData
 {
   public:
-    DirectfbData::DirectfbData()
+    DirectfbData()
       : dfb(NULL),            primaryLayer(NULL),
         primarySurface(NULL), videoLayer(NULL),
         videoSurface(NULL),   inputbuf(NULL),



Here is my /etc/make.conf file :

Code:


# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j1"
LINGUAS="fr"
USE="-cups -X alsa transcode dvdread lzo xvid win32codecs frontendonly javascript sdl directfb gif tiff jpeg mpeg png sdl truetype v4l v4l2 mysql fbcon dts dvd"
INPUT_DEVICES="all"
VIDEO_CARDS="all"
PORTDIR_OVERLAY="/usr/local/portage"
QTDIR="/usr/qt/3-embedded"



As you can see, I must set the QTDIR in it. And now I'm able to make emerge mythtv (I've also have to fill the /etc/portage/package.keywords with the needed ebuild to make it possible) and portage doesn't try to emerge X11 or QT3. And it compile fine. I can launch mythfrontend with this command line :

mythfrontend -qws 1>/home/small_frenchy/mythlog 2>/home/small_frenchy/mythlog

But before I make an how to, I have some little probs :oops:

I'm not able to watch TV because mythfrontend say "DirectFB could not find appropriate video output layer". So I know this message come from videoout_directfb.cpp and .h, which is a part of the libmythtv. I'm not a linux guru (win32 developper, so sorry), but I think i'm able to understand the problem. So I've tried to use gdb to debug libmythtv. This problem occur when libmythtv try to init the directfb device, so I was thinking to put a break point and compare the init in libmythtv with the init in mplayer (which work fine) and isolate de differences. Ouch, I haven't find a way to use gdb correctly with mythfrontend. Once I start debuging it freeze the computer. I've tried gdbserver also and have the same problem.

So here are my questions :

- Does anyone have been able to use mythtv 0.20 in framebuffer by another way ?
- Does anyone know how can I use gdb with mythfrontend to debug the directfb output ?
- Does anyone wanna help me ? I've made some work, there is more to do.

Thanks, and sorry for my poor english
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Wed Nov 01, 2006 1:38 pm    Post subject: Reply with quote

I've made a little overlay, you can download it at http://gateway.frenchyworld.dyndns.org/flexshare/overlay/mythtv-fb-overlay.tar.bz2
Just unpack it in /usr/local and add PORTDIR_OVERLAY="/usr/local/portage" in /etc/make.conf
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Wed Nov 01, 2006 7:19 pm    Post subject: Reply with quote

I'm currently trying to debug with ddd (GUI for gdb).
Does anyone can help me with it ?

I invoke mythfrontend with in this way :
Code:

mythfrontend -qws 1>/home/small_frenchy/mythlog 2>/home/small_frenchy/mythlog


from X. So when mythfrontend start in framebuffer, it "override" X... Any idea ?
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Wed Nov 01, 2006 11:38 pm    Post subject: Reply with quote

Another step done in debugging.

I've learn that there is a tool to emulate the framebuffer for Qt/E : qvfb... This tool is a part of the qt-x11 package.

So now, I've emerged x11(arrrgghhh that's not what I want ;) ) and manually install qt-x11 to have qvfb...

So i've been able to use ddd to debug mythfrontend in framebuffer, now I need to debug calls to the directfb API... And here, I've another problem. When I launch "Watch TV", a directfb screen open and nothing more... Maybe the debugging stop the process by any way.

If anyone know how to debug directfb apps post here please.

See ya...
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Tue Nov 07, 2006 10:57 am    Post subject: Reply with quote

Okay some little steps beyond. I'm now using ddd on remote computer, so I can debug libmythtv. I have a lot of work now to understand the mythtv's output method and the DirectFB API. I know that the directfb output in libmythtv is inspired by the libvo_driectfb from mplayer, so I will compare the DirectFB API calls. See ya
Back to top
View user's profile Send private message
mrfree
Veteran
Veteran


Joined: 15 Mar 2003
Posts: 1303
Location: Europe.Italy.Sulmona

PostPosted: Fri Nov 10, 2006 5:30 pm    Post subject: Reply with quote

I want to run mythtv using directfb (I'm building a gentoo-media-box) too, I'll try your ebuilds as soon as possible... ok I'm going to start an emerge ;)
_________________
Please EU, pimp my country!

ICE: /etc/init.d/iptables panic
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Fri Nov 10, 2006 5:55 pm    Post subject: Reply with quote

Happy to see that I'm not alone :D

Let me know about your tests, I'm currently modifying the videoout_directfb.cpp to make it work with DirectFB (hard work :oops: )
Back to top
View user's profile Send private message
Hobbes-X
l33t
l33t


Joined: 04 Feb 2004
Posts: 823
Location: Seattle, WA

PostPosted: Fri Nov 10, 2006 6:10 pm    Post subject: Reply with quote

small_frenchy wrote:
Happy to see that I'm not alone :D

Let me know about your tests, I'm currently modifying the videoout_directfb.cpp to make it work with DirectFB (hard work :oops: )


At some point I'll help test too- though upcoming holidays don't leave me with much free time for much serious help I'll do what I can :) Are you updating your overlay?
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Fri Nov 10, 2006 6:59 pm    Post subject: Reply with quote

I try to follow the official gentoo ebuild, If I have the time, I will set up un cvs or svn at my address this week end between my developments :)
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Sat Nov 11, 2006 2:49 pm    Post subject: Reply with quote

There is some problems when qt3 and/or qt4 are installed. Certainly environment probs around QTDIR and QMAKESPEC environment variable... So this overlay works fine only if qt3 and/or qt4 aren't installed. :oops: If anyone have a suggestion to resolve this (I'm not environment expert)
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Mon Nov 13, 2006 6:37 pm    Post subject: Reply with quote

Just a up for some news. I'l still working on videoout_directfb.cpp to make it works with DirectFB.0.9.25. Work in progress. Just a little question in my mind : what about DriectFB 1.0.0-rc2... Should I try to use it ??? :?:
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Thu Nov 23, 2006 6:53 pm    Post subject: Reply with quote

Okay, it's more difficult that what I was thinking, I need anyone who can explain me the mythtv API calls. By now I'm trying to make it works with xdirectfb
Back to top
View user's profile Send private message
Fujiguy
n00b
n00b


Joined: 29 Nov 2006
Posts: 7

PostPosted: Thu Nov 30, 2006 12:19 am    Post subject: Reply with quote

I am truly glad you are working on this. I have also worked on this (I however am not a programmer). I was about 90% complete using .19 (had it compiled and running but no video..I was missing a few things) but the latest sasc-0.6 seemed to work only with .20 so I switched to an X install for now. I also beleive mythtv no longer officialy supports directfb which is dissapointing. I been informed of this several times in the mythtv forums and mailing list of this while asking information on this subject.

About the API, you may be able to find what you are looking for on the mythtv developer mailing list or the mythtv developer wiki. There is also a great mythtv forum at mythtvtalk. Unfortunately there is not alot of other help I can give you except encouragement, I know there are others that look forward to this project as well. Keep us updated and if I can help in any way I will (I still have my notes for .19 and always have an extra box here for testing).
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Tue Dec 05, 2006 9:59 pm    Post subject: Reply with quote

Wow I'm so happy happy to see I'm not alone :) I'm still working on framebuffer, thanks for your links to these forums. I hope to have a result in the beginning of january (chritmas and new year take some times :) )

Thanks for your reply and sorry for my poor english.
Back to top
View user's profile Send private message
daeghrefn
Tux's lil' helper
Tux's lil' helper


Joined: 02 Jan 2005
Posts: 112

PostPosted: Wed Feb 21, 2007 4:48 am    Post subject: Reply with quote

Any luck at all? Any work lately? I was messing around with this, and I think you're onto the fact that the videoout.cpp file is where the bug is... everything else looks good.

Let me know how I can help.
_________________
Support our troops.
Back to top
View user's profile Send private message
small_frenchy
n00b
n00b


Joined: 01 Nov 2006
Posts: 14

PostPosted: Wed Feb 21, 2007 8:34 am    Post subject: Reply with quote

I'm still working. It's harder than what I was thinking but I'm still working and I'm late :oops: . Anybody used to use the mplayer libraries ??
Back to top
View user's profile Send private message
JeroenV
Guru
Guru


Joined: 16 Jul 2002
Posts: 447
Location: Amsterdam / Hamburg

PostPosted: Wed Feb 28, 2007 8:18 am    Post subject: Reply with quote

I'm sorry not to have more important tips for you, but I noticed you do
Code:

mythfrontend -qws 1>/home/small_frenchy/mythlog 2>/home/small_frenchy/mythlog


I'm not sure the logging is recorded like you want, because it seems you are telling it to write stdout to mythlog and then overwrite it with stderr output (correct me if I'm wrong). If you want to "mux" stdout + stderr in one logfile, you should probably do

Code:

mythfrontend -qws 1>&2>/home/small_frenchy/mythlog


Hope that makes your debugging life easier :wink:
_________________
Cheers 8)
Jeroen
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
May The Source be with you!
Back to top
View user's profile Send private message
vogt31337
n00b
n00b


Joined: 03 Mar 2007
Posts: 15

PostPosted: Thu Mar 08, 2007 1:52 pm    Post subject: Reply with quote

I'm also doing the same thing!

It would be really cool if things would work (I could kick non running X11).
I came here due to this link: http://gentoo-wiki.com/HOWTO_Setup_MythTV_in_Framebuffer
Maybe I found a solution: http://www.mythtv.org/wiki/index.php/MythTV_in_Framebuffer

which seems to "work".
Back to top
View user's profile Send private message
rigor
n00b
n00b


Joined: 16 Jan 2006
Posts: 7

PostPosted: Fri Jan 04, 2008 6:02 pm    Post subject: Reply with quote

Has there been any development on this ?
I came here due to this link: http://gentoo-wiki.com/HOWTO_Setup_MythTV_in_Framebuffer
Maybe I found a solution: http://www.mythtv.org/wiki/index.php/MythTV_in_Framebuffer

The 2 links given, both are incomplete.

the latest mythtv ebuild dosent have the directfb flag.

thanks for any info on this !
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum