Alexander Leidinger

Just another weblog

Dec
01

Video for linux (v4l) emu­la­tion com­ing to the linuxulator

I am in the process of prepar­ing the import of code which makes v4l devices usable in the lin­ux­u­la­tor. Basi­cally this means you can use your web­cam in skype (tested by the sub­mit­ter of the patch on amd64).

This is not a “apply patch and com­mit” thing, because the orig­i­nal videodev.h (with some mod­i­fi­ca­tions) is used. I was seek­ing the OK from core@ for this. As there is no license in the header, and the orig­i­nal author (Alan Cox, the linux one, not our FreeBSD one) gave per­mis­sions to use it, core@ is OK with the import.

I intent to do a ven­dor import of the linux header (pre­pared today, together with some readme which explains where it comes from and some stuff to show that we are on the safe side regard­ing legal stuff), and then I want to copy this over to the lin­ux­u­la­tor as linux_videodev.h and com­mit the patch (prob­a­bly a lit­tle bit mod­i­fied in a few places). My plan is to com­mit it this week. Peo­ple which already want to play around with it now can have a look at the emu­la­tion mail­inglist, a link to the patch is posted there.

With the header being in a ven­dor branch, inter­ested peo­ple could then start to sub­mit new BSD licensed dri­vers or mod­ify exist­ing dri­vers which make use of the v4l inter­face, but I let the import of the header into the FreeBSD include direc­tory up to the per­son which wants to com­mit the first native FreeBSD-v4l support.

When such native FreeBSD-v4l sup­port is com­mit­ted, the lin­ux­u­la­tor code needs to be revised.

GD Star Rat­ing
load­ing…
GD Star Rat­ing
load­ing…
Share

Tags: , , , , , , , , ,
Jan
20

Lin­ux­u­la­tor in –cur­rent ready for test­ing the 2.6.16 emulation

Today I com­mit­ted two patches which fix the last two pan­ics we know about in the 2.6.16 emu­la­tion. Now we need testers. Here’s the text of the mail I did send to current@ a few moments ago:

Hi,

today I com­mit­ted the last fixes for the show­stop­per prob­lems (pan­ics) in the linux 2.6.16 emu­la­tion. I intend to switch the default ver­sion to 2.6.16 on i386 “soon” (see below), so please help test­ing it.

More recent linux dis­tri­b­u­tions (e.g. FC5) require a 2.6 ker­nel and don’t work with 2.4.2 any­more. And because FC4 is “abandon-ware” (no secu­rity fixes from fedo­rale­gacy any­more), get­ting 2.6.16 emu­la­tion up an run­ning is very important.

If you use a linux pro­gram, please add compat.linux.osrelease=2.6.16 to /etc/sysctl.conf (my desk­top is run­ning with 2.6.16 emu­la­tion since some days already). After the next boot (or after run­ning “sysctl compat.linux.osrelease=2.6.16″, please make sure no linux pro­gram is run­ning already) any linux pro­gram will start with a linux ker­nel ver­sion of 2.6.16 instead of 2.4.2. The default linux base port (FC4) will then use dif­fer­ent code paths (e.g. within glibc). In case you want to switch back to the 2.4.2 emu­la­tion with­out a reboot, please make sure no linux pro­gram is run­ning anymore.

So far we fixed all known/repeat­able prob­lems with acroread, realplayer, skype and linux fire­fox. If you encounter strange behav­ior with any linux pro­gram, please tell us (emulation@freebsd.org) which pro­gram you used, how to repeat the prob­lem, what the prob­lem is, and if it only is vis­i­ble with 2.6.16 or with 2.4.2 too. You should also watch out for mes­sages in the dmesg (unim­ple­mented sys­tem calls or other stuff, this is used to deter­mine the pri­or­ity of miss­ing syscalls). Please also have a look at http://wiki.FreeBSD.org/linux-kernel, I intend to doc­u­ment the known prob­lems there. If you find your prob­lem there, please tell us about it if you are will­ing to test fixes.

We are spe­cially inter­ested in reports (good or bad) on SMP sys­tems. Please beat the hell out of the lin­ux­u­la­tor!

On amd64 sys­tems we have not the same func­tion­al­ity as on i386, miss­ing are futexes and TLS. In P4 we already have the futex part cov­ered, but the TLS part is still miss­ing (any­one with a clue about the ker­nel side of TLS on amd64 is wel­come to give a hint or two to jkim@ and rdivacky@). So if you get a mes­sage about miss­ing futexes or TLS on amd64: we know about it (testers for the futex stuff are wel­come, but first you need to use a pro­gram which uses futexes and complains).

As long as we get prob­lem reports with 2.6.16 I will not switch the default to 2.6.16. If we don’t get a report at all, I will switch the default on i386 to 2.6.16 in two weeks. If we get some prob­lem reports, we will push back the switch a lit­tle bit depend­ing on the sever­ity of the problem.

Bye,
Alexander.

GD Star Rat­ing
load­ing…
GD Star Rat­ing
load­ing…
Share

Tags: , , , , , , , , ,
Sep
24

Try­ing to get some more soundsys­tem related progress

I started a wiki page about improv­ing the soundsys­tem. The idea is sim­i­lar to the wiki page about improv­ing our lin­ux­o­la­tor. It’s a way to tell the peo­ple what is cur­rently avail­able as patches (and where), what is bro­ken and needs to be fixed, which improve­ments we like to see and so on. It’s maybe also a good place to list docs for sound­chips. Cur­rently the page about the soundsys­tem is a lit­tle bit low on con­tent. I hope a lot of peo­ple con­tribute with ideas, facts, sug­ges­tions, point­ers to help­ful stuff, (point­ers to) bugs, point­ing out lack of docs and so on (either by mod­i­fy­ing the page, or by mail­ing stuff to multimedia@FreeBSD.org).

With the linux page I was able to gain some momen­tum and sev­eral peo­ple are already help­ing with patches, run­ning tests and so on (even lit­tle help mat­ters). I hope the sound page will show a sim­i­lar benefit.

So dear reader, do you play some music some­times? Do you play an instru­ment which can be con­nected to some other stuff (MIDI)? Do you use acroread, skype, or some other linux soft­ware? If yes go to the wiki pages and read them please. When you’re fin­ished please donate 5 – 10 min­utes (I don’t mind if you sepnd more) of your time and try to tell us at multimedia@FreeBSD.org or emulation@FreeBSD.org about stuff you think could be lis­tet there (instead of smok­ing a cig­a­rette, argue­ing about bad behav­ior of peo­ple around you, or sim­i­lar neg­a­tive stuff). Thanks in advance and trust me, you will earn good karma when you do this!

GD Star Rat­ing
load­ing…
GD Star Rat­ing
load­ing…
Share

Tags: , , , , , , , , ,
Aug
15

lin­ux­o­la­tor SoC work committed

I com­mit­ted most of Romans work in the lin­ux­o­la­tor to cur­rent. The new syscalls aren’t used until you run

sysctl com­pat.linux.osrelease=2.6.16

to switch back (after exit­ing all linux pro­grams) you just have to run

sysctl compat.linux.osrelease=2.4.2

But you have to do this on i386. Amd64 sup­port is not com­plete (and besides this, amd64 is still bro­ken and nobody pro­vided the nec­ces­sary debug­ging info to jhb@).

There are some known prob­lems with osrelease=2.6.16, e.g., prob­lems with futexes (vis­i­ble in acroread, realplay and skype), but some pro­grams already run with­out obvi­ous prob­lems (linux–fire­fox, linux-opera).

Any reports about new prob­lems to netchild@ and rdivacky@ please. Reviews, debug­ging info and patches are wel­come too.

GD Star Rat­ing
load­ing…
GD Star Rat­ing
load­ing…
Share

Tags: , , , , , , , ,