Yesterday I committed the v4l support into the linuxulator (in 9-current). Part of this was the import of the v4l header from linux. We have the permission to use it, it is not licensed via GPL. This means we can use it in FreeBSD native drivers, and they are even allowed to be compiled into GENERIC (but I doubt we have a driver which could provide the v4l interface in GENERIC).
The code I committed is “just” the glue-code which allows to use FreeBSD native devices which provide a v4l interface (e.g. multimedia/pwcbsd) from linux programs.
If someone is willing to write the glue-code for the v4l2 interface please contact me. We have the permission to use the v4l2 header too, we just need someone doing the coding.
In a similar way, if someone is willing to add v4l2 interface support to FreeBSD native drivers (I do not know any FreeBSD driver which provides a v4l2 interface) , just tell me and I import the v4l2 header into FreeBSD.
And if someone wants to add v4l support to FreeBSD native drivers but does not know where to start, feel free to contact me too.
Regarding the code which is in FreeBSD ATM: it is not completely finished yet (some clipping related stuff is being worked on), but the not finished part can not even be tested, as we do not know about a FreeBSD device which provides this functionality.
There is no MFC planned yet, but the more success stories and test scenarios are being told about on the emulation or multimedia mailinglists, the more likely I will do a MFC sooner than later.
GD Star Rating
loading…
GD Star Rating
loading…
I am in the process of preparing the import of code which makes v4l devices usable in the linuxulator. Basically this means you can use your webcam in skype (tested by the submitter of the patch on amd64).
This is not a “apply patch and commit” thing, because the original videodev.h (with some modifications) is used. I was seeking the OK from core@ for this. As there is no license in the header, and the original author (Alan Cox, the linux one, not our FreeBSD one) gave permissions to use it, core@ is OK with the import.
I intent to do a vendor import of the linux header (prepared today, together with some readme which explains where it comes from and some stuff to show that we are on the safe side regarding legal stuff), and then I want to copy this over to the linuxulator as linux_videodev.h and commit the patch (probably a little bit modified in a few places). My plan is to commit it this week. People which already want to play around with it now can have a look at the emulation mailinglist, a link to the patch is posted there.
With the header being in a vendor branch, interested people could then start to submit new BSD licensed drivers or modify existing drivers which make use of the v4l interface, but I let the import of the header into the FreeBSD include directory up to the person which wants to commit the first native FreeBSD-v4l support.
When such native FreeBSD-v4l support is committed, the linuxulator code needs to be revised.
GD Star Rating
loading…
GD Star Rating
loading…
Today I fixed 3 linux ports (converting to the “new” world order) to not use RPM directly (the right thing is to use rpm2cpio, and bsd.linux-rpm.mk provides some nice stuff to handle this).
In the last week I fixed some stuff in the linuxulator–MFC patch. It should now compile on amd64 and i386 without problems (at least the code which I have locally). There’s one (strange) panic report which I want to analyze and fix (if it is linuxulator related) with Roman before I update the patch on my site.
GD Star Rating
loading…
GD Star Rating
loading…
I had a look at some USB PRs and wrote a list of those with patches to Warner (as he is working on USB stuff currently). I also categorized them (easy, not easy, maybe already fixed, …). The easy ones he handled already, for the rest I don’t know his current plans.
Regarding linuxulator stuff I’m working on a MFC patch (no TLS, no futexes). As I don’t have a –stable box I need some help testing it before I can commit it. I only compile tested this on –current with the new gcc 4.2. What I need is:
- testing on i386, amd64 (if I forgot something, it may panic your system)
- “make universe” test (you have to grep all the logs for “Error 1″ and investigate the error if there’s one)
- LTP test run, see the wiki for more (best would be a diff of the logs in the result directory of no-patch/patch runs)
- normal linux application use-tests
What the patch provides is:
- mmap fixes
- fix memleaks
- add mprotect/iopl/lstat/ftruncate/statfs64/timer_*/mq_*
- more errno value mapping
- don’t limit number of syscalls to 255
- allow to exec libs
- ioctl TIOCGPTN
- handle more socket options
- de-COMPAT_43-ify
- add dummy syscalls so that we know what is needed (reports from users)
- style(9)
- linprocfs enhancements
GD Star Rating
loading…
GD Star Rating
loading…
The linuxulator is synced on amd64 with i386 (since a while). This means TLS is working now and we have the same (a little bit buggy) futexes.
Roman is slowly working on the *at() commands. He also applied for the GSoC this year again. Kib is willing to mentor (in case Roman gets a free seat in the SoC). I rejected the mentoring position this time, as I don’t know if I will have enough time this summer, but I hope I will be around.
GD Star Rating
loading…
GD Star Rating
loading…