브라우저에서 하드웨어 비디오 디코딩을 위해 VAAPI와 함께 Ubuntu 24.04를 사용합니다. Linux에서 Google Chrome 및 Microsoft Edge에서 하드웨어 디코딩을 활성화하려면 명령 줄 매개 변수 ( "--enable-features = vaapivideodecoder, vaapivideoencoder, vaapivideodecodelinuxgl)를 추가해야합니다. Chromium과 Brave의 경우,이를 위해 ancelerated videuxgl을 만들 수 있습니다. .desktop 파일에서 "exec"로 시작하는 줄
이것은 충분히 간단하지만 문제는 이러한 브라우저에 대한 소프트웨어 업데이트가있을 때마다 .desktop 파일이 덮어 쓰여 있으므로 다시해야한다는 것입니다. 업데이트 된 데스크탑 파일을 ~/.local/share/응용 프로그램에 원본을 무시하고 덮어 쓰지 않은 응용 프로그램에 넣을 수 있지만, 업데이트는 브라우저 아이콘으로의 경로를 변경하여 브라우저 버튼이 사라집니다! 이 문제를 해결 한 후, 나는이 스크립트를 작성하기로 결정했습니다.
그것을 실행하면 필요한 매개 변수로 끝나지 않는 나열된 데스크탑 파일의 모든 실행 라인이 추가되도록합니다. 업데이트 된 파일은 원래 설치된 .desktop 파일을 무시할 ~/.local/share/applications에 복사됩니다. 후속 업데이트의 영향을받지 않으므로 VAAPI 매개 변수는이를 살아남을 수 있지만 때로는 아이콘 경로 등이 업데이트로 변경 되므로이 스크립트를 다시 실행해야합니다.
DesktopFiles 어레이에는 해당 배열에 나열된 모든 데스크탑 파일에 적용되는 해당 명령 줄 매개 변수가 있어야합니다. 배열에는 해당 명령 줄 매개 변수를 켜두고 자하는 모든 브라우저 데스크탑 파일의 전체 경로가 포함되어야합니다. 내 것은 다음과 같습니다.-
Chromium> = 버전 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 "Chromium <버전 131 기반 브라우저의 경우
declare -a desktopFiles2=() # None now, all browsers upgraded to version 131
params2= " --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL "Params 변수는 보장하려는 매개 변수로 설정되어 해당 배열에 나열된 파일의 Exec 라인에 추가됩니다. ProcessDeskTopFiles 함수는 필수 실행 라인 매개 변수와 함께 첫 번째 인수로 호출되고 데스크탑 파일 경로 배열은 다음과 같이 다음과 같이 호출됩니다.
processDeskTopFiles $params " ${desktopFiles[@]} "
processDeskTopFiles $params2 " ${desktopFiles2[@]} " 사용자 계정을 사용하여 스크립트를 실행하십시오.
./update-desktop-files.sh그게 다야!