ashea-code / BLUI

Rich HTML UI engine for UE4
MIT License
861 stars 259 forks source link

[LINUX] Chromium Sandbox won't let BLUI run #21

Closed gotwig closed 9 years ago

gotwig commented 9 years ago

Hey, when I try to start the editor on linux, I get the error: "[0305/164432:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. [0100/000000:ERROR:zygote_linux.cc(585)] write: Broken pipe " And the editor wont start up. The project compiled fine (by Clang)

ashea-code commented 9 years ago

Running without the sandbox is normal as the sub-process launches with --no-sandbox

As for the broken pipe with the editor, ensure the blu_ue4_process executable is along side the UE4 Editor executable.

If that does not help, I know packaging for Linux from windows (cross-compiling) working perfectly fine. You do need to build the editor from source to include the cross-compiling system.

gotwig commented 9 years ago

I added the contents of the shipping linux folder into the binary linux folder, in the same folder like UE4Linux, i made all files in the folder executable as well.

ashea-code commented 9 years ago

Interesting, I'll look into this after PAX East this weekend

Instead I'd look at cross-compiling from Windows

gotwig commented 9 years ago

btw, I try to build under linux for linux.

Also, I added PrivateDependencyModuleNames.AddRange(new string[] { "Blu" }); alongside PublicDependencyModuleNames.AddRange(new string[] { "Blu" }); into my Build.cs file, because it wasnt able to find CoreUObject.h .

gotwig commented 9 years ago

Adding --no-sandbox as an argument to./blu_ue4_process fixes the error. the cpp file also calls ./blu_ue4_process and not ./blu_ue4_process --no-sandbox !

Talking about the first error. I still have to rebuild my game to test for the second.

ashea-code commented 9 years ago

Does this stop the editor from crashing at startup?

you simply changed:

CefString(&BluManager::settings.browser_subprocess_path).FromASCII("./blu_ue4_process");

to

CefString(&BluManager::settings.browser_subprocess_path).FromASCII("./blu_ue4_process --no-sandbox");

yeah?

gotwig commented 9 years ago

The first error about the sandbox is gone, but i have to test for the pipe error, building on linux is not so easy, please wait a bit :). And yeah I did what you said.

gotwig commented 9 years ago

No, sry, i cant get it to work: [0305/193832:ERROR:browser_main_loop.cc(170)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on. LaunchProcess: failed to execvp: ./blu_ue4_process --no-sandbox

ashea-code commented 9 years ago

Well, I'll be looking into it soon then! Again my advice is to just cross-compile, I've tested that and it works just fine. I'll post updates here as I figure things out

gotwig commented 9 years ago

So current situation is, the broken pipe error (second) goes away by passing the command line argument to disable sandbox, but the first error remains. I am not sure how critical those errors are, but the editor windows doesnt open, and the process gets terminated on terminal.

ashea-code commented 9 years ago

With the recent updates I've been able to successfully launch the editor in Linux