Video4Linux2 sup­port in FreeB­SD (lin­ux­u­la­tor)

I com­mit­ted the v4l2 sup­port into the lin­ux­u­la­tor (in 9‑current). Part of this was the import of the v4l2 head­er from lin­ux. We have the per­mis­sion to use it (like the v4l one), it is not licensed via GPL. This means we can use it in FreeB­SD native dri­vers, and they are even allowed to be com­piled into GENERIC (but I doubt we have a dri­ver which could pro­vide the v4l2 inter­face in GENERIC).

The code I com­mit­ted is “just” the glue-code which allows to use FreeB­SD native devices which pro­vide a v4l2 inter­face (e.g. multimedia/pwcbsd or multimedia/webcamd) from lin­ux programs.

Thanks to nox@ for writ­ing the glue code.

Video4Linux sup­port in FreeBSD

Yes­ter­day I com­mit­ted the v4l sup­port into the lin­ux­u­la­tor (in 9‑current). Part of this was the import of the v4l head­er from lin­ux. We have the per­mis­sion to use it, it is not licensed via GPL. This means we can use it in FreeB­SD native dri­vers, and they are even allowed to be com­piled into GENERIC (but I doubt we have a dri­ver which could pro­vide the v4l inter­face in GENERIC).

The code I com­mit­ted is “just” the glue-code which allows to use FreeB­SD native devices which pro­vide a v4l inter­face (e.g. multimedia/pwcbsd) from lin­ux programs.

If some­one is will­ing to write the glue-code for the v4l2 inter­face please con­tact me. We have the per­mis­sion to use the v4l2 head­er too, we just need some­one doing the coding.

In a sim­i­lar way, if some­one is will­ing to add v4l2 inter­face sup­port to FreeB­SD native dri­vers (I do not know any FreeB­SD dri­ver which pro­vides a v4l2 inter­face) , just tell me and I import the v4l2 head­er into FreeBSD.

And if some­one wants to add v4l sup­port to FreeB­SD native dri­vers but does not know where to start, feel free to con­tact me too.

Regard­ing the code which is in FreeB­SD ATM: it is not com­plete­ly fin­ished yet (some clip­ping relat­ed stuff is being worked on), but the not fin­ished part can not even be test­ed, as we do not know about a FreeB­SD device which pro­vides this functionality.

There is no MFC planned yet, but the more suc­cess sto­ries and test sce­nar­ios are being told about on the emu­la­tion or mul­ti­me­dia mail­inglists, the more like­ly I will do a MFC soon­er than later.

Progress in the lin­ux 2.6.x compatibility

Since my call for test­ing the extend­ed lin­ux­u­la­tor in FreeBSD-current we got not much neg­a­tive respons­es. Ping does­n’t work on the lin­ux side (fixed in p4), ordi­nary net­work con­nec­tions (e.g. down­load­ing some stuff) works fine. There seems to be a dead­lock on SMP sys­tems when com­pil­ing a lot of stuff in par­al­lel (e.g. using emerge in a gentoo-chroot with MAKEFLAGS=-j4), this is being under inves­ti­ga­tion by Roman. Com­pil­ing stuff seri­al­ly on an UP sys­tem works just fine so far.

I’m won­der­ing if the lack of respons­es means that every­thing is run­ning just fine, or that nobody is giv­ing it a try. So far the dai­ly use of lin­ux pro­grams (acrore­ad, linux-firefox, …) with 2.6.16 com­pat­i­bil­i­ty seems to just work fine on UP and SMP sys­tems and cur­rent­ly I don’t see a rea­son to not switch the default in i386 in a week.

Jung-uk Kim is work­ing on the linux-TLS on amd64 part. ATM he is chas­ing bugs. It looks we can get fea­ture par­i­ty between i386/linux and amd64/linux32 soon.

Intron did send in a patch for the linux-aio stuff. Now I just need to get time to have a look at it.

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 compat.linux.osrelease=2.6.16

to switch back (after exit­ing all lin­ux 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­vid­ed 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 futex­es (vis­i­ble in acrore­ad, realplay and skype), but some pro­grams already run with­out obvi­ous prob­lems (linux-firefox, linux-opera).

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