Thủ thuật
Sức mạnh mã nguồn mở: Driver Linux mới cho card SM750 hỗ trợ màn hình siêu rộng 2560x1080
(giờ Việt Nam)
Tóm tắt AI
Driver DRM mã nguồn mở mới dành cho card đồ họa Silicon Motion SM750 đã ra mắt, hỗ trợ độ phân giải 2048 hoặc màn hình siêu rộng 2560x1080 thông qua phần cứng và phần mềm.
Bản dịch AI
Đẩy card này lên độ phân giải thực 2048 pixel chiều ngang hoặc màn hình desktop ultrawide 2560x1080 được scale bằng phần mềm, với tính năng chuyển đổi màu tiết kiệm băng thông và tối ưu hóa cập nhật để đạt hiệu suất mượt mà hơn.
Driver hiển thị Linux cho card PCIe SE-DP750A-HDMI cổng đơn HDMI.
Thử nghiệm: Driver này dành cho một bo mạch SM750 cụ thể. Các chế độ tùy chọn có thể vượt quá giới hạn xung nhịp GPU hoặc màn hình đã công bố và có thể dẫn đến tình trạng mất tín hiệu, méo hình hoặc hiển thị không ổn định. Hãy luôn giữ kết nối SSH hoặc một phương thức khôi phục khác khi thử nghiệm các chế độ không dùng EDID.
Card của tôi có được hỗ trợ không?
Bo mạch đã được kiểm thử được bán hoặc đánh dấu là SE-DP750A-HDMI và sở hữu tất cả các đặc điểm sau:
Chỉ riêng PCI ID là chưa đủ. Các card SM750 khác có thể sử dụng VGA, bộ truyền tín hiệu khác hoặc sơ đồ dây GPIO khác và hiện chưa được hỗ trợ.
Cài đặt
Người dùng Ubuntu 24.04 và Linux Mint 22 có thể build gói DKMS tại chỗ:
Việc khởi động lại rất quan trọng: nó cho phép gói tin đưa driver sm750fb cũ của Linux vào danh sách đen (blacklist) trước khi nó kịp chiếm quyền điều khiển card. Gói này có tên là sm750hdmifb; module kernel là sm750hdmidrm.ko để tránh nhầm lẫn với sm750fb.ko.
Khả năng tương thích Kernel
Driver này dành cho Linux 6.17 trở lên. DKMS cố tình từ chối các kernel cũ hơn vì các giao diện DRM cần thiết không được dự án này hỗ trợ. Mã nguồn có các đường dẫn tương thích cho Linux 6.17 xuyên suốt dòng 6.x và cho Linux 7.0 trở đi. Hiện tại, driver đã build và vượt qua bộ kiểm thử đầy đủ trên các kernel Ubuntu 6.17 và 7.0; quy trình CI thủ công cũng thực hiện build với các header kernel 6.17 của Ubuntu 24.04.
Không có giới hạn phiên bản tối đa cố định, nhưng các kernel tương lai có thể thay đổi API DRM nội bộ. Vì đây là driver nằm ngoài cây kernel (out-of-tree), một phiên bản kernel mới có thể yêu cầu cập nhật mã nguồn ngay cả khi nó nằm trong phạm vi 6.17+ dự kiến.
Các gói đã build sẵn, khi có sẵn, sẽ được công bố trong phần GitHub Releases. Khuyến khích nên build tại chỗ vì DKMS sẽ biên dịch dựa trên các header kernel đã cài đặt.
Sử dụng thông thường
Theo mặc định, driver sẽ:
Các ứng dụng vẫn render ở màu 32-bit. Ngay trước khi tải lên, driver chuyển đổi các vùng màn hình đã thay đổi sang RGB565 và áp dụng thuật toán ordered dither của KodeMunkie với mức hiệu chỉnh kênh xanh lá 94%. Đây là mặc định vì framebuffer SM750 được truy cập qua liên kết PCIe 1.1 x1. Ở các độ phân giải cao hơn, liên kết đó không thể cung cấp các bản cập nhật 32-bit toàn màn hình với độ phản hồi tốt: XRGB8888 gửi bốn byte cho mỗi pixel đầu ra, trong khi RGB565 chỉ gửi hai. Do đó, RGB565 đã qua xử lý dither giúp giảm một nửa lưu lượng pixel truyền đến thiết bị trong khi vẫn bảo toàn phần lớn chi tiết màu sắc hiển thị.
Các tùy chọn kernel hoặc GRUB phổ biến là:
Bảng này lược bỏ tiền tố sm750hdmidrm. thông thường để dễ đọc hơn. Ví dụ: nhập enable_dma=0 thành sm750hdmidrm.enable_dma=0 trong GRUB.
Thêm các tùy chọn vào giá trị GRUB_CMDLINE_LINUX_DEFAULT hiện có trong /etc/default/grub, sau đó áp dụng chúng bằng lệnh:
Mọi tùy chọn và giá trị mặc định của nó đều được liệt kê trong phần Module parameters.
Scaling cho màn hình Ultrawide
Thiết bị thường được mô tả là hỗ trợ tối đa 1920 pixel theo chiều ngang. Với edid_only=0, driver cũng mở khóa các chế độ phần cứng 2048 pixel thực tế sau:
softscale_wide=1 bổ sung hai desktop logic rộng hơn. Cả hai đều yêu cầu màn hình ultrawide vật lý 2560x1080 với tùy chọn FULL WIDESCREEN STRETCH ENABLED được bật trong menu trên màn hình (OSD):
Đối với cả hai chế độ, tín hiệu HDMI được kéo giãn từ 2048x1080 sang 2560x1080 pixel vật lý của màn hình ultrawide 2K.
2048 pixel là chiều rộng thực tế cao nhất mà card này có thể tạo ra ở cấp độ phần cứng. Mặt phẳng đồ họa chính của SM750 có trường cạnh phải 11-bit, vì vậy chiều rộng quét vật lý của nó không thể vượt quá 2048 pixel. Đây là giới hạn phần cứng; việc giảm chiều cao không giải phóng thêm bit chiều ngang nào. Các chế độ 2464 và 2560 tạo ra không gian làm việc rộng hơn trong phần mềm, nhưng card vẫn chỉ xuất tín hiệu rộng 2048 pixel.
Cần có màn hình ultrawide với tùy chọn kéo giãn toàn chiều rộng hoặc toàn màn hình (full-widescreen stretch) để đạt được kết quả mong muốn. Quy trình đầy đủ là:
Cài đặt kéo giãn của màn hình sẽ mở rộng hình ảnh HDMI 2048 pixel bị nén theo không gian ra toàn bộ 2560 pixel vật lý của tấm nền. Nó không khôi phục dữ liệu nguồn bị mất, nhưng khôi phục phạm vi hiển thị ultrawide dự kiến và xấp xỉ tỷ lệ khung hình mong muốn. Việc thế nào là "đúng" mang tính chủ quan vì chế độ 2464 cố tình giữ lại một chút khác biệt về tỷ lệ khung hình.
Tại sao khuyến nghị dùng 2464x1080
Đối với 2560x1080, driver thực hiện giảm tỷ lệ 5:4 tối ưu từ 2560 xuống 2048 pixel, tức là nén ngang 20%. Sau đó, màn hình rộng 2560 sẽ mở rộng tín hiệu 2048 pixel thêm 25% trên tấm nền của nó. Điều này cung cấp không gian làm việc kích thước 2560x1080 thực, nhưng một số chi tiết ngang tinh vi bắt buộc phải bị gộp lại trong bước đầu tiên và nhiều pixel nguồn hơn phải được render và xử lý.
Đối với màn hình vật lý 2560x1080, 2464x1080 là chế độ được khuyến nghị, hiệu suất cao hơn và thường sắc nét hơn. Nó bắt đầu với số pixel desktop ít hơn 3,75% và chỉ nén chiều rộng 16,9% trước khi gửi cùng tín hiệu 2048x1080. Màn hình vẫn mở rộng tín hiệu đó trên 2560 pixel tấm nền, vì vậy ít chi tiết nguồn bị loại bỏ bởi driver hơn, nhưng hình ảnh cuối cùng rộng hơn khoảng 3,9% so với hình học logic của nó. Sự biến dạng tỷ lệ nhẹ này thường khó nhận thấy và là sự đánh đổi để có độ phản hồi và độ sắc nét cảm nhận tốt hơn. Khuyến khích bật sm750hdmidrm.sharpen=1.
Cả hai chế độ wide đều có thể áp dụng một mức làm sắc nét tương phản cố định 8% sau khi nén. Nó khôi phục một số định nghĩa cạnh bị mất do lọc; nó không tạo lại các pixel đã bị loại bỏ. Dither và hiệu chỉnh xanh lá được áp dụng trong quá trình chuyển đổi RGB565 cuối cùng trước khi quá trình quét 2048 pixel được tải lên.
Cấu hình đã kiểm thử này kích hoạt danh mục chế độ driver và scaling rộng:
NGUY HIỂM: CẤU HÌNH NÀY VÔ HIỆU HÓA CÁC HẠN CHẾ CHẾ ĐỘ EDID VÀ MỞ KHÓA CÁC XUNG NHỊP THỬ NGHIỆM HOẶC VƯỢT QUÁ THÔNG SỐ KỸ THUẬT. MỘT CHẾ ĐỘ ĐƯỢC LIỆT KÊ CÓ THỂ LÀM MẤT TÍN HIỆU HOẶC GÂY MẤT ỔN ĐỊNH MÀN HÌNH, HOẶC VƯỢT QUÁ GIỚI HẠN CỦA GPU, BỘ TRUYỀN TÍN HIỆU HOẶC MÀN HÌNH.
Một số tần số quét trong danh mục chạy đường dẫn DVO của SM750 hoặc màn hình vượt quá giới hạn công bố. Việc một chế độ được liệt kê không đảm bảo rằng mọi màn hình, cáp, KVM hoặc bộ chuyển đổi đều sẽ chấp nhận nó. Xem phần Modes and clock risks trước khi thử nghiệm.
Dither desktop tùy chỉnh
rgb565-bbdither sử dụng thuật toán ordered dither 8x8 được KodeMunkie thiết kế và tinh chỉnh dành riêng cho việc sử dụng desktop trên card này. Nó bao gồm tính năng hiệu chỉnh kênh xanh lá có thể điều chỉnh và neo mẫu vào tọa độ màn hình, vì vậy các cập nhật nhỏ không làm mẫu bị trôi hoặc để lại các mảng không khớp.
Ảnh chụp màn hình
Ba hình ảnh dưới đây minh họa toàn bộ quá trình chuyển đổi ultrawide. Nhấp vào bất kỳ bản xem trước nào để mở hình ảnh gốc. Desktop logic và ảnh chụp vật lý được hiển thị ở mức 50% chiều rộng trang. Bản xem trước nén được hiển thị ở mức 41,56%, bảo toàn tỷ lệ giảm chiều rộng 2048 / 2464 thay vì kéo giãn cả hai giai đoạn kỹ thuật số về cùng một chiều rộng xem trước.
1. Desktop logic
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.