mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-03 16:07:51 +00:00
Merge pull request #5836 from guillaumelecerf/chrome-le10
[le10] Multiple chrome fixes/enhancements
This commit is contained in:
commit
c9a4dc5c42
@ -1,3 +1,9 @@
|
||||
110
|
||||
- fix dark mode toggle
|
||||
- versions >=91 use new flags to enable hardware accelerated video decode
|
||||
- allow setting a custom user-agent
|
||||
- use pulseaudio when available
|
||||
|
||||
109
|
||||
- chrome: update to 95.0.4638.54
|
||||
- at-spi2-core: update to 2.42.0
|
||||
|
@ -5,7 +5,7 @@ PKG_NAME="chrome"
|
||||
PKG_VERSION="1.0"
|
||||
# curl -s http://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Packages | grep -B 1 Version
|
||||
PKG_VERSION_NUMBER="95.0.4638.54"
|
||||
PKG_REV="109"
|
||||
PKG_REV="110"
|
||||
PKG_ARCH="x86_64"
|
||||
PKG_LICENSE="Custom"
|
||||
PKG_SITE="http://www.google.com/chrome"
|
||||
@ -67,4 +67,6 @@ addon() {
|
||||
post_install_addon() {
|
||||
sed -e "s/@DISTRO_PKG_SETTINGS_ID@/${DISTRO_PKG_SETTINGS_ID}/g" -i "${INSTALL}/default.py"
|
||||
sed -e "s/@CHROME_VERSION@/${PKG_VERSION_NUMBER}/g" -i "${INSTALL}/bin/chrome-downloader"
|
||||
sed -e "s/@CHROME_VERSION@/${PKG_VERSION_NUMBER}/g" -i "${INSTALL}/resources/settings.xml"
|
||||
sed -e "s/@CHROME_VERSION@/${PKG_VERSION_NUMBER}/g" -i "${INSTALL}/settings-default.xml"
|
||||
}
|
||||
|
@ -44,15 +44,15 @@ LIBVA_DRIVER_NAME=''
|
||||
case $VAAPI_MODE in
|
||||
'intel')
|
||||
LIBVA_DRIVER_NAME='i965'
|
||||
chrome_OPTS="$chrome_OPTS --enable-accelerated-video"
|
||||
chrome_OPTS="$chrome_OPTS --use-gl=desktop --enable-features=VaapiVideoDecoder"
|
||||
;;
|
||||
'amd')
|
||||
LIBVA_DRIVER_NAME='vdpau'
|
||||
chrome_OPTS="$chrome_OPTS --enable-accelerated-video"
|
||||
chrome_OPTS="$chrome_OPTS --use-gl=desktop --enable-features=VaapiVideoDecoder"
|
||||
;;
|
||||
'nvidia')
|
||||
LIBVA_DRIVER_NAME='vdpau'
|
||||
chrome_OPTS="$chrome_OPTS --enable-accelerated-video --allow-no-sandbox-job --disable-gpu-sandbox"
|
||||
chrome_OPTS="$chrome_OPTS --use-gl=desktop --enable-features=VaapiVideoDecoder --allow-no-sandbox-job --disable-gpu-sandbox"
|
||||
;;
|
||||
*)
|
||||
LIBGL_ALWAYS_SOFTWARE='1'
|
||||
@ -73,16 +73,29 @@ case $RASTER_MODE in
|
||||
esac
|
||||
|
||||
# alsa
|
||||
if [ ! -z $ALSA_DEVICE ]; then
|
||||
if [ "$AUDIO_DEVICE_TYPE" == "ALSA" ]; then
|
||||
# stop pulseaudio when using an Alsa device
|
||||
systemctl stop pulseaudio
|
||||
if [ ! -z $ALSA_DEVICE ]; then
|
||||
chrome_OPTS="$chrome_OPTS --alsa-output-device=$ALSA_DEVICE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# HACK!!! to get sound at Chrome stop pulseaudio
|
||||
systemctl stop pulseaudio
|
||||
# dark mode
|
||||
if [ "$DARK_MODE" == "true" ]
|
||||
then
|
||||
chrome_OPTS="$chrome_OPTS --force-dark-mode"
|
||||
fi
|
||||
|
||||
# User-Agent
|
||||
if [ ! -z "$USER_AGENT" ]; then
|
||||
USER_AGENT="--user-agent=$USER_AGENT"
|
||||
fi
|
||||
|
||||
# start chrome
|
||||
LD_PRELOAD=/usr/lib/libGL.so $ADDON_DIR/chrome-bin/chrome \
|
||||
$chrome_OPTS \
|
||||
"$USER_AGENT" \
|
||||
--no-sandbox \
|
||||
--user-data-dir=$ADDON_HOME/profile \
|
||||
--test-type $@ \
|
||||
@ -94,12 +107,8 @@ then
|
||||
kill $UNCLUTTER_PID
|
||||
fi
|
||||
|
||||
# dark mode
|
||||
if [ "$DARK_MODE" == "true" ]
|
||||
then
|
||||
chrome_OPTS="$chrome_OPTS --force-dark-mode"
|
||||
fi
|
||||
|
||||
# HACK!!! to get sound at Kodi start pulseaudio
|
||||
sleep 5
|
||||
systemctl start pulseaudio
|
||||
if [ "$AUDIO_DEVICE_TYPE" == "ALSA" ]; then
|
||||
# restart pulseaudio when using an Alsa device
|
||||
systemctl start pulseaudio
|
||||
fi
|
||||
|
@ -35,14 +35,21 @@ def startchrome(args):
|
||||
new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE')
|
||||
new_env['DARK_MODE'] = __addon__.getSetting('DARK_MODE')
|
||||
|
||||
new_env['ALSA_DEVICE'] = ''
|
||||
if __addon__.getSetting('USE_CUST_AUDIODEVICE') == 'true':
|
||||
alsa_device = __addon__.getSetting('CUST_AUDIODEVICE_STR')
|
||||
audio_device = __addon__.getSetting('CUST_AUDIODEVICE_STR')
|
||||
else:
|
||||
alsa_device = getAudioDevice()
|
||||
audio_device = getAudioDevice()
|
||||
|
||||
new_env['AUDIO_DEVICE_TYPE'] = getAudioDeviceType(audio_device)
|
||||
if new_env['AUDIO_DEVICE_TYPE'] == "ALSA":
|
||||
new_env['ALSA_DEVICE'] = ''
|
||||
alsa_device = getAlsaAudioDevice(audio_device)
|
||||
if not alsa_device == None and not alsa_device == '':
|
||||
new_env['ALSA_DEVICE'] = alsa_device
|
||||
|
||||
if __addon__.getSetting('USE_CUST_USERAGENT') == 'true':
|
||||
new_env['USER_AGENT'] = __addon__.getSetting('CUST_USERAGENT_STR')
|
||||
|
||||
chrome_params = args + ' ' + \
|
||||
__addon__.getSetting('HOMEPAGE')
|
||||
subprocess.call(__path__ + 'chrome-start ' + chrome_params, shell=True, env=new_env)
|
||||
@ -57,7 +64,7 @@ def isRuning(pname):
|
||||
return False
|
||||
|
||||
def getAudioDevice():
|
||||
dev = json.loads(xbmc.executeJSONRPC(json.dumps({
|
||||
return json.loads(xbmc.executeJSONRPC(json.dumps({
|
||||
"jsonrpc": "2.0",
|
||||
"method": "Settings.GetSettingValue",
|
||||
"params": {
|
||||
@ -65,15 +72,20 @@ def getAudioDevice():
|
||||
},
|
||||
"id": 1,
|
||||
})))['result']['value']
|
||||
|
||||
def getAudioDeviceType(dev):
|
||||
if dev.startswith("ALSA:"):
|
||||
return "ALSA"
|
||||
if dev.startswith("PULSE:"):
|
||||
return "PULSE"
|
||||
return None
|
||||
|
||||
def getAlsaAudioDevice(dev):
|
||||
dev = dev.split("ALSA:")[1]
|
||||
if dev == "@":
|
||||
return None
|
||||
if dev.startswith("@:"):
|
||||
dev = dev.split("@:")[1]
|
||||
else:
|
||||
# not ALSA
|
||||
return None
|
||||
if dev.startswith("CARD="):
|
||||
dev = "plughw:" + dev
|
||||
return dev
|
||||
|
@ -48,3 +48,11 @@ msgstr ""
|
||||
msgctxt "#30010"
|
||||
msgid "Dark Mode"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30011"
|
||||
msgid "Use Custom User-Agent"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30012"
|
||||
msgid "User-Agent"
|
||||
msgstr ""
|
||||
|
@ -12,5 +12,7 @@
|
||||
<setting id="CUST_AUDIODEVICE_STR" type="text" label="30008" visible="eq(-1,true)" subsetting="true" default="" />
|
||||
<setting id="HIDE_CURSOR" type="bool" label="30009" default="false" />
|
||||
<setting id="DARK_MODE" type="bool" label="30010" default="false" />
|
||||
<setting id="USE_CUST_USERAGENT" type="bool" label="30011" default="false" />
|
||||
<setting id="CUST_USERAGENT_STR" type="text" label="30012" visible="eq(-1,true)" subsetting="true" default="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/@CHROME_VERSION@" />
|
||||
</category>
|
||||
</settings>
|
||||
|
@ -8,4 +8,6 @@
|
||||
<setting id="VAAPI_MODE" default="true">intel</setting>
|
||||
<setting id="WINDOW_MODE" default="true">maximized</setting>
|
||||
<setting id="DARK_MODE" default="true">false</setting>
|
||||
<setting id="USE_CUST_USERAGENT" default="true">false</setting>
|
||||
<setting id="CUST_USERAGENT_STR" default="true">Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/@CHROME_VERSION@</setting>
|
||||
</settings>
|
||||
|
Loading…
x
Reference in New Issue
Block a user