Merge pull request #792 from morphis/configure-sw-via-snap

Allow forcing software rendering via snap config option
This commit is contained in:
Simon Fels 2018-07-04 17:38:18 +02:00 committed by GitHub
commit 0160df0b32
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 1 deletions

View file

@ -33,4 +33,8 @@ if [ -e "$SNAP_COMMON"/.enable_debug ]; then
export ANBOX_LOG_LEVEL=debug
fi
if [ "$(snapctl get software-rendering.enable)" = true ]; then
export ANBOX_FORCE_SOFTWARE_RENDERING=true
fi
exec $SNAP/usr/bin/anbox $@

View file

@ -57,6 +57,10 @@ static int redirect_to_null(int flags, int fd) {
bool anbox::cmds::Launch::launch_session_manager() {
std::vector<std::string> args = {"session-manager"};
const auto should_force_software_rendering = utils::get_env_value("ANBOX_FORCE_SOFTWARE_RENDERING", "false");
if (should_force_software_rendering == "true")
args.push_back("--software-rendering");
std::map<std::string,std::string> env;
core::posix::this_process::env::for_each([&](const std::string &name, const std::string &value) {
env.insert({name, value});

View file

@ -172,8 +172,9 @@ anbox::cmds::SessionManager::SessionManager()
using_single_window = true;
}
const auto should_force_software_rendering = utils::get_env_value("ANBOX_FORCE_SOFTWARE_RENDERING", "false");
auto gl_driver = graphics::GLRendererServer::Config::Driver::Host;
if (use_software_rendering_)
if (should_force_software_rendering == "true" || use_software_rendering_)
gl_driver = graphics::GLRendererServer::Config::Driver::Software;
graphics::GLRendererServer::Config renderer_config {