Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
Hướng dẫn dành cho nhà phát triển trình điều khiển GPU¶
- Giới thiệu
- Bộ phận bên trong DRM
- Quản lý bộ nhớ DRM
- Trình quản lý bảng dịch (TTM)
- Trình quản lý thực thi đồ họa (GEM)
- Khởi tạo GEM
- Tạo đối tượng GEM
- Tuổi thọ của đối tượng GEM
- Đặt tên đối tượng GEM
- Ánh xạ đối tượng GEM
- Sự mạch lạc của bộ nhớ
- Thực thi lệnh
- Tham khảo chức năng GEM
- Tham khảo chức năng trợ giúp GEM DMA
- Tham khảo chức năng trợ giúp GEM SHMEM
- Tham khảo chức năng trợ giúp GEM VRAM
- Tham khảo chức năng trợ giúp GEM TTM
- Trình quản lý bù đắp VMA
- Chia sẻ bộ đệm PRIME
- Bộ phân bổ phạm vi DRM MM
- DRM GPUVM
- Bộ phân bổ bạn bè DRM
- Xử lý bộ nhớ đệm DRM và memcpy WC nhanh()
- Đối tượng đồng bộ hóa DRM
- Bối cảnh thực thi DRM
- Bộ lập lịch GPU
- Cài đặt chế độ hạt nhân (KMS)
- Tổng quan
- Cấu trúc và chức năng cốt lõi của KMS
- Trừu tượng hóa đối tượng cơ sở Modeset
- Cài đặt chế độ nguyên tử
- Trừu tượng CRTC
- Trừu tượng bộ đệm khung
- Xử lý định dạng DRM
- Đối tượng đệm câm
- Trừu tượng mặt phẳng
- Trừu tượng màu
- Chế độ hiển thị Chức năng Tham khảo
- Trừu tượng hóa trình kết nối
- Trừu tượng bộ mã hóa
- Khóa KMS
- Thuộc tính KMS
- Yêu cầu
- Các loại thuộc tính và hỗ trợ thuộc tính Blob
- Thuộc tính kết nối tiêu chuẩn
- Thuộc tính kết nối cụ thể của HDMI
- Thuộc tính kết nối cụ thể của TV analog
- Thuộc tính CRTC tiêu chuẩn
- Thuộc tính mặt phẳng tiêu chuẩn
- Thuộc tính thành phần mặt phẳng
- Thuộc tính theo dõi thiệt hại
- Thuộc tính quản lý màu
- Thuộc tính nhóm ngói
- Thuộc tính hàng rào rõ ràng
- Thuộc tính làm mới biến
- Thuộc tính điểm phát sóng con trỏ
- Thuộc tính KMS hiện có
- Dọc trống
- Công việc trống dọc
- Chức năng trợ giúp cài đặt chế độ
- Tham khảo trợ giúp Modeset cho các Vtable thông thường
- Tham khảo các hàm trợ giúp của Atomic Modeset
- Tài liệu tham khảo về hàm trợ giúp fbdev
- tham chiếu các hàm trợ giúp định dạng
- Tham khảo chức năng của bộ đệm khung DMA
- Tham khảo trợ giúp Framebuffer GEM
- Cầu
- Tài liệu tham khảo của người trợ giúp bảng điều khiển
- Tài liệu tham khảo về trình trợ giúp tự làm mới bảng điều khiển
- Người trợ giúp trạng thái nguyên tử HDMI
- Tham khảo chức năng trợ giúp HDCP
- Tham chiếu chức năng trợ giúp cổng hiển thị
- Tham khảo chức năng của trình trợ giúp cổng hiển thị CEC
- Cổng hiển thị Chức năng trợ giúp bộ điều hợp chế độ kép Tham khảo
- Trình trợ giúp cổng hiển thị MST
- Tham khảo chức năng trợ giúp MIPI DBI
- Tham khảo chức năng trợ giúp MIPI DSI
- Tham chiếu chức năng trợ giúp nén luồng hiển thị
- Tham khảo các hàm trợ giúp thăm dò đầu ra
- Tham khảo chức năng trợ giúp EDID
- Tham khảo chức năng trợ giúp SCDC
- Tài liệu tham khảo trợ giúp khung thông tin HDMI
- Tham khảo tiện ích hình chữ nhật
- Tài liệu tham khảo về người trợ giúp công việc lật
- Người trợ giúp chế độ phụ trợ
- Người trợ giúp OF/DT
- Tài liệu tham khảo về người trợ giúp máy bay kế thừa
- Tham khảo các chức năng trợ giúp của Modeset CRTC/Modeset kế thừa
- Lớp kiểm soát quyền riêng tư
- DRM RAS qua Netlink chung
- Giao diện người dùng
- Tra cứu thiết bị libdrm
- Các nút chính, DRM Master và xác thực
- Cho thuê tài nguyên hiển thị DRM
- Yêu cầu về không gian người dùng nguồn mở
- Kết xuất các nút
- Rút phích cắm nóng thiết bị
- Đặt lại thiết bị
- Nêm thiết bị
- Hỗ trợ IOCTL trên các nút thiết bị
- Kiểm tra và xác nhận
- Hỗ trợ hệ thống
- Xử lý sự kiện VBlank
- Cấu trúc không gian người dùng API
- khả năng tương tác dma-buf
- Theo dõi sự kiện
- Số liệu thống kê sử dụng máy khách DRM
- Trình điều khiển DRM uAPI
- Máy khách hạt nhân
- Khối lượng công việc và điện toán chạy dài
- Tài liệu trình điều khiển GPU
- trình điều khiển AMDgpu drm/amdgpu
- Cơ sở hạ tầng trình điều khiển cốt lõi
- Bộ đệm vòng
- Thông tin linh kiện phần cứng AMD trên mỗi sản phẩm
- Thông số mô-đun
- drm/amdgpu - Đồ họa và Điện toán (GC)
- drm/amd/display - Lõi hiển thị (DC)
- Hàng đợi chế độ người dùng
- Phần mềm dGPU đang nhấp nháy
- Hỗ trợ AMDGPU XGMI
- Hỗ trợ AMDGPU RAS
- GPU Giám sát và điều khiển nguồn/nhiệt
- Giao diện HWMON
- GPU sysfs Giao diện trạng thái nguồn
- power_dpm_state
- power_dpm_force_performance_level
- bảng pp_
- pp_od_clk_điện áp
- pp_dpm_*
- pp_power_profile_mode
- chiều_chính sách
- *_busy_percent
- gpu_metrics
- đường cong quạt
- acoustic_limit_rpm_threshold
- âm thanh_target_rpm_threshold
- fan_target_nhiệt độ
- fan_minimum_pwm
- fan_zero_rpm_enable
- fan_zero_vòng/phút_stop_nhiệt độ
- GFXOFF
- Thông tin driver linh tinh AMDGPU
- Gỡ lỗi GPU
- Gỡ lỗi AMDGPUFS
- Tệp gỡ lỗiFS
- amdgpu_benchmark
- amdgpu_test_ib
- amdgpu_discovery
- amdgpu_vbios
- amdgpu_evict_gtt
- amdgpu_evict_vram
- amdgpu_gpu_recover
- amdgpu_ring_<tên>
- amdgpu_mqd_<tên>
- amdgpu_error_<tên>
- amdgpu_pm_info
- amdgpu_firmware_info
- amdgpu_fence_info
- amdgpu_gem_info
- amdgpu_vm_info
- amdgpu_sa_info
- amdgpu_<pool>_mm
- amdgpu_vram
- amdgpu_iomem
- amdgpu_regs_*
- amdgpu_regs2
- amdgpu_sensors
- amdgpu_gca_config
- amdgpu_wave
- amdgpu_gpr
- amdgpu_gprwave
- amdgpu_fw_attestation
- Tệp gỡ lỗiFS
- Cách ly quy trình AMDGPU
- Thuật ngữ AMDGPU
- Trình điều khiển Intel GFX drm/i915
- Cơ sở hạ tầng trình điều khiển cốt lõi
- Xử lý phần cứng hiển thị
- Cơ sở hạ tầng cài đặt chế độ
- Theo dõi bộ đệm trước
- Hiển thị báo cáo thiếu FIFO
- Cấu hình máy bay
- Người trợ giúp máy bay nguyên tử
- Lật trang không đồng bộ
- Thăm dò đầu ra
- Cắm nóng
- Âm thanh độ nét cao
- Hỗ trợ âm thanh Intel HDMI LPE
- Bảng điều khiển Tự làm mới PSR (PSR/SRD)
- Nén bộ đệm khung (FBC)
- Chuyển đổi tốc độ làm mới màn hình (DRRS)
- DPIO
- Hỗ trợ phần mềm DMC
- Hàng đợi lật DMC
- Hỗ trợ khóa đánh thức DMC
- Bảng BIOS Video (VBT)
- Hiển thị đồng hồ
- Hiển thị PLL
- Bộ đệm trạng thái hiển thị
- Lập trình GT
- Quản lý bộ nhớ và gửi lệnh
- Thông tin cơ bản về Intel GPU
- Nguyên tắc khóa
- Chi tiết triển khai quản lý BO GEM
- Trục xuất đối tượng bộ đệm
- Thu hẹp bộ nhớ đối tượng đệm
- Phân tích cú pháp bộ đệm hàng loạt
- Thực thi bộ đệm hàng loạt của người dùng
- Lên lịch
- Vòng logic, bối cảnh vòng logic và các nhà thực thi
- Lượt xem GTT toàn cầu
- Hàng rào GTT và sự lộn xộn
- IOCTL xếp chồng đối tượng
- Đối tượng được bảo vệ
- Vi điều khiển
- Truy tìm
- hoàn hảo
- Phong cách
- Triển khai thống kê sử dụng máy khách i915 DRM
- drm/tưởng tượng Trình điều khiển đồ họa PowerVR
- drm/mcde ST-Ericsson MCDE Công cụ hiển thị đa kênh
- drm/meson Bộ xử lý video AmLogic Meson
- Trình điều khiển drm/nouveau NVIDIA GPU
- drm/pl111 ARM Trình điều khiển PrimeCell PL110 và PL111 CLCD
- drm/tegra NVIDIA Tegra GPU và trình điều khiển hiển thị
- drm/tve200 Bộ mã hóa TV Faraday 200
- Trình điều khiển đồ họa drm/v3d Broadcom V3D
- Trình điều khiển đồ họa drm/vc4 Broadcom VC4
- drm/vkms Cài đặt chế độ hạt nhân ảo
- drm/bridge/dw-hdmi Synopsys DesignWare Bộ điều khiển HDMI
- drm/xen-front Trình điều khiển giao diện ảo hóa song song Xen
- Trình điều khiển drm/xe Intel GFX
- Quản lý bộ nhớ
- Lớp bản đồ
- Di chuyển lớp
- Hàng đợi thực thi
- Gửi lệnh
- Quản lý năng lượng thời gian chạy
- Quản lý tần số Xe GT
- Mã
- Chế độ sống sót
- Hỗ trợ đăng ký GT Multicast/Replicated (MCR)
- Cách giải quyết phần cứng
- Đăng ký xử lý bảng
- Phần sụn
- Thiết bị nhiều ô
- Gỡ lỗi
- Xe thiết bị Coredump
- Xe Thiết Bị Nêm
- Triển khai thống kê sử dụng máy khách Xe DRM
- Xe Configfs
- Nén bộ đệm khung cánh tay (AFBC)
- trình điều khiển hiển thị cánh tay drm/komeda
- Trình điều khiển drm/Pan Frost Mali
- trình điều khiển drm/Panthor CSF
- Hệ thống con Xilinx ZynqMP Ultrascale+ DisplayPort
- trình điều khiển nova NVIDIA GPU
- trình điều khiển AMDgpu drm/amdgpu
- Hỗ trợ đèn nền
- Bộ chuyển đổi VGA
- Trọng tài VGA
- Kiểm tra tự động hệ thống con DRM
- Giới thiệu
- Các tập tin liên quan
- Cách bật kiểm tra tự động trên cây của bạn
- Cách cập nhật kỳ vọng kiểm tra
- Cách mở rộng vùng phủ sóng
- Cách kiểm tra các thay đổi của bạn đối với tập lệnh
- Cách kết hợp các bản sửa lỗi bên ngoài vào thử nghiệm của bạn
- Cách xử lý các phòng thử nghiệm tự động có thể ngừng hoạt động
- Hướng dẫn triển khai uAPI và tính năng của trình điều khiển DRM khác
- VM_BIND không đồng bộ
- Khóa VM_BIND
- Bộ trợ giúp DRM GPUVM
- Danh pháp
- Ổ khóa và thứ tự khóa
- Bảo vệ và tuổi thọ của gpu_vm_bos và gpu_vmas
- Xác nhận lại và trục xuất các đối tượng địa phương
- Khóa với các đối tượng đệm bên ngoài
- Truy cập danh sách của gpu_vm mà không cần khóa dma_resv
- userptr gpu_vmas
- Khóa tại thời điểm liên kết và hủy liên kết
- Khóa để cập nhật bảng trang lỗi trang có thể phục hồi
- Danh sách TODO
- Khó khăn
- Mã mở drm_simple_encoding_init()
- Thay thế struct drm_simple_display_pipe bằng các trình trợ giúp nguyên tử thông thường
- Xóa triển khai câm_map_offset tùy chỉnh
- Chuyển đổi trình điều khiển KMS hiện có sang chế độ nguyên tử
- Dọn dẹp sự nhầm lẫn phối hợp bị cắt bớt xung quanh các mặt phẳng
- Cải thiện người trợ giúp Atomic_check máy bay
- Chuyển đổi trình điều khiển nguyên tử ban đầu thành trình trợ giúp cam kết không đồng bộ
- Đổi tên drm_atomic_state
- Bụi phóng xạ từ nguyên tử KMS
- Di chuyển Khóa đối tượng bộ đệm sang dma_resv_lock()
- Chuyển đổi ghi nhật ký thành các hàm drm_* với tham số drm_device
- Chuyển đổi trình điều khiển để sử dụng tạm dừng/tiếp tục chế độ đơn giản
- Thực hiện lại các hàm trong drm_fbdev_fb_ops không có fbdev
- Điểm chuẩn và tối ưu hóa chức năng làm mờ và chuyển đổi định dạng
- dọn dẹp drm_framebuffer_funcs và drm_mode_config_funcs.fb_create
- Hỗ trợ defio fbdev chung
- sửa lỗi đăng ký/hủy đăng ký kết nối
- Xóa các lệnh gọi lại tải/dỡ tải
- Thay thế drm_ detect_hdmi_monitor() bằng drm_display_info.is_hdmi
- Hợp nhất các thuộc tính của bộ chế độ trình điều khiển tùy chỉnh
- Sử dụng struct iosys_map trong toàn bộ codebase
- Xem lại tất cả trình điều khiển để cài đặt struct drm_mode_config.{max_width,max_height} một cách chính xác
- Yêu cầu vùng bộ nhớ trong tất cả trình điều khiển fbdev
- Xóa phụ thuộc trình điều khiển trên FB_DEVICE
- Loại bỏ việc vô hiệu hóa/không chuẩn bị trong việc loại bỏ/tắt máy trong panel-simple và panel-edp
- Chuyển đổi khỏi sử dụng các hàm MIPI DSI không được dùng nữa
- Xóa devm_drm_put_bridge()
- Chuyển đổi người dùng of_drm_find_bridge() thành of_drm_find_and_get_bridge()
- Làm cho việc xử lý hoảng loạn có hiệu quả
- Dọn dẹp hỗ trợ debugfs
- Sửa lỗi trọn đời của đối tượng
- Xóa ánh xạ trang tự động khỏi quá trình nhập dma-buf
- Triển khai ioctl DUMB_CREATE2 mới
- Thêm các bài kiểm tra đơn vị bằng cách sử dụng khung Kiểm tra đơn vị hạt nhân (KUnit)
- Dọn dẹp và ghi lại các bộ selftests cũ
- Kích hoạt bộ ba cho DRM
- Thực hiện các bài kiểm tra KMS bằng i-g-t chung
- Mở rộng trình điều khiển thử nghiệm ảo (VKMS)
- Tái cấu trúc đèn nền
- Trình điều khiển màn hình DC AMD
- Cung cấp giải pháp kế thừa phổ quát cho drm_sched_resubmit_jobs()
- Thêm khóa cho runqueues
- Chuyển đổi trình điều khiển fbdev sang DRM
- Phần GPU RFC
- Phần GPU SVM
- Phần I915 DG1/LMEM RFC
- Phần gửi GuC I915/Phần lập lịch DRM
- I915 Phần BAR RFC nhỏ
- I915 VM_BIND thiết kế tính năng và các trường hợp sử dụng
- Đường ống màu Linux API
- Chúng ta đang giải quyết vấn đề gì?
- Các hệ điều hành khác giải quyết vấn đề này như thế nào?
- Tại sao Linux lại khác biệt?
- Mô tả API
- API theo quy định
- Đường dẫn màu API
- Đối tượng drm_colorop
- Thuộc tính máy bay COLOR_PIPELINE
- Khám phá đường ống màu
- Lập trình đường ống màu
- Hướng dẫn thực hiện lái xe
- Khả năng tương thích tiến/lùi của trình điều khiển
- Tài liệu tham khảo