Package Details: magewell-pro-capture-dkms 1.3.0.4390-2

Git Clone URL: https://aur.archlinux.org/magewell-pro-capture-dkms.git (read-only, click to copy)
Package Base: magewell-pro-capture-dkms
Description: Driver for Magewell Pro Capture Family
Upstream URL: https://www.magewell.com/downloads/pro-capture#/driver/linux-x86
Licenses: unknown
Conflicts: magewell-pro-capture
Submitter: Jat
Maintainer: Jat
Last Packager: Jat
Votes: 7
Popularity: 0.043379
First Submitted: 2020-06-10 04:41 (UTC)
Last Updated: 2024-04-15 11:07 (UTC)

Latest Comments

« First ‹ Previous 1 2

Jost commented on 2023-01-28 19:01 (UTC) (edited on 2023-02-04 15:49 (UTC) by Jost)

EDIT: turns out this is a kernel bug, triggered by my CPU model :( See kernel.org thread.

Until all kernels and modules properly support Intel's new IBT mechanism, a feasibly workaround is to add ibt=off to the kernel command line. Note that this might weaken security.

end of EDIT

After modifying src/sources/avstream/alsa.c line 700 as mentioned below, module builds, but will not load on 6.1.8-arch1-1 !

Card is recognized by by lspci, but not by mwcap-info.

[    5.460969] traps: Missing ENDBR: PNG_unFilterScanline+0x168/0x330 [ProCapture]
[    5.461062] ------------[ cut here ]------------
[    5.461064] kernel BUG at arch/x86/kernel/traps.c:255!
[    5.461084] invalid opcode: 0000 [#1] PREEMPT SMP NOPTI
[    5.461095] CPU: 10 PID: 389 Comm: systemd-udevd Tainted: G           OE      6.1.8-arch1-1 #1 d43e9bdcfe4ce09800bbe1da2a184cb293bc3e00
[    5.461110] Hardware name: ASUSTeK COMPUTER INC. Q670EI-IM-A/Q670EI-IM-A, BIOS 1.15.00 06/15/2022
[    5.461119] RIP: 0010:exc_control_protection+0xc2/0xd0
[    5.461133] Code: fa ff 45 31 c9 49 89 d8 b9 09 00 00 00 48 8b 93 80 00 00 00 be fc 00 00 00 48 c7 c7 39 e5 63 8f e8 c3 f4 47 ff e9 64 ff ff ff <0f> 0b 66 66 2e 0f 1f 84 00 00 00 00 00 90 66 0f 1f 00 55 53 48 89
[    5.461147] RSP: 0018:ffff96a040e5f608 EFLAGS: 00010002
[    5.461158] RAX: 0000000000000043 RBX: ffff96a040e5f628 RCX: 0000000000000000
[    5.461167] RDX: 0000000000000000 RSI: ffff8a89efca1660 RDI: ffff8a89efca1660
[    5.461175] RBP: 0000000000000003 R08: 0000000000000000 R09: ffff96a040e5f4a0
[    5.461182] R10: 0000000000000003 R11: ffffffff8fecb948 R12: 0000000000000000
[    5.461189] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
[    5.461196] FS:  00007fd796eb2080(0000) GS:ffff8a89efc80000(0000) knlGS:0000000000000000
[    5.461207] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    5.461214] CR2: 000055c8a72ead58 CR3: 0000000104e58004 CR4: 0000000000f70ee0
[    5.461223] PKRU: 55555554
[    5.461228] Call Trace:
[    5.461235]  <TASK>
[    5.461242]  asm_exc_control_protection+0x26/0x30
[    5.461254] RIP: 0010:PNG_unFilterScanline+0x168/0x330 [ProCapture]
[    5.461337] Code: e2 4c 29 f2 66 0f 1f 44 00 00 42 0f b6 04 32 42 02 04 33 43 88 04 34 49 83 c6 01 4d 39 fe 75 ea 31 c0 e9 5b ff ff ff 0f 1f 00 <31> c0 4d 85 c9 0f 84 bf fe ff ff 31 c0 0f 1f 00 0f b6 14 03 41 88
[    5.461354] RSP: 0018:ffff96a040e5f6d0 EFLAGS: 00010297
[    5.461364] RAX: 0000000000000024 RBX: ffff96a042aad011 RCX: 0000000000000003
[    5.461373] RDX: 0000000000000000 RSI: ffff96a042aad011 RDI: ffff96a043001010
[    5.461382] RBP: ffff96a040e5f718 R08: 0000000000000000 R09: 0000000000000870
[    5.461391] R10: ffff96a043001010 R11: 0000000000000000 R12: ffff96a043001010
[    5.461401] R13: 0000000000000000 R14: 0000000000000003 R15: 0000000000000870
[    5.461418]  ? karray_set_count+0xaf/0xf0 [ProCapture 584fb3f316b5cdc4d112aca212392f5fc7898b81]
[    5.461499]  PNG_decode+0x5af/0xac0 [ProCapture 584fb3f316b5cdc4d112aca212392f5fc7898b81]
[    5.461574]  ? folio_wait_bit_common+0x212/0x350
[    5.461590]  ? _copy_to_iter+0x54b/0x650
[    5.461602]  ? current_time+0x40/0x100
[    5.461614]  ? atime_needs_update+0x108/0x180
[    5.461625]  ? touch_atime+0x48/0x1b0
[    5.461636]  ? filemap_read+0x323/0x340
[    5.461650]  ? __kernel_read+0x196/0x290
[    5.461661]  loadEmbeddedPngImage+0x1f/0x80 [ProCapture 584fb3f316b5cdc4d112aca212392f5fc7898b81]
[    5.461727]  loadPngImage+0x138/0x160 [ProCapture 584fb3f316b5cdc4d112aca212392f5fc7898b81]
[    5.461799]  xi_cap_probe+0x396/0x6d0 [ProCapture 584fb3f316b5cdc4d112aca212392f5fc7898b81]
[    5.461862]  local_pci_probe+0x42/0x80
[    5.461874]  pci_device_probe+0xc1/0x250
[    5.461887]  really_probe+0xdb/0x380
[    5.461900]  ? pm_runtime_barrier+0x54/0x90
[    5.461912]  __driver_probe_device+0x78/0x170
[    5.461924]  driver_probe_device+0x1f/0x90
[    5.461936]  __driver_attach+0xd2/0x1c0
[    5.461948]  ? __device_attach_driver+0x110/0x110
[    5.461960]  bus_for_each_dev+0x88/0xd0
[    5.461971]  bus_add_driver+0x1b2/0x200
[    5.461983]  driver_register+0x8d/0xe0
[    5.461996]  xi_cap_init+0x45/0x1000 [ProCapture 584fb3f316b5cdc4d112aca212392f5fc7898b81]
[    5.462057]  ? 0xffffffffc0bc8000
[    5.462076]  do_one_initcall+0x5a/0x220
[    5.462091]  do_init_module+0x4a/0x1e0
[    5.462103]  __do_sys_init_module+0x17f/0x1b0
[    5.462118]  do_syscall_64+0x5c/0x90
[    5.462126]  ? exc_page_fault+0x74/0x170
[    5.462137]  entry_SYSCALL_64_after_hwframe+0x63/0xcd
[    5.462150] RIP: 0033:0x7fd79792216e
[    5.462161] Code: 48 8b 0d 1d ec 0c 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 af 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d ea eb 0c 00 f7 d8 64 89 01 48
[    5.462175] RSP: 002b:00007ffe4b33c788 EFLAGS: 00000246 ORIG_RAX: 00000000000000af
[    5.462186] RAX: ffffffffffffffda RBX: 000055c8a716a290 RCX: 00007fd79792216e
[    5.462194] RDX: 000055c8a719c4d0 RSI: 00000000000e2ced RDI: 000055c8a73d2950
[    5.462202] RBP: 000055c8a719c4d0 R08: 0000000000103000 R09: 85ebca77c2b2ae63
[    5.462209] R10: 000000000002b671 R11: 0000000000000246 R12: 0000000000020000
[    5.462216] R13: 000055c8a719c2d0 R14: 000055c8a716a290 R15: 000055c8a7115090
[    5.462227]  </TASK>
[    5.462231] Modules linked in: dca btmtk fjes(-) pcc_cpufreq(-) acpi_cpufreq(-) ProCapture(OE+) mei bluetooth i915(+) ecdh_generic videodev drm_buddy mc intel_vsec ttm snd_pcm drm_display_helper snd_timer cec snd intel_gtt soundcore video acpi_tad acpi_pad nct6775 nct6775_core hwmon_vid wmi coretemp vfat fat cfg80211 rfkill mac_hid dm_multipath sg crypto_user fuse bpf_preload ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_mod raid1 md_mod spi_intel_pci crc32c_intel xhci_pci spi_intel xhci_pci_renesas
[    5.462349] ---[ end trace 0000000000000000 ]---

zakklol commented on 2023-01-01 03:27 (UTC)

Version 4285 fails to build on kernel 6.1.

To fix, change src/sources/avstream/alsa.c line 700 from snd_dma_continuous_data(GFP_KERNEL) to NULL

Retro64XYZ commented on 2022-07-06 05:16 (UTC)

When installing I get the following error -

==> ERROR: Missing 5.9.16-1-MANJARO kernel modules tree for module magewell-pro-capture/4285.

Trying to install the headers does not work as they appear unavailable. Any tips?

Currently running 5.15.50-1-MANJARO

Jost commented on 2022-06-28 13:07 (UTC) (edited on 2022-06-28 13:42 (UTC) by Jost)

kernel module build fails for new version: Pakete (1) magewell-pro-capture-dkms-1.3.0.4236-1

Deprecated feature: REMAKE_INITRD

Building module: cleaning build area... make -j4 KERNELRELEASE=5.18.5-arch1-1......(bad exit status: 2) Error! Bad return status for module build on kernel: 5.18.5-arch1-1 (x86_64) Consult /var/lib/dkms/magewell-pro-capture/4236/build/make.log for more information.

Edit: The deprecation error can be fixed by manually editing /var/lib/dkms/magewell-pro-capture/4236/source/dkms.conf and simply deleting the offending line (since "no" is the default anyway).

Unfortunately, the build still fails, with gcc complaining about implicitly declared functions:

/var/lib/dkms/magewell-pro-capture/4236/build/sources/avstream/capture.c:291:14: Fehler: Implizite Deklaration der Funktion »pci_set_dma_mask« [-Werror=implicit-function-declaration] 291 | !pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) {

ariaverge commented on 2022-06-14 02:21 (UTC)

I contacted support to get a new version that works with 5.18.1 is here, hopefully it is listed on their website as a stable release soon.

Version 4285: http://www.magewell.com/files/firmware/ProCaptureForLinux_4285.tar.gz

Arndroid commented on 2021-04-23 12:03 (UTC)

Working wonders, thank you! (Manjaro on 5.10)

goldensuneur commented on 2021-01-12 10:19 (UTC)

Yes, it is backward compatible with older kernels (the patch only apply for kernels 5.10+). I don't have time to test it extensively right now but it worked fine for the 5-10 min I used it yesterday.

Jat commented on 2021-01-12 09:26 (UTC)

@goldensuneur Is it backward compatible with kernel 5.9, 5.4, etc? Does it work fine on kernel 5.10? I have not upgraded the kernel to 5.10 and really do not want to waste time to test it.

goldensuneur commented on 2021-01-11 09:31 (UTC)

Latest available version of the module does not build with kernel 5.10+ due to removal of get_fs and set_fs functions.

I contacted Magewell support and they gave me a link to a fixed version (4227): http://www.magewell.com/files/drivers/ProCaptureForLinux_4227.tar.gz

It builds fine on kernel 5.10+ however I'm not able to reboot to test it right now.

I also modified your PKGBUILD to directly use the archive from Magewell instead of a github repository.

Here is the patch:

diff --git a/PKGBUILD b/PKGBUILD
index 11615f1..17ac4ca 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,8 +1,9 @@
 # Maintainer: Jat <chat@jat.email>

 _pkgname=magewell-pro-capture
+pkgrev=4227
 pkgname=${_pkgname}-dkms
-pkgver=1.3.0.4186
+pkgver=1.3.0.${pkgrev}
 pkgrel=3
 pkgdesc='Driver for Magewell Pro Capture Family'
 arch=('x86_64')
@@ -10,11 +11,13 @@ url='https://www.magewell.com/downloads/pro-capture#/driver/linux-x86'
 license=('unknown')
 conflicts=("${_pkgname}")
 depends=('dkms' 'alsa-lib')
-source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/jat001/${_pkgname}/archive/${pkgver}.tar.gz")
-sha256sums=('ce333ff3274e92852f6a874c4a8c866530cc7bcfddf36545bf82f7ee8489fc4b')
+source=("http://www.magewell.com/files/drivers/ProCaptureForLinux_${pkgrev}.tar.gz"
+        "dkms.conf")
+sha256sums=('99538dd7c76408d85ccf71a02137484cfb3abcf610c0881ba8c61deaac3465e2'
+            'cc61510331f14af3898cacfe2ef37b6e12164bb2e9418b3c40e000c8548a914b')

 package() {
-    cd ${_pkgname}-${pkgver}
+    cd ProCaptureForLinux_${pkgrev}

     install -Dm644 src/res/* -t ${pkgdir}/usr/share/ProCapture/res
     sed -i 's#/usr/local/share/ProCapture/src/res#/usr/share/ProCapture/res#g' scripts/ProCapture.conf
@@ -25,6 +28,6 @@ package() {
     install -Dm755 bin/mwcap-info_64 ${pkgdir}/usr/bin/mwcap-info

     srcdir=${pkgdir}/usr/src/${_pkgname}-${pkgver}
-    install -Dm644 scripts/dkms.conf src/Makefile src/ProCaptureLib_64.lib -t ${srcdir}
+    install -Dm644 ../dkms.conf src/Makefile src/ProCaptureLib_64.lib -t ${srcdir}
     cp -r src/public src/sources ${srcdir}
 }