Millipixels - 16MP Autofocus IMX519

Hello,

I have the 16MP Autofocus with the IMX519 driver installed and it works fine with the libcamera-XXX
demo apps.
I know Linux, but I’m new to the RespberryPi and ARM and libcamera stack.

Now I’m trying to get millipixels (Librem5 / millipixels · GitLab) to work. Therefor I have to create an ini file. I think the media-driver entry is wrong, but I have no idea what to enter there.

This is the output from millipixels:

$ ./millipixels
Found config file at /home/tobias/.config/millipixels/config/raspberrypi,4-model-b.ini
Adding camera rear from config
matched RGGB10 to RGGB10 12
matched RGGB10 to RGGB10 12
Found postprocessor script at ./postprocess.sh
mp_device_list_find_remove bcm2835 imx5191 0-001a
15: there's bcm2835-codec-decode-source, looking for imx5191 0-001a
15: there's bcm2835-codec-decode-proc, looking for imx5191 0-001a
15: there's bcm2835-codec-decode-sink, looking for imx5191 0-001a
15: there's bcm2835-codec-encode-source, looking for imx5191 0-001a
15: there's bcm2835-codec-encode-proc, looking for imx5191 0-001a
15: there's bcm2835-codec-encode-sink, looking for imx5191 0-001a
15: there's bcm2835-codec-isp-source, looking for imx5191 0-001a
15: there's bcm2835-codec-isp-proc, looking for imx5191 0-001a
15: there's bcm2835-codec-isp-sink, looking for imx5191 0-001a
15: there's bcm2835-codec-image_fx-source, looking for imx5191 0-001a
15: there's bcm2835-codec-image_fx-proc, looking for imx5191 0-001a
15: there's bcm2835-codec-image_fx-sink, looking for imx5191 0-001a
15: there's bcm2835-codec-encode_image-source, looking for imx5191 0-001a
15: there's bcm2835-codec-encode_image-proc, looking for imx5191 0-001a
15: there's bcm2835-codec-encode_image-sink, looking for imx5191 0-001a
14: there's bcm2835_isp0, looking for imx5191 0-001a
14: there's bcm2835-isp0-output0, looking for imx5191 0-001a
14: there's bcm2835-isp0-capture1, looking for imx5191 0-001a
14: there's bcm2835-isp0-capture2, looking for imx5191 0-001a
14: there's bcm2835-isp0-capture3, looking for imx5191 0-001a
13: there's bcm2835_isp0, looking for imx5191 0-001a
13: there's bcm2835-isp0-output0, looking for imx5191 0-001a
13: there's bcm2835-isp0-capture1, looking for imx5191 0-001a
13: there's bcm2835-isp0-capture2, looking for imx5191 0-001a
13: there's bcm2835-isp0-capture3, looking for imx5191 0-001a
Could not find /dev/media* node matching 'bcm2835'

The other thing that is irritating me is that I don’t have /dev/media* devices. Is that normal?

This is how the ini file looks at the moment:

.config/millipixels/config/raspberrypi,4-model-b.ini

[device]
make=raspberrypi
model=4-model-b

[rear]
driver=imx5191 0-001a
media-driver=bcm2835
libcamera-id=/base/soc/i2c0mux/i2c@1/imx519@1a
capture-width=4656
capture-height=3496
capture-rate=30
capture-fmt=RGGB10
preview-width=4656
preview-height=3496
preview-rate=30
preview-fmt=RGGB10
rotate=0
$ dmesg |grep imx519
[    9.856664] imx519 10-001a: Device found is imx519
[    9.858892] imx519 10-001a: Consider updating driver imx519 to match on endpoints
$ uname -a
Linux raspberrypi 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022 armv7l GNU/Linux
$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
$ cat /proc/meminfo
MemTotal:        3931048 kB
MemFree:         1925444 kB
MemAvailable:    2578356 kB
Buffers:           45228 kB
Cached:          1075028 kB
SwapCached:            0 kB
Active:           251684 kB
Inactive:        1332844 kB
Active(anon):       1568 kB
Inactive(anon):   824148 kB
Active(file):     250116 kB
Inactive(file):   508696 kB
Unevictable:      271448 kB
Mlocked:              16 kB
HighTotal:       3264512 kB
HighFree:        1415928 kB
LowTotal:         666536 kB
LowFree:          509516 kB
SwapTotal:        102396 kB
SwapFree:         102396 kB
Dirty:               544 kB
Writeback:             0 kB
AnonPages:        735744 kB
Mapped:           362916 kB
Shmem:            361444 kB
KReclaimable:      26480 kB
Slab:              54588 kB
SReclaimable:      26480 kB
SUnreclaim:        28108 kB
KernelStack:        3768 kB
PageTables:        22156 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2067920 kB
Committed_AS:    4819708 kB
VmallocTotal:     245760 kB
VmallocUsed:        6188 kB
VmallocChunk:          0 kB
Percpu:              448 kB
CmaTotal:         327680 kB
CmaFree:          284256 kB
$ cat /boot/config.txt
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]
dtoverlay=imx519

It looks like the driver settings are normal, I don’t know much about millipixels, maybe it’s a software support issue? Does it work if you use official camera like IMX477 or IMX219?

Thanks for the fast answer. Sadly I don’t have a official camera like IMX477 or IMX219, so I can’t test it. But perhaps you can tell me, if there should be /dev/media* devices or if it is normal, that I don’t have them.

Or do you know any touchscreen friendly app and works with your IMX519 camera?

If you turn off the touch function it will work.
But like you said the libcamera-xxx application works normally, which means there is no problem with the camera and driver.