Laptop

Cách tăng tốc hoạt động của GPU trên Linux, tối ưu hóa hiệu suất phần cứng

Cach tang toc hoat dong cua GPU tren Linux toi uu hoa hieu suat phan cung 8

Vi xử lý của các máy tính hiện đại thường đủ mạnh để làm việc mượt mà với mọi loại nội dung. Tuy nhiên, một số tác vụ có thể tạo ra tải cao hơn cho vi xử lý — chẳng hạn như khi bạn xem video.

Tuy vậy, việc phát video thường vẫn mượt mà vì các dịch vụ streaming tự động giảm chất lượng video nếu kết nối internet không đủ nhanh hoặc hiệu suất của PC không đủ mạnh.

Tuy nhiên, việc giảm tải cho CPU là điều hợp lý vì nó giúp giảm mức tiêu thụ năng lượng và kéo dài thời gian sử dụng pin trên các laptop.

Đơn vị xử lý đồ họa (GPU) của PC có thể nằm trong vi xử lý chính, trong một chip đồ họa riêng biệt, hoặc trên một card đồ họa chuyên dụng. GPU thường không có nhiều công việc ngoài việc hiển thị màn hình desktop. Tuy nhiên, chip đồ họa thường mạnh mẽ hơn CPU khi nói đến việc phát (giải mã) video.

GPU cũng có thể hỗ trợ khi chuyển đổi video sang các định dạng khác (mã hóa). Điều này giúp giảm tổng mức tiêu thụ năng lượng, phát video ở chất lượng cao hơn hoặc chuyển đổi video nhanh hơn.

1. Sự sử dụng GPU trên Linux

Việc phần cứng tăng tốc có thể được tận dụng bởi chip đồ họa hay không, và cách thức như thế nào, phụ thuộc vào một số yếu tố trên Linux:

  • Mô hình của chip đồ họa và khả năng của nó
  • Trình điều khiển (driver) được sử dụng
  • Giao thức hiển thị (X11 hoặc Wayland)
  • Phần mềm tương ứng (trình duyệt, trình phát video, phần mềm chỉnh sửa video)

Cach tang toc hoat dong cua GPU tren Linux toi uu hoa hieu suat phan cung 2

Cũng có một số giao diện cho các lĩnh vực ứng dụng khác nhau có thể được sử dụng để tăng tốc phần cứng:

  • Vulkan chủ yếu được sử dụng bởi các trò chơi và cũng có thể được sử dụng khi phát video.
  • Open GL là phiên bản tiền nhiệm của Vulkan và hỗ trợ đồ họa vector 2D/3D trên desktop và trong các trò chơi.
  • Vdpau cung cấp tăng tốc phần cứng cho việc phát video, đến từ Nvidia và cũng được hỗ trợ bởi trình điều khiển đồ họa AMD.
  • CUDA là một giao diện lập trình (API) của Nvidia, cho phép các phần chương trình có thể được xử lý bởi bộ xử lý đồ họa (GPU). API này được sử dụng trong các ứng dụng AI, khi phát (NVDEC) và chuyển đổi (NVENC) video.
  • VA-API là một giao diện để giải mã và mã hóa video với GPU của AMD và Intel.
  • Quick Sync Video là tên gọi của tính năng tăng tốc phần cứng của GPU Intel, được truy cập qua VA-API.

Các trình phát media thường tự động nhận diện các giao diện có sẵn và sử dụng tăng tốc phần cứng mặc định. Tuy nhiên, các trình duyệt web thường không cung cấp chức năng này với các chip đồ họa thông dụng.

Các chip đồ họa hiện tại cung cấp tăng tốc phần cứng cho việc phát video với các codec H264 (AVCHD), H265 (HEVC) và VP9. Điều này có nghĩa là bạn đã được trang bị đầy đủ, vì chẳng hạn YouTube thường sử dụng H264 hoặc VP9.

Bạn có thể tìm hiểu khả năng của các chip đồ họa từ Nvidia, Intel và AMD.

Cach tang toc hoat dong cua GPU tren Linux toi uu hoa hieu suat phan cung 3

Trong tương lai gần, YouTube sẽ ngày càng chuyển sang sử dụng codec AV1 miễn phí bản quyền, phiên bản cải tiến của VP9. Netflix cũng sẽ sử dụng AV1 trong tương lai.

Tuy nhiên, chỉ những chip đồ họa mới như Intel Tiger Lake (thế hệ thứ 11) hoặc Nvidia GeForce từ RTX 2050 trở lên mới hỗ trợ tăng tốc phần cứng (giải mã) cho AV1. Nếu bạn muốn sử dụng bộ mã hóa AV1 để chuyển đổi video, bạn cần một card đồ họa từ GeForce RTX 4050, AMD Radeon RX 7000 hoặc Intel Arc.

Mặc dù chip đồ họa có thể hỗ trợ một định dạng, nhưng trình điều khiển và giao diện cũng phải tương thích. Ví dụ, VLC có thể sử dụng Vdpau để tăng tốc phần cứng nếu trình điều khiển Nvidia được cài đặt.

Tuy nhiên, các trình duyệt như Mozilla Firefox hoặc Google Chrome lại dựa vào VA-API, mà trình điều khiển Nvidia không hỗ trợ. Trình điều khiển phù hợp với VA-API (“nvidia-vaapi-driver”) chỉ chính thức có sẵn trong kho lưu trữ phân phối từ Ubuntu 23.04 trở đi. Hỗ trợ VA-API đã được tích hợp sẵn cho đồ họa Intel; các trình điều khiển AMD hỗ trợ VA-API và Vdpau.

Trình điều khiển mã nguồn mở Nouveau cho các chip Nvidia cũng hỗ trợ VA-API và VDPAU, nhưng chỉ dành cho các chipset cũ như GeForce 700 hoặc 600.

2. Kiểm tra hỗ trợ cho các chip Intel

Các đơn vị đồ họa từ Intel thường được tích hợp trong vi xử lý của máy tính. Quick Sync Video đã được tích hợp từ khoảng năm 2011, bắt đầu từ các vi xử lý Sandy Bridge (Intel HD Graphics 2000 và 3000). Các bản phân phối Linux chứa sẵn các trình điều khiển cần thiết.

Cach tang toc hoat dong cua GPU tren Linux toi uu hoa hieu suat phan cung 4

Bạn có thể tìm hiểu khả năng của chipset bằng cách sử dụng công cụ vainfo trong terminal, công cụ này có thể được cài đặt qua gói cùng tên. vainfo hiển thị các phiên bản của VA-API và trình điều khiển Intel.

Bạn cũng có thể thấy các hồ sơ codec được hỗ trợ, chẳng hạn như “VAProfileH264Main” và “VAProfileVP8Version0_3”. Phần bổ sung “VAEntrypointEncSliceLP” chỉ ra rằng việc mã hóa, tức là chuyển đổi tăng tốc sang định dạng này, cũng được hỗ trợ cho codec này.

Bạn có thể kiểm tra xem một chương trình có thực sự sử dụng VA-API hay không bằng cách sử dụng công cụ khác, công cụ này có thể cài đặt với lệnh:

sudo apt install intel-gpu-tools

Sau đó, bạn có thể khởi động nó.

sudo intel_gpu_top

và trong một terminal khác, gọi trình phát media VLC dưới dạng

vlc

Nếu video được mã hóa bằng một codec như VP9 hoặc H264, VLC sẽ cung cấp thông tin về việc sử dụng VA-API và trình điều khiển liên quan, trong khi intel_gpu_top sẽ hiển thị mức độ sử dụng của GPU.

Lưu ý: Nếu máy tính cài card đồ họa chuyên dụng từ Nvidia, các chức năng của đơn vị đồ họa Intel sẽ không thể được sử dụng. Đối với laptop có đồ họa lai, bạn có thể chuyển sang chip Intel thông qua công cụ Nvidia X Server Settings dưới mục “PRIME profiles.” Nếu tùy chọn này không có sẵn, hãy sử dụng lệnh sau trong terminal:

sudo prime-select intel

Sau đó, bạn cần đăng xuất và đăng nhập lại. Thay “intel” bằng “nvidia” hoặc “on-demand” (nếu cần thiết) để chuyển lại sang chip Nvidia mạnh mẽ hơn.

3. Phát video trong Firefox với VA-API

Firefox hỗ trợ VA-API mặc định dưới X11 (Linux Mint) và dưới Wayland (Ubuntu).

Truy cập địa chỉ nội bộ “about:support” để kiểm tra chức năng này. Dưới phần “Graphics”, bạn sẽ thấy “WebRenderer” sau mục “Composing”. Nếu ở đây hiển thị “WebRenderer (software)”, thì tăng tốc phần cứng chưa được kích hoạt. Dưới mục “Media”, bạn có thể tìm thấy thông tin về các codec mà phần cứng hỗ trợ giải mã.

Bạn có thể tham khảo danh sách các video mẫu YouTube với độ phân giải cao tại đây.

Hiển thị “Statistics for interested parties” qua menu ngữ cảnh của video. Nếu dòng sau “Codec” bắt đầu bằng “av01”, tăng tốc phần cứng chỉ khả dụng nếu chip đồ họa đã hỗ trợ định dạng này.

Hãy thử các độ phân giải khác nhau sau khi nhấp vào biểu tượng bánh răng phía sau “Quality” cho đến khi “vp09” xuất hiện sau “Codec.”

Bạn cũng có thể cài đặt tiện ích mở rộng “Your Codecs” trong Firefox và sử dụng nó để chặn các định dạng VP8, VP9 hoặc AV1. Nếu tất cả đều bị chặn, YouTube sẽ cung cấp video với codec AVC1 (H.264), nhưng thường chỉ ở độ phân giải thấp hơn, tối đa là 1080p.

Trong cài đặt YouTube, mà bạn có thể truy cập qua menu hamburger (ba dấu gạch ngang) ở góc trái trên, hành vi có thể được điều chỉnh dưới mục “Playback and performance.” Nếu chip đồ họa không hỗ trợ AV1, hãy kích hoạt tùy chọn “Prefer AV1 for SD” trong phần “AV1 settings.”

Khi đó, YouTube chỉ sử dụng AV1 ở độ phân giải thấp, giúp giảm tải cho CPU. Nếu không, nó sẽ chuyển sang VP9 hoặc một định dạng khác. Trong terminal, bạn có thể sử dụng

sudo intel_gpu_top

để xem mức độ hỗ trợ của GPU giúp giảm tải cho CPU như thế nào.

Cach tang toc hoat dong cua GPU tren Linux toi uu hoa hieu suat phan cung 5

Chip đồ họa AMD: Linux tự động cài đặt các trình điều khiển cần thiết và các chức năng có thể được kiểm tra bằng công cụ vainfo. Nếu công cụ này không hiển thị gì, có thể các mô-đun kernel không hỗ trợ chipset.

Đối với các card đồ họa AMD mới, bạn nên sử dụng các phiên bản kernel 6.2 trở lên. Ubuntu 22.04 tự động cài đặt phiên bản này thông qua các bản cập nhật. Người dùng Linux Mint 21 có thể vào “Quản lý hệ thống > Quản lý cập nhật” và trong menu, chọn “Xem > Linux kernel.” Chọn một phiên bản kernel mới hơn và nhấn “Cài đặt.”

Nếu bạn muốn kiểm tra mức độ sử dụng GPU, hãy cài đặt công cụ Radeon-Profile với ba lệnh sau:

sudo add-apt-repository ppa:radeon-profile/stable
sudo apt update
sudo apt install radeon-profile

Giá trị phía sau “GPU usage” sẽ tăng lên ngay khi bạn phát một video.

4. Google Chrome và Chromium

Có rất nhiều mẹo trên internet về cách kích hoạt tăng tốc phần cứng trong các trình duyệt dựa trên Chromium. Tùy thuộc vào phiên bản chương trình và môi trường desktop, bạn có thể thành công.

Trong các bài kiểm tra của chúng tôi, chúng tôi không thể thuyết phục Google Chrome hoặc Chromium hoạt động như mong muốn. Một lý do cho điều này là phiên bản VA-API cũ trên Ubuntu và Linux Mint. Hiện tại, các trình duyệt này không hoạt động với các chip đồ họa AMD, bất kể phiên bản nào được cài đặt. Do đó, mô tả này chỉ áp dụng cho đồ họa Intel.

Cach tang toc hoat dong cua GPU tren Linux toi uu hoa hieu suat phan cung 6

Nếu bạn không ngại công sức, bạn có thể cập nhật các thư viện và trình điều khiển. Để làm điều này, sử dụng script “build_intel_media.sh” (chỉ dành cho chip Intel). Nó sẽ cài đặt các gói chương trình cần thiết cho việc phát triển, tải mã nguồn vào thư mục “$HOME/src” và biên dịch các tệp. Sau đó, khởi động lại Linux.

Trong terminal, vainfo giờ đây sẽ hiển thị phiên bản VA-API 1.21 (hoặc cao hơn) (trước đây là: 1.14). Trên Linux Mint, hãy cài đặt Chromium như một gói hệ thống thông qua quản lý ứng dụng. Google Chrome vẫn chưa hoạt động với VA-API mới, cũng như gói Snap từ Ubuntu.

Khởi động trình duyệt và phát một video thử nghiệm. Mở địa chỉ nội bộ “chrome://gpu” trong một tab khác. Phía sau “Video Decode:” sẽ hiển thị “Hardware accelerated.” Tuy nhiên, điều này không có ý nghĩa gì vì Chromium cũng cung cấp thông tin này nếu tăng tốc phần cứng chỉ khả thi trên lý thuyết. Thông tin chi tiết có thể tìm thấy tại “chrome://media-internals.”

Nhấn vào liên kết có phần bổ sung “(kPlay)” trong khi video đang phát. “kVideoDecoderName” sẽ được theo sau bởi “VaapiVideo-Decoder” nếu tăng tốc GPU đang hoạt động.

5. Cài đặt VA-API cho Nvidia

Bạn đã có thể sử dụng trình điều khiển VA-API trên Ubuntu 22.04 hoặc Linux Mint 21. Tuy nhiên, bạn phải tự biên dịch trình điều khiển từ mã nguồn.

Điều kiện tiên quyết là trình điều khiển Nvidia chính thức phiên bản 470, 500 hoặc cao hơn phải được kích hoạt. Trình điều khiển VA-API chủ yếu được thiết kế để tăng tốc phần cứng trong Firefox; chức năng này không được đảm bảo cho phần mềm khác.

Ngoài ra, trình điều khiển này chưa hoạt động tối ưu dưới Wayland và chắc chắn không hoạt động với Firefox được cài dưới dạng Snap hoặc Flatpak. Linux Mint đáp ứng các yêu cầu này, người dùng Ubuntu có thể làm theo hướng dẫn sau.

Cach tang toc hoat dong cua GPU tren Linux toi uu hoa hieu suat phan cung 7

Để cài đặt trình điều khiển Nvidia — nếu chưa có — người dùng Ubuntu tìm kiếm “Drivers” qua “Activities” và nhấp vào “Additional drivers.”

Với Linux Mint, đường dẫn dẫn bạn qua “Quản lý trình điều khiển.” Chọn trình điều khiển có số phiên bản cao nhất và có thêm “Proprietary, tested” (Linux Mint “recommended”). Nhấn “Áp dụng thay đổi” và khởi động lại Linux sau khi hoàn tất cài đặt.

Để có thể tạo trình điều khiển VA-API, hãy cài đặt một số gói phần mềm trong terminal:

sudo apt install build-essential git meson gstreamer1.0-plugins-bad libffmpeg-nvenc-dev libva-dev libegl-dev cmake pkg-config libdrm-dev libgstreamer-plugins-bad1.0-dev

Tiếp theo, tạo một thư mục làm việc và tải mã nguồn (bốn dòng lệnh):

mkdir ~/src && cd ~/src

wget https://github.com/elFarto/nvidia-vaapi-driver/archive/refs/tags/v0.0.11.tar.gz


tar xvf v0.0.11.tar.gz


cd nvidia-vaapi-driver-0.0.11

Điều chỉnh số phiên bản nếu cần. Sau đó, biên dịch và cài đặt bằng cách sử dụng:

meson setup build

sudo meson install -C build

Để biên dịch và cài đặt trình điều khiển.

6. Kích hoạt trình điều khiển Nvidia VA API cho Firefox

Để Linux có thể tải trình điều khiển, bạn cần thiết lập một số biến môi trường. Mở tệp “/etc/environment” với quyền quản trị viên trong trình soạn thảo văn bản và thêm ba dòng sau:

export LIBVA_DRIVER_NAME=nvidia
export MOZ_DISABLE_RDD_SANDBOX=1

export NVD_BACKEND=direct

Dòng cuối cùng hiện tại là cần thiết cho trình điều khiển Nvidia từ phiên bản 525 trở lên. Bạn cũng cần thông báo cho kernel của Linux. Mở tệp văn bản “/etc/default/grub” với quyền root và thêm tùy chọn này vào dòng “GRUB_CMDLINE_LINUX_DEFAULT”:

nvidia-drm.modeset=1

Sau đó, thực hiện lệnh trong terminal:

sudo update-grub

Và khởi động lại Linux để các thay đổi có hiệu lực. Bạn có thể kiểm tra chức năng đúng đắn với công cụ vainfo. Công cụ này sẽ hiển thị “vainfo: Driver version: VA-API NVDEC driver [direct backend].”

Bạn cần thay đổi một số cài đặt để Firefox nhận diện trình điều khiển mới. Để đảm bảo an toàn, hãy sử dụng một hồ sơ người dùng mới để thử nghiệm cài đặt trước.

Trong terminal, khởi động:

firefox -P

Và tạo một hồ sơ mới rồi khởi động. Truy cập địa chỉ “about:config” và thiết lập ba tùy chọn sau:

media.ffmpeg.vaapi.enabled

media.rdd-ffmpeg.enabled


widget.dmabuf.force-enabled

Đặt mỗi tùy chọn thành “true”. Sau đó, khởi động lại Firefox.

Để kiểm tra mức độ sử dụng GPU, khởi động Nvidia X Server Settings và nhấp vào “GPU 0” ([Mẫu Nvidia]). Các giá trị phía sau “GPU Utilization” và “Video Engine Utilization” sẽ tăng lên khi tăng tốc phần cứng được sử dụng.

Bài viết này ban đầu xuất hiện trên ấn phẩm chị em của chúng tôi, PC-WELT, và đã được dịch và bản địa hóa từ tiếng Đức.

7. Kết luận

Tăng tốc hoạt động của GPU trên Linux không chỉ giúp tối ưu hóa hiệu suất phần cứng mà còn cải thiện trải nghiệm người dùng khi thực hiện các tác vụ nặng như phát video, xử lý đồ họa hoặc chơi game. Việc cấu hình và sử dụng đúng các công cụ như VA-API, Vulkan hay OpenGL sẽ giúp bạn khai thác tối đa tiềm năng của GPU, giảm tải cho CPU và tiết kiệm năng lượng, đặc biệt trên các thiết bị di động.

Xem thêm: Hướng dẫn thiết lập máy tính mới: tối ưu hóa trải nghiệm từ những bước đầu tiên

Nếu bạn đang tìm kiếm các sản phẩm laptop hoặc thiết bị phần cứng tối ưu cho công việc và giải trí, hãy ghé thăm COHOTECH. Chúng tôi cung cấp các sản phẩm chất lượng, được hỗ trợ bởi đội ngũ tư vấn chuyên nghiệp, luôn sẵn sàng giúp bạn chọn lựa giải pháp phù hợp nhất.

Đừng quên để lại ý kiến của bạn và chia sẻ bài viết này để giúp bạn bè và cộng đồng cùng khám phá cách tối ưu hóa hiệu suất phần cứng trên Linux. Cảm ơn bạn đã đọc và hy vọng những thông tin trong bài viết sẽ hữu ích cho bạn!

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *