diff --git a/packages/addons/browser/chromium/package.mk b/packages/addons/browser/chromium/package.mk index 31d5398d43..606f344dc8 100644 --- a/packages/addons/browser/chromium/package.mk +++ b/packages/addons/browser/chromium/package.mk @@ -21,7 +21,7 @@ PKG_NAME="chromium" PKG_VERSION="61.0.3163.79" PKG_SHA256="bdbc139ed86f3b5d1ec3c3b00caeaef4f9ac2c363438f03dded56e217ad10727" -PKG_REV="108" +PKG_REV="107.001" PKG_ARCH="x86_64" PKG_LICENSE="Mixed" PKG_SITE="http://www.chromium.org/Home" diff --git a/packages/addons/browser/chromium/source/bin/chromium b/packages/addons/browser/chromium/source/bin/chromium index e0c7549cd1..436a651a86 100644 --- a/packages/addons/browser/chromium/source/bin/chromium +++ b/packages/addons/browser/chromium/source/bin/chromium @@ -20,6 +20,10 @@ . /etc/profile oe_setup_addon browser.chromium +# fix file permissons (zip packaging) +chmod +x /storage/.kodi/addons/browser.chromium/bin/chromium /storage/.kodi/addons/browser.chromium/bin/chromium.bin +chmod 4755 /storage/.kodi/addons/browser.chromium/bin/chrome-sandbox + # make sure we use "own" gtk/pango/nss/etc export LD_LIBRARY_PATH=/storage/.kodi/addons/browser.chromium/lib @@ -37,8 +41,56 @@ then UNCLUTTER_PID=$! fi +# vaapi +case $VAAPI_MODE in + 'intel') + LIBVA_DRIVERS_PATH='/usr/lib/va' + LIBVA_DRIVER_NAME='i965' + CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-accelerated-video" + export LIBVA_DRIVER_NAME LIBVA_DRIVERS_PATH + ;; + 'amd') + LIBVA_DRIVERS_PATH='/storage/.kodi/addons/browser.chromium/lib' + LIBVA_DRIVER_NAME='vdpau' + CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-accelerated-video" + export LIBVA_DRIVER_NAME LIBVA_DRIVERS_PATH + ;; + 'nvidia') + LIBVA_DRIVERS_PATH='/storage/.kodi/addons/browser.chromium/lib' + LIBVA_DRIVER_NAME='vdpau' + CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-accelerated-video --allow-no-sandbox-job --disable-gpu-sandbox" + export LIBVA_DRIVER_NAME LIBVA_DRIVERS_PATH + ;; + *) + LIBGL_ALWAYS_SOFTWARE='1' + export LIBGL_ALWAYS_SOFTWARE +esac + +# windowed +case $WINDOW_MODE in + 'maximized') CHROMIUM_OPTS="$CHROMIUM_OPTS --start-maximized";; + 'kiosk') CHROMIUM_OPTS="$CHROMIUM_OPTS --kiosk";; +esac + +# rasterization +case $RASTER_MODE in + 'off') CHROMIUM_OPTS="$CHROMIUM_OPTS --disable-accelerated-2d-canvas --disable-gpu-compositing";; + 'force') CHROMIUM_OPTS="$CHROMIUM_OPTS --enable-gpu-rasterization --enable-accelerated-2d-canvas --ignore-gpu-blacklist";; +esac + +# flash +if [ -e /storage/.kodi/addons/browser.chromium/PepperFlash/libpepflashplayer.so ]; then + CHROMIUM_OPTS="$CHROMIUM_OPTS --ppapi-flash-path=/storage/.kodi/addons/browser.chromium/PepperFlash/libpepflashplayer.so" +fi + +# alsa +if [ ! -z $ALSA_DEVICE ]; then + CHROMIUM_OPTS="$CHROMIUM_OPTS --alsa-output-device=$ALSA_DEVICE" +fi + # start chromium LD_PRELOAD=/usr/lib/libGL.so /storage/.kodi/addons/browser.chromium/bin/chromium.bin \ + $CHROMIUM_OPTS \ --user-data-dir=/storage/.kodi/userdata/addon_data/browser.chromium/profile \ --test-type $@ diff --git a/packages/addons/browser/chromium/source/default.py b/packages/addons/browser/chromium/source/default.py index 973acfcc13..02bb7f9bc8 100644 --- a/packages/addons/browser/chromium/source/default.py +++ b/packages/addons/browser/chromium/source/default.py @@ -93,57 +93,21 @@ def resumeXbmc(): xbmc.enableNavSounds(True) def startChromium(args): - oe.execute('chmod +x ' + __path__ + 'chromium') - oe.execute('chmod +x ' + __path__ + 'chromium.bin') - oe.execute('chmod 4755 ' + __path__ + 'chrome-sandbox') - try: - window_mode = { - 'maximized': '--start-maximized', - 'kiosk': '--kiosk', - 'none': '', - } - - raster_mode = { - 'default': '', - 'off': '--disable-accelerated-2d-canvas --disable-gpu-compositing', - 'force': '--enable-gpu-rasterization --enable-accelerated-2d-canvas --ignore-gpu-blacklist', - } - new_env = os.environ.copy() - vaapi_mode = __addon__.getSetting('VAAPI_MODE') - gpu_accel_mode = '' - if vaapi_mode == 'intel': - new_env['LIBVA_DRIVERS_PATH'] = '/usr/lib/va' - new_env['LIBVA_DRIVER_NAME'] = 'i965' - elif vaapi_mode == 'amd': - new_env['LIBVA_DRIVERS_PATH'] = os.path.join(__addon__.getAddonInfo('path'), 'lib') - new_env['LIBVA_DRIVER_NAME'] = 'vdpau' - elif vaapi_mode == 'nvidia': - new_env['LIBVA_DRIVERS_PATH'] = os.path.join(__addon__.getAddonInfo('path'), 'lib') - new_env['LIBVA_DRIVER_NAME'] = 'vdpau' - gpu_accel_mode = '--allow-no-sandbox-job --disable-gpu-sandbox' - else: - new_env['LIBGL_ALWAYS_SOFTWARE'] = '1' - - flash_plugin = '' - if os.path.exists(__path__ + 'PepperFlash/libpepflashplayer.so'): - flash_plugin = '--ppapi-flash-path=' + __path__ + 'PepperFlash/libpepflashplayer.so' + new_env['VAAPI_MODE'] = __addon__.getSetting('VAAPI_MODE') + new_env['WINDOW_MODE'] = __addon__.getSetting('WINDOW_MODE') + new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE') + new_env['ALSA_DEVICE'] = '' if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true': alsa_device = __addon__.getSetting('CUST_AUDIODEVICE_STR') else: alsa_device = getAudioDevice() - alsa_param = '' if not alsa_device == None and not alsa_device == '': - alsa_param = '--alsa-output-device=' + alsa_device + new_env['ALSA_DEVICE'] = alsa_device - chrome_params = window_mode.get(__addon__.getSetting('WINDOW_MODE')) + ' ' + \ - raster_mode.get(__addon__.getSetting('RASTER_MODE')) + ' ' + \ - flash_plugin + ' ' + \ - gpu_accel_mode + ' ' + \ - alsa_param + ' ' + \ - args + ' ' + \ + chrome_params = args + ' ' + \ __addon__.getSetting('HOMEPAGE') subprocess.call(__path__ + 'chromium ' + chrome_params, shell=True, env=new_env) except Exception, e: