tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

wrench_with_renderer.py (1578B)


      1 #!/usr/bin/python
      2 
      3 # This Source Code Form is subject to the terms of the Mozilla Public
      4 # License, v. 2.0. If a copy of the MPL was not distributed with this
      5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      6 
      7 import os
      8 import subprocess
      9 import sys
     10 
     11 
     12 def is_linux():
     13    return sys.platform.startswith('linux')
     14 
     15 
     16 if is_linux():
     17    requested_renderer = sys.argv[1]
     18    renderer = "default"
     19 
     20    if requested_renderer == 'hardware':
     21        pass
     22    elif requested_renderer == 'llvmpipe':
     23        os.environ["LIBGL_ALWAYS_SOFTWARE"] = "1"
     24        os.environ["GALLIUM_DRIVER"] = "llvmpipe"
     25    elif requested_renderer == 'softpipe':
     26        os.environ["LIBGL_ALWAYS_SOFTWARE"] = "1"
     27        os.environ["GALLIUM_DRIVER"] = "softpipe"
     28    elif requested_renderer == 'swiftshader':
     29        # TODO: Set up LD_LIBRARY_PATH to SwiftShader libraries automatically.
     30        renderer = 'es3'
     31    else:
     32        print('Unknown renderer ' + requested_renderer)
     33        sys.exit(1)
     34 
     35    cmd = [
     36        'cargo',
     37        'run',
     38        '--release',
     39        '--',
     40        '--no-block',               # Run as fast as possible, for benchmarking
     41        '--no-picture-caching',     # Disable picture caching, to test rasterization performance
     42        '--no-subpixel-aa',         # SwiftShader doesn't support dual source blending
     43        '--renderer',               # Select GL3/ES3 renderer API
     44        renderer,
     45        'load'
     46    ]
     47 
     48    cmd += sys.argv[2:]
     49    print('Running: ' + ' '.join(cmd))
     50    subprocess.check_call(cmd)
     51 else:
     52    print('This script is only supported on Linux')