chromium: move startparameter logic

from the kodi-plugin to the start-wrapper (no change from kodi, but easier for testing from console
This commit is contained in:
Sascha Kuehndel (InuSasha) 2017-12-14 16:48:20 +01:00
parent 165dd91730
commit 48830d24e3
No known key found for this signature in database
GPG Key ID: 15FED89617B88D1B
3 changed files with 59 additions and 43 deletions

View File

@ -21,7 +21,7 @@
PKG_NAME="chromium" PKG_NAME="chromium"
PKG_VERSION="61.0.3163.79" PKG_VERSION="61.0.3163.79"
PKG_SHA256="bdbc139ed86f3b5d1ec3c3b00caeaef4f9ac2c363438f03dded56e217ad10727" PKG_SHA256="bdbc139ed86f3b5d1ec3c3b00caeaef4f9ac2c363438f03dded56e217ad10727"
PKG_REV="108" PKG_REV="107.001"
PKG_ARCH="x86_64" PKG_ARCH="x86_64"
PKG_LICENSE="Mixed" PKG_LICENSE="Mixed"
PKG_SITE="http://www.chromium.org/Home" PKG_SITE="http://www.chromium.org/Home"

View File

@ -20,6 +20,10 @@
. /etc/profile . /etc/profile
oe_setup_addon browser.chromium 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 # make sure we use "own" gtk/pango/nss/etc
export LD_LIBRARY_PATH=/storage/.kodi/addons/browser.chromium/lib export LD_LIBRARY_PATH=/storage/.kodi/addons/browser.chromium/lib
@ -37,8 +41,56 @@ then
UNCLUTTER_PID=$! UNCLUTTER_PID=$!
fi 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 # start chromium
LD_PRELOAD=/usr/lib/libGL.so /storage/.kodi/addons/browser.chromium/bin/chromium.bin \ 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 \ --user-data-dir=/storage/.kodi/userdata/addon_data/browser.chromium/profile \
--test-type $@ --test-type $@

View File

@ -93,57 +93,21 @@ def resumeXbmc():
xbmc.enableNavSounds(True) xbmc.enableNavSounds(True)
def startChromium(args): def startChromium(args):
oe.execute('chmod +x ' + __path__ + 'chromium')
oe.execute('chmod +x ' + __path__ + 'chromium.bin')
oe.execute('chmod 4755 ' + __path__ + 'chrome-sandbox')
try: 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() new_env = os.environ.copy()
vaapi_mode = __addon__.getSetting('VAAPI_MODE') new_env['VAAPI_MODE'] = __addon__.getSetting('VAAPI_MODE')
gpu_accel_mode = '' new_env['WINDOW_MODE'] = __addon__.getSetting('WINDOW_MODE')
if vaapi_mode == 'intel': new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE')
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['ALSA_DEVICE'] = ''
if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true': if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true':
alsa_device = __addon__.getSetting('CUST_AUDIODEVICE_STR') alsa_device = __addon__.getSetting('CUST_AUDIODEVICE_STR')
else: else:
alsa_device = getAudioDevice() alsa_device = getAudioDevice()
alsa_param = ''
if not alsa_device == None and not alsa_device == '': 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')) + ' ' + \ chrome_params = args + ' ' + \
raster_mode.get(__addon__.getSetting('RASTER_MODE')) + ' ' + \
flash_plugin + ' ' + \
gpu_accel_mode + ' ' + \
alsa_param + ' ' + \
args + ' ' + \
__addon__.getSetting('HOMEPAGE') __addon__.getSetting('HOMEPAGE')
subprocess.call(__path__ + 'chromium ' + chrome_params, shell=True, env=new_env) subprocess.call(__path__ + 'chromium ' + chrome_params, shell=True, env=new_env)
except Exception, e: except Exception, e: