JetBrains / skiko

Kotlin Multiplatform bindings to Skia
Apache License 2.0
1.82k stars 118 forks source link

Skiko failed to render a frame on Windows Direct3D Intel(R) HD Graphics 4600 #601

Closed SergeevPavel closed 2 years ago

SergeevPavel commented 2 years ago

https://youtrack.jetbrains.com/issue/FL-14786/Blank-Window-on-User-Agreement

SergeevPavel commented 2 years ago

related compose issue: https://github.com/JetBrains/compose-jb/issues/1771 As it pointed there, some Intel videocards doesn't support Direct3D 12. I see two options here, we could try to check Direct3D 12 support programmatically, or just put the videocards into black list. @igordmn what do you think?

igordmn commented 2 years ago

just put the videocards into black list

If we get the list from the official source (the intel site), it is fine as a fast fix, but it would be better to fix this issue the right way.

As far as I remember, the check for Direct3D happens here. It seems it ether is not full or right, or we have bugs in drivers (in this case only the blacklist will help).

SergeevPavel commented 2 years ago

should be fixed after https://github.com/JetBrains/skiko/pull/603

mahozad commented 1 year ago

I have Intel HD Graphics 4600 and the issue resolved for me in Compose Multiplatform v1.2.1.

The app prints Failed to create DirectX12 device. at std out at startup.
Could you please log the fallback render API as well? I think it should probably be logged somewhere here.

Also, I think these issues are related:

okushnikov commented 1 month ago

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.