Open cachedout opened 8 years ago
Which program are you using to stream from the webcam? Have you tried changing any of the controle (hue, etc.) to see if you're just stuck at some bad default value. Could also be a confusion of formats between driver and application. Can you try qv4l2 or mplayer to see if you get the same results?
@patjak I have tried both qv4l2
and mplayer
and both produce the same results. Even playing around with the hue
setting on qv4l2
doesn't seem to provide any relief, I'm afraid.
I had the same problem, but it seems to have vanished. The only things I've done recently as far as I can remember, since last seeing the problem are:
Give that a shot and see if it works?
On 29 Sep 2016 17:08, "Mike Place" notifications@github.com wrote:
@patjak https://github.com/patjak I have tried both qv4l2 and mplayer and both produce the same results. Even playing around with the hue setting on qv4l2 doesn't seem to provide any relief, I'm afraid.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/patjak/bcwc_pcie/issues/96#issuecomment-250442419, or mute the thread https://github.com/notifications/unsubscribe-auth/ABHklwkIz-eH_k75xnXD2fgXTWUcGpKpks5qu6MqgaJpZM4KC-Pr .
Okay, turns out the problem isn't gone. Let me know if I can provide any logs (and how to access them, if you could).
I'm running Arch Linux (Kernel 4.7.2-2) on a MacBook Pro Retina (11,5)
I've got the same issue. 4.8.8-gentoo MacBook Pro Retina (13'' early 2015). Tried using mplayer & cheese. Any way I can help debugging the issue?
Just a note to say that I've upgraded my Arch system fully and pulled the latest from this repo and recompiled and the problem still exists. :-/
Sounds like an issue with the firmware or camera model you're using. I'm trying to figure out what the difference is between a working / non working config. Found nothing obvious so far :(
Thank you for investigating, @patjak. Happy to provide any additional detail you might find helpful.
It seems to happen because of some auto adjusting. It looks fine when I position my body forward and turns orange as I lean back. This is very consistent. I don't know if it has to do with my orange shirt or not :smile: My laptop is 2013 Macbook Air. If you need any logs, try out code or other samples just ask.
I don't have the module loaded at the moment, but if memory serves I saw similar behavor to what @dustinmoorenet is reporting.
Thanks, that makes it a bit easier to understand. I was thinking it looked more like a format conversion error. Maybe I've already asked but did any of you try to turn off auto white balance?
Hmm, I can't get it to reproduce after I had to manually recompile when my kernel updated to 4.8.0-34-generic
.
I'm having the same issue on a MacBook Pro 2015.
As a reference, I just upgraded from a MacBook Air 2013. I literally dd
'd the entire disk over ssh
, so the setup is identical. I think this makes it very clear that the issue is specifically with this hardware, and not all webcams (but it's clearly hardware related, and not setup-related).
$ sudo lspci -vnn -d 14e4:1570 # MBP 2015
04:00.0 Multimedia controller [0480]: Broadcom Limited 720p FaceTime HD Camera [14e4:1570]
Subsystem: Broadcom Limited 720p FaceTime HD Camera [14e4:1570]
Flags: bus master, fast devsel, latency 0, IRQ 38
Memory at a0a00000 (64-bit, non-prefetchable) [size=64K]
Memory at 80000000 (64-bit, prefetchable) [size=256M]
Memory at a0900000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [48] Power Management version 3
Capabilities: [58] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [68] Vendor Specific Information: Len=44 <?>
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Device Serial Number 00-00-00-ff-ff-00-00-00
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Capabilities: [1b0] Latency Tolerance Reporting
Capabilities: [220] #15
Kernel driver in use: facetimehd
$ sudo lspci -vnn -d 14e4:1570 # MBA 2013
02:00.0 Multimedia controller [0480]: Broadcom Limited 720p FaceTime HD Camera [14e4:1570]
Subsystem: Broadcom Limited 720p FaceTime HD Camera [14e4:1570]
Flags: bus master, fast devsel, latency 0, IRQ 44
Memory at b0900000 (64-bit, non-prefetchable) [size=64K]
Memory at 90000000 (64-bit, prefetchable) [size=256M]
Memory at b0800000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [48] Power Management version 3
Capabilities: [58] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [68] Vendor Specific Information: Len=44 <?>
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Device Serial Number 00-00-00-ff-ff-00-00-00
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Capabilities: [1b0] Latency Tolerance Reporting
Capabilities: [220] #15
Kernel driver in use: facetimehd
Both:
$ uname -a
Linux athena.barrera.io 4.9.8-1-ARCH #1 SMP PREEMPT Mon Feb 6 12:59:40 CET 2017 x86_64 GNU/Linux
Having the sensor settings file loaded might improve the situation. Might also help if we add more of the color settings. The ISP can do lots of things to improve image quality it seems.
@patjak Is it possible to point me in the direction on how to find the sensor settings file and load it?
I was able to fix the orange color cast on my camera (running Ubuntu 16.04 on a 2015 Macbook Pro) using v4l2-ctl
:
sudo apt-get install v4l-utils
v4l2-ctl -l
> User Controls
>
> brightness (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
> contrast (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
> saturation (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
> hue (int) : min=0 max=255 step=1 default=128 value=128 flags=slider
> white_balance_automatic (bool) : default=1 value=1
v4l2-ctl -c white_balance_automatic=0
Maybe this was obvious, but I'm new to video drivers on Linux, so I figure it might be helpful to someone in a similar position.
Thanks for the fantastic work on this driver, it's a lifesaver!
Switching off AWB doesnt fix it for me unfortunately. I'd be happy to try out any fixes or a settings file if someone can point me in the right direction.
Like @nitaigao, switching off AWB doesn't fix it for me either. I used @jeancochrane's method to turn it off. However I am still getting this bright orange color cast.
Same red/orange hue. I'm on ArchLinux using this package https://aur.archlinux.org/packages/bcwc-pcie-git/
So I'm having this same issue, but one thing I've noticed is in guvcview, if I keep toggling the auto white balance, during the instant that it's changing the value, the white balance is correct.
Just wondering, I managed to fix this issue (at least for now) on my system by going to sleep and then waking it up. Does that work for you guys?
Same issue and nothing seems to fix it (5.2.11-1-MANJARO).
Note: I've only tested this on 1871_01XX.dat. Use at your own risk and report errors here.
I can confirm that when using the set files (sensor calibration settings) the colors look much better. The problem is that I only know how to extract them from the windows bootcamp driver. These are the steps you can follow:
1) Download driver package from https://support.apple.com/kb/DL1837 2) Extract the \BootCamp\Drivers\Apple\AppleCamera64.exe file 3) Run: unrar x AppleCamera64.exe
You should now have the AppleCamera.sys file which is the driver containing the set files.
4) Run the following commands:
dd bs=1 skip=1663920 count=33060 if=AppleCamera.sys of=9112_01XX.dat
dd bs=1 skip=1644880 count=19040 if=AppleCamera.sys of=1771_01XX.dat
dd bs=1 skip=1606800 count=19040 if=AppleCamera.sys of=1871_01XX.dat
dd bs=1 skip=1625840 count=19040 if=AppleCamera.sys of=1874_01XX.dat
You should now have the four .dat files
5) Copy the .dat files into your facetimehd firmware directory (eg. /lib/firmware/facetimehd/) 6) Reload the driver 7) Check that you don't get the "Direct firmware load for facetimehd..." error
You should now have correct colors.
I added this to the wiki: https://github.com/patjak/bcwc_pcie/wiki/Extracting-the-sensor-calibration-files
I compiled the driver from the HEAD of the master branch and it works! Yay!
However, all video is coming through with a very strong orange/red tint.
Kernel: 4.6.4-1-ARCH
Below are system logs from the point where the driver was loaded. After loading the driver, an application was launched to view the video: