Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Corrupted image on MacOS on Apple CPUs #1

Closed
Staacks opened this issue Dec 16, 2022 · 7 comments
Closed

Corrupted image on MacOS on Apple CPUs #1

Staacks opened this issue Dec 16, 2022 · 7 comments
Labels
bug Something isn't working

Comments

@Staacks
Copy link
Owner

Staacks commented Dec 16, 2022

While the system and software recognizes the GB Interceptor, no image is received.

On first tests, the following could be found:

  • Tested and not working: FaceTime, VLC, OBS, ffmpeg (on the command line)
  • As not even ffmpeg and OBS get an image, I suspect that this is not an issue of the host software, but the system's USB video class driver
  • The GB Interceptor does not even notice that the system requests a video stream and does not try to send a single frame.
@Staacks Staacks added bug Something isn't working help wanted Extra attention is needed labels Dec 16, 2022
@Staacks Staacks removed the help wanted Extra attention is needed label Dec 27, 2022
@Staacks
Copy link
Owner Author

Staacks commented Dec 27, 2022

Update:

The next release will work on MacOS to some extend. I got it to work on an Intel MacBook, but not on an M2 and I highly suspect that there is a bug in the driver for Apple silicon. The fix to at least get it to work on the Intel MacBook is in TinyUSB where I will set up a Pull Request next, so there is no commit here to reference at the moment.

Also, there is still some flickering going in case of the MacBook that works, but I have an idea what might be the cause and might be able to fix this when implementing selectable framerates...

For those Apple devices on which it will not work, we will have to wait for a fix from Apple or for a solution through a Python script without the USB video class.

@Staacks Staacks changed the title No video on MacOS Corrupted image on MacOS on Apple CPUs Dec 30, 2022
@Staacks
Copy link
Owner Author

Staacks commented Jan 6, 2023

Just some data that seems to confirm my suspicion that it is an M1/M2 thing (although a few more Intel data points would be nice) collected from the community on Mastodon and Twitter:

Working correctly on:
MacBook Pro with Intel CPU that I tried
MacBook Pro (A1990) with Intel from #5
One or two more Intel devices (details follow in #8 (comment))

Green distorted image on:
MacBook Air (2022) with M2 that I tried
MacBook Air M1 from @martino_
MacBook Air M2 from @dead_smed
2020 16GB M1 Mac Mini from @juri
2020 8GB M1 MacBook Air also from @juri

I am not entirely convinced that it is NV12 triggering the bug as my research at least found some reports of different NV12 devices that work on Apple silicon. But since it works on Intel-based Macs as well as Windows and Linux I still think it is either a Bug at Apple's end or at least a detail that the M1/M2 version is extremely picky about. If only I knew what triggers the issue.

@LordRembo
Copy link

LordRembo commented Feb 1, 2023

I tried on 2 Macbook Pro, with release 1.04:

  • a 2015 model
  • a 2017 model (first one with a touch bar).

It didn't work on Mojave (macos v10.14) -> just green image
But it started working when I upgraded the OS. I'm currently on Monterey on the oldest (v12) and Ventura on the other (v13) and the image is fine.

@Staacks
Copy link
Owner Author

Staacks commented Feb 1, 2023

Interesting detail about Mojave. I had only tried newer versions where Intel works but M1/M2 does not. Not sure if that is related, though.

@Staacks
Copy link
Owner Author

Staacks commented Jun 17, 2023

I just managed to get a MJPEG version of the Interceptor up and running (see #17) and it worked perfectly on an M2 MacBook Air (https://mastodon.social/@DiConX/110561770831634636).

So, I am very optimistic, that the next update will finally have full Mac compatibility.

Staacks added a commit that referenced this issue Jul 1, 2023
…es 60fps and fixes Apple compatibility (issue #1). This commit has a wide impact on several aspects: Idle screens are now 2bit grayscale and include error messages, green mode is no longer available, frame blending only has one setting mixing two frames equally, contrast is slightly reduced, the output video is scaled by a factor of 8.
@Staacks
Copy link
Owner Author

Staacks commented Jul 2, 2023

Here is the first test release with MJPEG output which should fix Apple compatibility:
https://github.com/Staacks/gbinterceptor/releases/tag/v1.2.0-beta1
Please test and report back.

@Staacks
Copy link
Owner Author

Staacks commented Aug 5, 2023

Just released version v1.2.0 which contains the fix.

@Staacks Staacks closed this as completed Aug 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants