OK - I've fiddled around a little bit and done some smoke-testing - a few apps - cheese, teams - and reopening after suspend and seem to have had some success.
but as someone who has never used terminal before
OK - I'm writing part of this for you, part of this for more technical users - for internet posterity - ie google finds this page for them. If anything is unclear please ask.
So I've divided this into sections with details, then another section with some commands to run - if you don't understand anything I'm saying, just try following the steps in "Simplified Steps"
Note when you open a terminal (hit start
(or cmd) - PS - you can remap the apple command and option keys to be in the normal "PC" position - a tale for another askubuntu question) and type terminal
select the app that comes up - you should be facing a prompt which says your name which directory you are in and ends in a $
. You type commands at that point. In my example commands below I have included the $
so it looks similar. You don't need to type the $
.
Each of the commands I've included below may output some information or ask for confirmation - I've not included that in the output below to keep things smaller.
Any guidance is appreciated!
Here goes.
Status
I've tested this on 20.04 running the original "5.4" series kernels - your 20.04 may be running a later version. Please let me know if you have any problems. These steps should probably also work on 18.04 if you're also running the 5.4 (HWE) kernels. (you can check your kernel version by running uname -r
- paste it into a comment if things go badly - it might help me help you)
I've forked the original repo from github to add steps to simplify installation and cleanup and to ensure it updates correctly when your kernel updates (DKMS). See caveat below in case this you're reading this years down the track.
Simplified steps
Open a terminal and install some required tools:
$ sudo apt install git debhelper dkms build-essential fakeroot cpio curl xz-utils
(let me know if anything fails later on - this line might be missing some things you need, but I already had installed). If this is your first time on the terminal sudo
asks for your local password - its used for running "administrator commands".
Create a directory for working in (you'll create a bunch of files so this keeps things cleaner)
$ mkdir -p work/facetimehd
$ cd work/facetimehd
$ git clone https://github.com/whitty/facetimehd
$ git clone https://github.com/patjak/facetimehd-firmware
(note whitty/facetimehd
is my fork of patjak/facetimehd
- see my caveat below)
We're going to build the two packages:
$ make -C facetimehd-firmware/ deb
$ cp facetimehd-firmware/debian/*.deb .
$ cd facetimehd/
$ dpkg-buildpackage -us -uc
$ cd ..
$ ls -la *.deb
At this point you should have created two debs in the directory work/facetimehd
- ls
should return something like:
-rw-r--r-- 1 greg greg 30904 Jan 23 20:51 facetimehd-dkms_0.5.7-1_amd64.deb
-rw-r--r-- 1 greg greg 489544 Jan 23 20:49 facetimehd-firmware_0.1-1.deb
Install the packages you just created
$ sudo apt install ./facetimehd*.deb
(don't skimp on the ./
even if you think you know what you're doing)
Reboot - I'm not sure if this is required - but the wiki suggests it might be
Test the webcam - eg open up cheese
or any teleconferencing app (I used MS teams
) and go to the video test page. Or you can try a web test page like this one.
Note the simplest way to test test webcams is usually vlc
, however for me vlc
didn't work (the light goes on, but no video shows).
Check the wiki for known issues.
Uninstalling
- We installed everything as
.deb
s so you just uninstall the packages like any other ubuntu package:
$ sudo apt remove facetimehd-dkms facetimehd-firmware
- you don't need to keep any of the files you created in the installation steps above if you don't want to - even if you keep using the packages we just built. Consider just deleting those directories we created. Maybe keep the
.deb
s around in case you want to reinstall, but you could just follow these steps above to recreate them.
Caveat
I've forked the original repo from github to add steps to simplify installation and cleanup and to ensure it updates correctly when your kernel updates (DKMS). Caveat this means if you're reading this long into the future these instructions might not be building the absolute latest version. I'll try to keep my fork up to date - or get the changes merged back into the main project.
Hopefully I'll remember to post updated here if required.
If you want to use the latest code from github replace the clone of the whitty/facetimehd
with one directed at https://github.com/patjak/facetimehd/
. You won't be able to use dpkg-buildpackage
so you'll have to follow the install instructions in the wiki, but the issues there are:
- when your kernel is updated you may have to repeat the installation steps
- there's no clean uninstall steps.
It's really bumming me out because using Ubuntu gave my computer a second life negating my need to buy a new computer. But I need to have a working webcam mainly when interviewing for jobs.
– responsible-staff-45 Jan 22 '22 at 21:32