-
Notifications
You must be signed in to change notification settings - Fork 45
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
Linux support #121
Linux support #121
Conversation
Co-authored-by: João Neves <[email protected]>
Co-authored-by: João Neves <[email protected]>
Co-authored-by: João Neves <[email protected]>
Co-authored-by: João Neves <[email protected]>
Co-authored-by: João Neves <[email protected]>
Co-authored-by: João Neves <[email protected]>
Co-authored-by: João Neves <[email protected]>
Co-authored-by: João Neves <[email protected]>
This comment was marked as outdated.
This comment was marked as outdated.
@joaompneves any progress on this? |
Nope. I opened this PR to unblock some pipeline issues we were having, but I did not authored the changes. |
Started working on this again, it finally copies the subprocess but now I can't load libcef.so from subprocess's path. It's an issue on Also, tested on virtual machine (Fedora 39) and my system (Arch) to discover that it still won't render on normal mode but renders on WindowlessRender mode. Also it randomly crashes. I'm investigating both of these 2 issues to see what's causing them but they are now in lower priority. I'll create a PR again once I'm sure that it is done but now everyone can access my fork from |
I discovered that it still won't render on normal mode because we simply don't have a wrapper for libX11 and thus CEF gives X errors while attempting to bind to Avalonia control. I simply lack on making wrappers for C#. In the future when Avalonia finally supports Wayland, we also need a wrapper for that but for now since Avalonia is X11 only we don't have to make that. |
Unhandled exception. System.IO.FileNotFoundException: Unable to find SubProcess. Probed locations: /linux-x64/CefGlueBrowserProcess/Xilium.CefGlue.BrowserProcess |
2 similar comments
Unhandled exception. System.IO.FileNotFoundException: Unable to find SubProcess. Probed locations: /linux-x64/CefGlueBrowserProcess/Xilium.CefGlue.BrowserProcess |
Unhandled exception. System.IO.FileNotFoundException: Unable to find SubProcess. Probed locations: /linux-x64/CefGlueBrowserProcess/Xilium.CefGlue.BrowserProcess |
Fixed it in an upcoming PR (currently located in here), still lacking code to reparent CEF window to Avalonia native control host properly. |
@Haltroy I just ran your offscreen rendering and it worked correctly. And now I'll try to implement the Avalonia native control host on X11 based on your branch and this .NET 8 main branch. I hope we can keep in touch to share our knowledge and process. |
EDIT: I updated it, but for some reason some issues that I fixed before came back. I'll try to fix it but to simply cut short copy the subprocess DLL to the demo app's executable folder. Also still can't debug it on Rider and .NET CLI can't properly build it directly. |
I've updated it, don't worry. |
Updated mine as well, please see the edit I made above. |
Now available: 120.6099.204 |
Follow-up of #119
This PR adds support for Linux x64 platform. If asked, the Linux ARM64 platform can be added as well.
Includes edits from PR #88 alongside with my own edits #88 (comment).
Requires more testing.
Tested on these platforms and hardware configurations:
✔️ Arch Linux with Intel GPU: Works well.
✔️ Arch Linux with NVIDIA GPU (Proprietary Drivers): Works well.
✔️ Arch Linux with NVIDIA GPU (Lately Open-Sourced Drivers): Works well.
❌ Debian 12 on QEMU virtual machine (GPU options: Virtio, VGA, QXL): No window shows up. Error message says libva device = null on some devices. Disabling GPU with "--disable-gpu" did nothing.
Needs testing on:
AMD GPU
Other distributions