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
|
109
|
||||||
- chrome: update to 95.0.4638.54
|
- chrome: update to 95.0.4638.54
|
||||||
- at-spi2-core: update to 2.42.0
|
- at-spi2-core: update to 2.42.0
|
||||||
|
@ -5,7 +5,7 @@ PKG_NAME="chrome"
|
|||||||
PKG_VERSION="1.0"
|
PKG_VERSION="1.0"
|
||||||
# curl -s http://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Packages | grep -B 1 Version
|
# 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_VERSION_NUMBER="95.0.4638.54"
|
||||||
PKG_REV="109"
|
PKG_REV="110"
|
||||||
PKG_ARCH="x86_64"
|
PKG_ARCH="x86_64"
|
||||||
PKG_LICENSE="Custom"
|
PKG_LICENSE="Custom"
|
||||||
PKG_SITE="http://www.google.com/chrome"
|
PKG_SITE="http://www.google.com/chrome"
|
||||||
@ -67,4 +67,6 @@ addon() {
|
|||||||
post_install_addon() {
|
post_install_addon() {
|
||||||
sed -e "s/@DISTRO_PKG_SETTINGS_ID@/${DISTRO_PKG_SETTINGS_ID}/g" -i "${INSTALL}/default.py"
|
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}/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
|
case $VAAPI_MODE in
|
||||||
'intel')
|
'intel')
|
||||||
LIBVA_DRIVER_NAME='i965'
|
LIBVA_DRIVER_NAME='i965'
|
||||||
chrome_OPTS="$chrome_OPTS --enable-accelerated-video"
|
chrome_OPTS="$chrome_OPTS --use-gl=desktop --enable-features=VaapiVideoDecoder"
|
||||||
;;
|
;;
|
||||||
'amd')
|
'amd')
|
||||||
LIBVA_DRIVER_NAME='vdpau'
|
LIBVA_DRIVER_NAME='vdpau'
|
||||||
chrome_OPTS="$chrome_OPTS --enable-accelerated-video"
|
chrome_OPTS="$chrome_OPTS --use-gl=desktop --enable-features=VaapiVideoDecoder"
|
||||||
;;
|
;;
|
||||||
'nvidia')
|
'nvidia')
|
||||||
LIBVA_DRIVER_NAME='vdpau'
|
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'
|
LIBGL_ALWAYS_SOFTWARE='1'
|
||||||
@ -73,16 +73,29 @@ case $RASTER_MODE in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# alsa
|
# alsa
|
||||||
if [ ! -z $ALSA_DEVICE ]; then
|
if [ "$AUDIO_DEVICE_TYPE" == "ALSA" ]; then
|
||||||
chrome_OPTS="$chrome_OPTS --alsa-output-device=$ALSA_DEVICE"
|
# 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
|
fi
|
||||||
|
|
||||||
# HACK!!! to get sound at Chrome stop pulseaudio
|
# dark mode
|
||||||
systemctl stop pulseaudio
|
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
|
# start chrome
|
||||||
LD_PRELOAD=/usr/lib/libGL.so $ADDON_DIR/chrome-bin/chrome \
|
LD_PRELOAD=/usr/lib/libGL.so $ADDON_DIR/chrome-bin/chrome \
|
||||||
$chrome_OPTS \
|
$chrome_OPTS \
|
||||||
|
"$USER_AGENT" \
|
||||||
--no-sandbox \
|
--no-sandbox \
|
||||||
--user-data-dir=$ADDON_HOME/profile \
|
--user-data-dir=$ADDON_HOME/profile \
|
||||||
--test-type $@ \
|
--test-type $@ \
|
||||||
@ -94,12 +107,8 @@ then
|
|||||||
kill $UNCLUTTER_PID
|
kill $UNCLUTTER_PID
|
||||||
fi
|
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
|
sleep 5
|
||||||
systemctl start pulseaudio
|
if [ "$AUDIO_DEVICE_TYPE" == "ALSA" ]; then
|
||||||
|
# restart pulseaudio when using an Alsa device
|
||||||
|
systemctl start pulseaudio
|
||||||
|
fi
|
||||||
|
@ -35,13 +35,20 @@ def startchrome(args):
|
|||||||
new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE')
|
new_env['RASTER_MODE'] = __addon__.getSetting('RASTER_MODE')
|
||||||
new_env['DARK_MODE'] = __addon__.getSetting('DARK_MODE')
|
new_env['DARK_MODE'] = __addon__.getSetting('DARK_MODE')
|
||||||
|
|
||||||
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')
|
audio_device = __addon__.getSetting('CUST_AUDIODEVICE_STR')
|
||||||
else:
|
else:
|
||||||
alsa_device = getAudioDevice()
|
audio_device = getAudioDevice()
|
||||||
if not alsa_device == None and not alsa_device == '':
|
|
||||||
new_env['ALSA_DEVICE'] = alsa_device
|
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 + ' ' + \
|
chrome_params = args + ' ' + \
|
||||||
__addon__.getSetting('HOMEPAGE')
|
__addon__.getSetting('HOMEPAGE')
|
||||||
@ -57,7 +64,7 @@ def isRuning(pname):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def getAudioDevice():
|
def getAudioDevice():
|
||||||
dev = json.loads(xbmc.executeJSONRPC(json.dumps({
|
return json.loads(xbmc.executeJSONRPC(json.dumps({
|
||||||
"jsonrpc": "2.0",
|
"jsonrpc": "2.0",
|
||||||
"method": "Settings.GetSettingValue",
|
"method": "Settings.GetSettingValue",
|
||||||
"params": {
|
"params": {
|
||||||
@ -65,15 +72,20 @@ def getAudioDevice():
|
|||||||
},
|
},
|
||||||
"id": 1,
|
"id": 1,
|
||||||
})))['result']['value']
|
})))['result']['value']
|
||||||
|
|
||||||
|
def getAudioDeviceType(dev):
|
||||||
if dev.startswith("ALSA:"):
|
if dev.startswith("ALSA:"):
|
||||||
dev = dev.split("ALSA:")[1]
|
return "ALSA"
|
||||||
if dev == "@":
|
if dev.startswith("PULSE:"):
|
||||||
return None
|
return "PULSE"
|
||||||
if dev.startswith("@:"):
|
return None
|
||||||
dev = dev.split("@:")[1]
|
|
||||||
else:
|
def getAlsaAudioDevice(dev):
|
||||||
# not ALSA
|
dev = dev.split("ALSA:")[1]
|
||||||
|
if dev == "@":
|
||||||
return None
|
return None
|
||||||
|
if dev.startswith("@:"):
|
||||||
|
dev = dev.split("@:")[1]
|
||||||
if dev.startswith("CARD="):
|
if dev.startswith("CARD="):
|
||||||
dev = "plughw:" + dev
|
dev = "plughw:" + dev
|
||||||
return dev
|
return dev
|
||||||
|
@ -48,3 +48,11 @@ msgstr ""
|
|||||||
msgctxt "#30010"
|
msgctxt "#30010"
|
||||||
msgid "Dark Mode"
|
msgid "Dark Mode"
|
||||||
msgstr ""
|
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="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="HIDE_CURSOR" type="bool" label="30009" default="false" />
|
||||||
<setting id="DARK_MODE" type="bool" label="30010" 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>
|
</category>
|
||||||
</settings>
|
</settings>
|
||||||
|
@ -8,4 +8,6 @@
|
|||||||
<setting id="VAAPI_MODE" default="true">intel</setting>
|
<setting id="VAAPI_MODE" default="true">intel</setting>
|
||||||
<setting id="WINDOW_MODE" default="true">maximized</setting>
|
<setting id="WINDOW_MODE" default="true">maximized</setting>
|
||||||
<setting id="DARK_MODE" default="true">false</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>
|
</settings>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user