J'utilise Ubuntu 24.04 avec VAAPI pour le décodage vidéo matériel sur mes navigateurs. Pour activer le décodage matériel dans Google Chrome et Microsoft Edge sur Linux, vous devez ajouter des paramètres de ligne de commande ("- enfable-FEURURES = VAAPIVIDEODECODER, pour chrome et courage lignes commençant par "exec" dans leurs fichiers .desktop
Cela est assez simple, mais le problème est que, chaque fois qu'il y a une mise à jour logicielle de ces navigateurs, son fichier .desktop est écrasé afin que vous deviez le refaire. Vous pouvez mettre les fichiers de bureau mis à jour sur ~ / .local / share / applications où ils remplacent les originaux et ne sont pas écrasés, mais de temps en temps, une mise à jour modifie le chemin d'accès à l'icône du navigateur pour que le bouton du navigateur disparaisse! Après avoir marqué cela, j'ai décidé d'écrire ce script.
Exécutez-le et cela garantira que toutes les lignes EXEC dans les fichiers de bureau répertoriés qui ne se terminent pas dans les paramètres requis les auront ajouté, ceux qui les feront toujours seront laissés seuls. Le fichier mis à jour sera copié sur ~ / .local / share / applications où il remplacera le fichier .desktop initialement installé. Comme il ne sera pas affecté par les mises à jour ultérieures, les paramètres VAAPI leur survivront, mais parfois des chemins d'icône, etc. sont modifiés dans les mises à jour, ce qui nécessiterait que ce script soit réécrit pour en tenir compte.
Les tableaux de bureau doivent avoir des paramètres de ligne de commande correspondants qui sont appliqués à tous les fichiers de bureau répertoriés dans ce tableau. Les tableaux doivent contenir les chemins complets de tous les fichiers de bureau du navigateur sur lequel vous souhaitez conserver les paramètres de ligne de commande correspondants. Les miens sont: -
Pour les navigateurs basés sur Chromium> = version 131
declare -a desktopFiles=( " /var/lib/snapd/desktop/applications/brave_brave.desktop "
" /var/lib/snapd/desktop/applications/chromium_chromium.desktop "
" /usr/share/applications/microsoft-edge.desktop "
" /usr/share/applications/google-chrome.desktop " )
params= " --enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder "Pour les navigateurs basés sur Chromium <version 131
declare -a desktopFiles2=() # None now, all browsers upgraded to version 131
params2= " --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL "Les variables Params sont définies sur les paramètres que vous souhaitez assurer sont ajoutés aux lignes Exec dans les fichiers répertoriés dans le tableau correspondant. La fonction ProcessDeskTopFiles est appelée avec les paramètres de ligne EXEC requis comme premier argument et le tableau de chemin des fichiers de bureau comme deuxième, comme ci-dessous: -
processDeskTopFiles $params " ${desktopFiles[@]} "
processDeskTopFiles $params2 " ${desktopFiles2[@]} " Exécutez le script à l'aide de votre compte utilisateur: -
./update-desktop-files.shC'est ça!