Mailing List Archive

Getting X to use ivtvfb's framebuffer on Arch Linux
OS: Arch (up to date)
Kernel: 2.6.28-ARCH
Xorg: 7.4 (server: 1.5.3-4)

I am having trouble getting X to run through ivtvfb. Both ivtv and
ivtvfb initialize fine at boot:

ivtv: Start initialization, version 1.4.0
ivtv0: Initializing card #0
ivtv0: Autodetected Hauppauge card (cx23415 based)
ivtv 0000:07:05.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
tveeprom 0-0050: Hauppauge model 48139, rev K2B7, serial# 9924044
tveeprom 0-0050: tuner model is Philips FM1216ME MK5 (idx 117, type
38)
tveeprom 0-0050: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K)
(eeprom 0x74)
tveeprom 0-0050: audio processor is MSP4418 (idx 25)
tveeprom 0-0050: decoder processor is SAA7115 (idx 19)
tveeprom 0-0050: has radio, has IR receiver, has no IR transmitter
ivtv0: Autodetected Hauppauge WinTV PVR-350
saa7115 0-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv i2c
driver #0)
saa7127 0-0044: saa7129 found @ 0x88 (ivtv i2c driver #0)
msp3400 0-0040: MSP4418G-B3 found @ 0x80 (ivtv i2c driver #0)
msp3400 0-0040: msp3400 supports nicam and radio, mode is autodetect
and autoselect
tuner 0-0043: chip found @ 0x86 (ivtv i2c driver #0)
tda9887 0-0043: creating new instance
tda9887 0-0043: tda988[5/6/7] found
tuner 0-0061: chip found @ 0xc2 (ivtv i2c driver #0)
tuner-simple 0-0061: creating new instance
tuner-simple 0-0061: type set to 38 (Philips PAL/SECAM multi (FM1216ME
MK3))
ivtv0: Registered device video0 for encoder MPG (4096 kB)
ivtv0: Registered device video32 for encoder YUV (2048 kB)
ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
ivtv0: Registered device video24 for encoder PCM (320 kB)
ivtv0: Registered device radio0 for encoder radio
ivtv0: Registered device video16 for decoder MPG (1024 kB)
ivtv0: Registered device vbi8 for decoder VBI (64 kB)
ivtv0: Registered device vbi16 for decoder VOUT
ivtv0: Registered device video48 for decoder YUV (1024 kB)
ivtv0: Initialized card #0: Hauppauge WinTV PVR-350
ivtv: End initialization
ivtv 0000:07:05.0: firmware: requesting v4l-cx2341x-enc.fw
ivtv0: Loaded v4l-cx2341x-enc.fw firmware (376836 bytes)
ivtv 0000:07:05.0: firmware: requesting v4l-cx2341x-dec.fw
ivtv0: Loaded v4l-cx2341x-dec.fw firmware (262144 bytes)
ivtv0: Encoder revision: 0x02060039
ivtv0: Decoder revision: 0x02020023
ivtv 0000:07:05.0: firmware: requesting v4l-cx2341x-init.mpg
ivtv0: Loaded v4l-cx2341x-init.mpg firmware (155648 bytes)
ivtvfb0: Framebuffer at 0xf5510000, mapped to 0xf9190000, size 1665k
Console: switching to colour frame buffer device 80x30
ivtvfb0: Framebuffer registered on ivtv card id 0

and I get start and shutdown messages on my tv (that also happens in
Ubuntu), so the framebuffer must be working ok. Now I need X to use
it. I downloaded xf86-video-ivtv-1.0.1 from ivtvdriver.org, extracted,
installed some dependencies and ran ./configure:

bash-3.2# ./configure
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for style of include used by make... GNU
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognize dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for xlf... no
checking for f77... no
checking for frt... no
checking for pgf77... no
checking for cf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for xlf90... no
checking for f90... no
checking for pgf90... no
checking for pghpf... no
checking for epcf90... no
checking for gfortran... gfortran
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether gfortran accepts -g... yes
checking the maximum length of command line arguments... 1572864
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for gfortran option to produce PIC... -fPIC
checking if gfortran PIC flag -fPIC works... yes
checking if gfortran static flag -static works... yes
checking if gfortran supports -c -o file.o... yes
checking whether the gfortran linker (/usr/bin/ld) supports shared
libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for XORG... yes
checking if RANDR is defined... yes
checking if RENDER is defined... yes
checking if XSERVER_LIBPCIACCESS is defined... yes
checking if XV is defined... yes
checking whether XSERVER_LIBPCIACCESS is declared... yes
checking for PCIACCESS... yes
checking for ANSI C header files... (cached) yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating config.h
config.status: executing depfiles commands

Next, make:

bash-3.2# make
make all-recursive
make[1]: Entering directory `/home/crakie/xf86-video-ivtv-1.0.1'
Making all in src
make[2]: Entering directory `/home/crakie/xf86-video-ivtv-1.0.1/src'
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I.. -I/usr/include/xorg -I/usr/include/pixman-1 -g-O2 -MT
ivtv.lo -MD -MP -MF .deps/ivtv.Tpo -c -o ivtv.lo ivtv.c
gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg
-I/usr/include/pixman-1 -g -O2 -MT ivtv.lo -MD -MP -MF .deps/ivtv.Tpo
-c ivtv.c -fPIC -DPIC -o .libs/ivtv.o
mv -f .deps/ivtv.Tpo .deps/ivtv.Plo
/bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
-I.. -I/usr/include/xorg -I/usr/include/pixman-1 -g-O2 -MT
ivtv_hw.lo -MD -MP -MF .deps/ivtv_hw.Tpo -c -o ivtv_hw.lo ivtv_hw.c
gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg
-I/usr/include/pixman-1 -g -O2 -MT ivtv_hw.lo -MD -MP -MF
.deps/ivtv_hw.Tpo-c ivtv_hw.c -fPIC -DPIC -o .libs/ivtv_hw.o
ivtv_hw.c:57:55: error: asm/page.h: No such file or directory
make[2]: *** [ivtv_hw.lo] Error 1
make[2]: Leaving directory `/home/crakie/xf86-video-ivtv-1.0.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/crakie/xf86-video-ivtv-1.0.1'
make: *** [all] Error 2

and hence make install won't work either, obviously.

So what is going wrong/am I doing wrong? How do I get the precious
ivtv_drv.so in /usr/lib/xorg/modules/drivers? ;)

Thanks,

Paul

P.S. I am not aware of any packages (something like xf86-video-ivtv)
from Arch Linux' repositories that I could install. A xf86-video-fbdev
package is available, but that isn't it.

_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: Getting X to use ivtvfb's framebuffer on Arch Linux [ In reply to ]
On Friday 13 Feb 2009, Paul van Gerven wrote:
> OS: Arch (up to date)
> Kernel: 2.6.28-ARCH
> Xorg: 7.4 (server: 1.5.3-4)
>
> I am having trouble getting X to run through ivtvfb. Both ivtv and
> ivtvfb initialize fine at boot:

> I downloaded xf86-video-ivtv-1.0.1 from ivtvdriver.org, extracted,
> installed some dependencies and ran ./configure:

> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
> -I.. -I/usr/include/xorg -I/usr/include/pixman-1 -g-O2 -MT
> ivtv_hw.lo -MD -MP -MF .deps/ivtv_hw.Tpo -c -o ivtv_hw.lo ivtv_hw.c
> gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg
> -I/usr/include/pixman-1 -g -O2 -MT ivtv_hw.lo -MD -MP -MF
> .deps/ivtv_hw.Tpo-c ivtv_hw.c -fPIC -DPIC -o .libs/ivtv_hw.o
> ivtv_hw.c:57:55: error: asm/page.h: No such file or directory
> make[2]: *** [ivtv_hw.lo] Error 1
> make[2]: Leaving directory `/home/crakie/xf86-video-ivtv-1.0.1/src'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/crakie/xf86-video-ivtv-1.0.1'
> make: *** [all] Error 2
>
> and hence make install won't work either, obviously.
>
> So what is going wrong/am I doing wrong? How do I get the precious
> ivtv_drv.so in /usr/lib/xorg/modules/drivers? ;)

This was fixed ages ago, but it was never made into a proper release version.
Grab the source from trunk and it should work okay.

svn co http://ivtvdriver.org/svn/xf86-video-ivtv/trunk xf86-video-ivtv

--
Ian

_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users
Re: Getting X to use ivtvfb's framebuffer on Arch Linux [ In reply to ]
Thanks Ian, but I got really lucky and had my problem solved without
having to run make. Reading my post, someone added a package to the
Arch User Repository. For future reference, it is located here:

http://aur.archlinux.org/packages.php?ID=23898

Thanks,

Paul

On 2/14/09, Ian Armstrong <mail01@iarmst.co.uk> wrote:
> On Friday 13 Feb 2009, Paul van Gerven wrote:
>> OS: Arch (up to date)
>> Kernel: 2.6.28-ARCH
>> Xorg: 7.4 (server: 1.5.3-4)
>>
>> I am having trouble getting X to run through ivtvfb. Both ivtv and
>> ivtvfb initialize fine at boot:
>
>> I downloaded xf86-video-ivtv-1.0.1 from ivtvdriver.org, extracted,
>> installed some dependencies and ran ./configure:
>
>> /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I.
>> -I.. -I/usr/include/xorg -I/usr/include/pixman-1 -g-O2 -MT
>> ivtv_hw.lo -MD -MP -MF .deps/ivtv_hw.Tpo -c -o ivtv_hw.lo ivtv_hw.c
>> gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include/xorg
>> -I/usr/include/pixman-1 -g -O2 -MT ivtv_hw.lo -MD -MP -MF
>> .deps/ivtv_hw.Tpo-c ivtv_hw.c -fPIC -DPIC -o .libs/ivtv_hw.o
>> ivtv_hw.c:57:55: error: asm/page.h: No such file or directory
>> make[2]: *** [ivtv_hw.lo] Error 1
>> make[2]: Leaving directory `/home/crakie/xf86-video-ivtv-1.0.1/src'
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory `/home/crakie/xf86-video-ivtv-1.0.1'
>> make: *** [all] Error 2
>>
>> and hence make install won't work either, obviously.
>>
>> So what is going wrong/am I doing wrong? How do I get the precious
>> ivtv_drv.so in /usr/lib/xorg/modules/drivers? ;)
>
> This was fixed ages ago, but it was never made into a proper release
> version.
> Grab the source from trunk and it should work okay.
>
> svn co http://ivtvdriver.org/svn/xf86-video-ivtv/trunk xf86-video-ivtv
>
> --
> Ian
>
> _______________________________________________
> ivtv-users mailing list
> ivtv-users@ivtvdriver.org
> http://ivtvdriver.org/mailman/listinfo/ivtv-users
>

_______________________________________________
ivtv-users mailing list
ivtv-users@ivtvdriver.org
http://ivtvdriver.org/mailman/listinfo/ivtv-users