Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78894 - media-libs/svgalib 1.9.19-r1: svgalib_helper kernel module does not create /dev/svga device node
Summary: media-libs/svgalib 1.9.19-r1: svgalib_helper kernel module does not create /d...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: SpanKY
Depends on:
Reported: 2005-01-20 19:35 UTC by Peter Gordon (RETIRED)
Modified: 2005-01-23 11:02 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Peter Gordon (RETIRED) gentoo-dev 2005-01-20 19:35:42 UTC
Now that media-libs/svgalib is fixed with the devfs_mk_symlink-removal patch (bug 77186), it emerges properly and `modprobe svgalib_helper` runs without errors. dmesg seems to report that it loaded sucessfully:

svgalib_helper: Initializing, version 1.9.19
svgalib_helper: device1: vendor:10de id:002d
device1: region0, base=d4000000 len=16777216 type=0
device1: region1, base=d2000000 len=33554432 type=8

However, if I try to play a video using `mplayer -vo svga /path/to/video.mpg` I get the following error:

svgalib: Cannot open /dev/svga
Is svgalib_helper module loaded?

I look in /dev/ and I find that the device node does not exist. I found a thread about this on the forums ( but I have no /dev/svga_helper directory either. I'm using udev 050.

Reproducible: Always
Steps to Reproduce:
1. emerge --sync
2. emerge "=media-libs/svgalib-1.9.19-r1"
3. modprobe svgalib_helper
4. mplayer -vo svga /path/to/video.mpg

Actual Results:  
mplayer complains that the /dev/svga device node does not exist.

Expected Results:  
The /dev/svga device node should have been created and it should have played the
video using the svgalib output layer.

Portage 2.0.51-r14 (default-linux/x86/2004.3, gcc-3.4.3,
glibc-, 2.6.11-rc1 i686)
System uname: 2.6.11-rc1 i686 AMD Athlon(tm) processor
Gentoo Base System version 1.6.8
Python:              dev-lang/python-2.4,dev-lang/python-2.3.4 [2.4 (#1, Jan  8
2005, 19:04:36)]
ccache version 2.3 [enabled]
dev-lang/python:     2.4, 2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.6.3, 1.9.4, 1.8.5-r2, 1.5, 1.7.9, 1.4_p6
sys-devel/libtool:   1.5.10-r3
CFLAGS="-O2 -march=athlon-tbird -fomit-frame-pointer -pipe"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-tbird -fomit-frame-pointer -pipe"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
USE="x86 3dnow 3dnowex X X509 aac aalib alsa apache2 apm audiofile avi bcmath
bidi bindist bitmap-fonts bzip2 bzlib calendar cdparanoia chroot cpdflib crypt
cscope ctype cups curl curlwrappers dba dbx directfb encode erandom exif fam
fbcon flac font-server foomaticdb fortran ftp gcj gd gdbm ggi gif gimpprint
glitz glut gnutls gpm gtk gtk2 gtkhtml hal iconv imap imlib innodb ipv6 java
javascript jpeg ldap libcaca live lua mad md5sum mhash mikmod mime ming mmx mmx2
mng mozdevelop mozilla mozsvg mozxmlterm mp3 mpeg mpi mplayer mysql mysqli
ncurses nls nptl nptlonly nvidia objc offensive oggvorbis opengl openntpd pam
parse-clocks pcmcia pcre perl php pic png pnp posix ppds pwdb python readline
real ruby sasl sdk sdl session silc simplexml skey sndfile sockets speex spell
sqlite ssl stroke svg svga sysvipc tcltk tcpd tetex theora threads tidy tiff
tokenizer truetype truetype-fonts type1-fonts unicode usb wddx wmf xine xml xml2
xpm xprint xsl xv xvid zlib video_cards_nvidia"
Comment 1 Steffen Jobbagy-Felso 2005-01-21 22:51:45 UTC
Having the same problem
athlon-xp, GCC 3.3.5, Kernel 2.6.10-r6, Matrox Millenium II PCI
Comment 2 Daniel Drake (RETIRED) gentoo-dev 2005-01-22 06:37:31 UTC
Interesting. Same uni/department as myself :)

This works for myself, also with udev. I can see a possible problem in the patch which adds udev support though. Do you have CONFIG_DEVFS_FS set in your kernel config, even though devfs isnt mounted?
Comment 3 Peter Gordon (RETIRED) gentoo-dev 2005-01-22 08:43:12 UTC
Yes I do. Should that be disabled? 
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2005-01-22 09:02:54 UTC
Yes, please try that. If it helps then I'll fix up the patch to work both ways.
Comment 5 Peter Gordon (RETIRED) gentoo-dev 2005-01-22 09:40:44 UTC
Yes. Removing devfs support seems to have fixed it, and svgalib_helper now creates the necessary /dev/svga device nodes when the module is loaded. A simple `chmod 0777 /dev/svga*` enables me to use svga as a normal user afterward.
Comment 6 Steffen Jobbagy-Felso 2005-01-22 14:40:54 UTC
I'm not using udev, is there any other fix apart from disabling devfs?
What year are you in? I'm 2nd (MEng ECS)
Comment 7 Steffen Jobbagy-Felso 2005-01-22 14:54:48 UTC
Oh yeah I'm currently can't get transcode&libquicktime to merge, I hope that's not the cause..
emerge info:
Portage 2.0.51-r14 (default-linux/x86/2004.3, gcc-3.3.5, glibc-
, 2.6.10-gentoo-r6 i686)
System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(tm) XP 2000+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Dec 14 2004, 12:20:27)]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r5
sys-devel/automake:  1.8.5-r1
sys-devel/libtool:   1.5.2-r7
virtual/os-headers:  2.4.21-r1
CFLAGS="-march=athlon-xp -O2 -pipe"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share
/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/shar
e/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe"
FEATURES="autoaddcvs autoconfig candy ccache distlocks moo sandbox sfperms"
USE="x86 3dnow 3dnowex X aalib acpi alsa apache2 autofile avi berkdb bitmap-font
s bzlib cdr crypt dedicated dga dio directfb divx4linux doc dvd dvdr encode f77 
fam font-server foomaticdb fortran ftp gdbm gif gpm gtk gtk2 icq imagemagick iml
ib java jpeg libg++ libwww matrox memlimit mikmod mime mmx motif mpeg msn ncurse
s network nls nocd offensive oscar pam pcre perl php png python qt quicktime rea
dline real sdl shared sharedmem slang spell spl sse ssl svga symlink tcltk tcpd 
tiff tokenizer truetype truetype-fonts type1-fonts usb videos xanim xine xml xml
2 xmms xosd xvid zlib"
Comment 8 Daniel Drake (RETIRED) gentoo-dev 2005-01-22 15:53:14 UTC
Ok. Fixed the patch so that sysfs (and hence udev) support works on 2.6 even when devfs is enabled, this should solve Peter's issue. Also added a udev permissions file, the /dev/svga nodes will now have group video for udev users, so that should avoid the need for a regular chmod.

I also retested on devfs, the /dev/svga link is created but only after I restarted devfsd. So I have added some code into the ebuild to do this.

The above changes are included in svgalib-1.9.19-r2. Please test it and let me know how you get on.

Steffan: I am in first year CS MEng
Comment 9 Steffen Jobbagy-Felso 2005-01-22 18:44:27 UTC
Now I'm confused - modprobe says it can't find the module.
I emerged svgalib-1.9.19-r2 with ~x86 for that in package.keywords. The module is in /lib/modules/2.6.10-gentoo-r6/kernel/misc/svgalib_helper.ko. I tried doing env-update, etc-update and source /etc/profile but that didn't help either.
Comment 10 Daniel Drake (RETIRED) gentoo-dev 2005-01-23 04:01:09 UTC
Are you sure it is there? Check with ls. Running "make modules_install" from the kernel directory will delete it.

You could also run modules-update before trying to load it, or you could load it with insmod /lib/modules/.....
Comment 11 Steffen Jobbagy-Felso 2005-01-23 04:20:29 UTC
I don't know why (probably the restart I did for unrelated reasons) but it loaded the module without saying anything as before. But it still doesn't create /dev/svga :(
Comment 12 Steffen Jobbagy-Felso 2005-01-23 04:22:27 UTC
It should still create /dev/svga even when I'm currently running X, right?
Comment 13 Daniel Drake (RETIRED) gentoo-dev 2005-01-23 04:43:12 UTC
Do you have a file at /etc/devfs.d/svgalib with these contents?

LOOKUP          ^svga$            CFUNCTION GLOBAL mksymlink svga_helper/0 svga
REGISTER        ^svga_helper/0$   CFUNCTION GLOBAL mksymlink $devname svga
UNREGISTER      ^svga_helper/0$   CFUNCTION GLOBAL unlink svga
Comment 14 Steffen Jobbagy-Felso 2005-01-23 05:12:44 UTC
Didn't have it, unloaded the module, created the file with your contents, loaded the module, but didn't help
Comment 15 Daniel Drake (RETIRED) gentoo-dev 2005-01-23 05:43:07 UTC
You have to restart devfsd after adding it
  killall -HUP devfsd

Then try reloading the module..?
Comment 16 Steffen Jobbagy-Felso 2005-01-23 06:15:13 UTC
Works like a charm now (restart devfsd, unload und reload module), thanks!
If you want give me a ring and I'll buy you a pint :D
My exams finish Thu 4pm
Comment 17 Daniel Drake (RETIRED) gentoo-dev 2005-01-23 06:55:42 UTC
The ebuild is supposed to put the rules file in place and restart devfsd for you automatically. Spotted my mistake though. In about 30 mins, could you please remove /etc/devfs.d/svgalib, emerge sync, emerge =svgalib-1.9.19-r3, and make sure that it works after that?

My exams dont finish until friday :(
Comment 18 Steffen Jobbagy-Felso 2005-01-23 07:45:52 UTC
Well it doesn't have to be on thursday, but I'm free all the time till uni starts again a week later :D
-r3 isn't in yet, can you mail/icq(7806355)/msn( me or post here again when it's in?
Comment 19 Daniel Drake (RETIRED) gentoo-dev 2005-01-23 07:49:10 UTC
I can't do that. I've committed it to our CVS and its just the waiting game before it makes it onto the rsync mirrors. I'd imagine that it will take 2-3 hours before it is present on all of the global mirrors. Just try again in an hour or so.
Comment 20 Steffen Jobbagy-Felso 2005-01-23 08:22:34 UTC
Ah, didn't know that, I'm learning fast but I'm still quite new :/
Did as you described and it worked, the file in etc was created and worked straight away. Only as root, but I think that's due to the group membership of my user, but that should be simple :)
Comment 21 Daniel Drake (RETIRED) gentoo-dev 2005-01-23 11:02:36 UTC
I don't know how to control devfs device ownership, someone else will have to fix that, or every user will have to switch to udev where it is now done automatically :)

I have marked 1.9.19-r3 stable, thanks for all the testing and feedback.