Bản phát hành nhân Linux 5.15

Sau hai tháng phát triển, Linus Torvalds đã giới thiệu bản phát hành nhân Linux 5.15. Những thay đổi đáng chú ý bao gồm: trình điều khiển NTFS mới có hỗ trợ ghi, mô-đun ksmbd với triển khai máy chủ SMB, hệ thống con DAMON để giám sát truy cập bộ nhớ, nguyên thủy khóa thời gian thực, hỗ trợ fs-verity trong Btrfs, lệnh gọi hệ thống process_mrelease cho bộ nhớ hệ thống phản hồi đói, mô-đun chứng nhận từ xa dm-ima.

Phiên bản mới bao gồm 13499 bản sửa lỗi từ 1888 nhà phát triển, kích thước bản vá là 42 MB (các thay đổi ảnh hưởng đến 10895 tệp, 632522 dòng mã đã được thêm vào, 299966 dòng đã bị xóa). Khoảng 45% tất cả các thay đổi được giới thiệu trong 5.15 có liên quan đến trình điều khiển thiết bị, khoảng 14% thay đổi có liên quan đến việc cập nhật mã dành riêng cho kiến ​​trúc phần cứng, 14% liên quan đến ngăn xếp mạng, 6% liên quan đến hệ thống tệp và 3% có liên quan đến các hệ thống con kernel bên trong.

Những đổi mới chính:

  • Hệ thống con đĩa, I/O và hệ thống tệp
    • Hạt nhân đã áp dụng cách triển khai mới của hệ thống tệp NTFS, được mở bởi Paragon Software. Trình điều khiển mới có thể hoạt động ở chế độ ghi và hỗ trợ tất cả các tính năng của phiên bản NTFS 3.1 hiện tại, bao gồm các thuộc tính tệp mở rộng, danh sách truy cập (ACL), chế độ nén dữ liệu, hoạt động hiệu quả với các khoảng trống trong tệp (thưa thớt) và phát lại các thay đổi từ nhật ký để khôi phục tính toàn vẹn sau thất bại.
    • Hệ thống tệp Btrfs hỗ trợ cơ chế fs-verity, được sử dụng để kiểm soát một cách minh bạch tính toàn vẹn và tính xác thực của từng tệp bằng cách sử dụng hàm băm mật mã hoặc khóa liên kết với tệp, được lưu trữ trong vùng siêu dữ liệu. Trước đây, fs-verity chỉ khả dụng cho hệ thống tệp Ext4 và F2fs.

      Btrfs cũng bổ sung hỗ trợ ánh xạ ID người dùng cho các hệ thống tệp được gắn (trước đây được hỗ trợ cho các hệ thống tệp FAT, ext4 và XFS). Tính năng này cho phép bạn so sánh các tập tin của một người dùng cụ thể trên phân vùng nước ngoài được gắn với một người dùng khác trên hệ thống hiện tại.

      Những thay đổi khác đối với Btrfs bao gồm: bổ sung khóa nhanh hơn vào chỉ mục thư mục để cải thiện hiệu suất tạo tệp; khả năng hoạt động raid0 với một thiết bị và raid10 với hai thiết bị (ví dụ: trong quá trình cấu hình lại mảng); tùy chọn “rescue=ibadroots” để bỏ qua cây phạm vi không chính xác; tăng tốc hoạt động “gửi”; giảm xung đột khóa trong quá trình đổi tên; khả năng sử dụng các cung 4K trên hệ thống có kích thước trang bộ nhớ 64K.

    • Trong XFS, khả năng sử dụng ngày sau năm 2038 trong hệ thống tệp đã được ổn định. Đã triển khai cơ chế hủy kích hoạt inode bị trì hoãn và hỗ trợ cài đặt và xóa thuộc tính tệp bị trì hoãn. Để loại bỏ sự cố, khả năng vô hiệu hóa hạn ngạch đĩa cho các phân vùng đã được gắn đã bị loại bỏ (bạn có thể vô hiệu hóa mạnh mẽ hạn ngạch, nhưng quá trình tính toán liên quan đến chúng sẽ tiếp tục, do đó cần phải gắn lại để vô hiệu hóa hoàn toàn chúng).
    • Trong EXT4, công việc đã được thực hiện để tăng hiệu suất ghi bộ đệm delalloc và xử lý các tệp mồ côi tiếp tục tồn tại do chúng vẫn mở nhưng không được liên kết với một thư mục. Việc xử lý các hoạt động loại bỏ đã được chuyển ra khỏi luồng kthread jbd2 để tránh chặn các hoạt động bằng siêu dữ liệu.
    • F2FS đã thêm tùy chọn "discard_unit=block|segment|section" để liên kết các hoạt động loại bỏ (đánh dấu các khối được giải phóng có thể không còn được lưu trữ về mặt vật lý) để căn chỉnh liên quan đến một khối, khu vực, phân khúc hoặc phần. Đã thêm hỗ trợ để theo dõi những thay đổi về độ trễ I/O.
    • Hệ thống tệp EROFS (Hệ thống tệp chỉ đọc có thể mở rộng) bổ sung hỗ trợ I/O trực tiếp cho các tệp được lưu mà không nén, cũng như hỗ trợ fiemap.
    • OverlayFS thực hiện xử lý chính xác các cờ gắn kết "bất biến", "chỉ nối thêm", "đồng bộ hóa" và "noatime".
    • NFS đã cải thiện khả năng xử lý các tình huống trong đó máy chủ NFS ngừng phản hồi yêu cầu. Đã thêm khả năng gắn kết từ máy chủ đã được sử dụng nhưng có thể truy cập được thông qua một địa chỉ mạng khác.
    • Việc chuẩn bị đã bắt đầu cho việc viết lại hệ thống con FSCACHE.
    • Đã thêm hỗ trợ cho các phân vùng EFI với vị trí bảng GPT không chuẩn.
    • Cơ chế fanotify triển khai một cờ mới, FAN_REPORT_PIDFD, khiến pidfd được đưa vào siêu dữ liệu được trả về. Pidfd giúp xử lý các tình huống tái sử dụng PID để xác định chính xác hơn các tiến trình truy cập các tệp được giám sát (pidfd được liên kết với một quy trình cụ thể và không thay đổi, trong khi một PID có thể được liên kết với một quy trình khác sau khi quy trình hiện tại được liên kết với PID đó chấm dứt).
    • Đã thêm khả năng thêm điểm gắn kết vào các nhóm chia sẻ hiện có vào lệnh gọi hệ thống move_mount(), giúp giải quyết các vấn đề về lưu và khôi phục trạng thái quy trình trong CRIU khi có nhiều không gian gắn kết được chia sẻ trong các vùng chứa bị cô lập.
    • Đã thêm tính năng bảo vệ chống lại các điều kiện chạy đua ẩn có khả năng gây hỏng tệp khi thực hiện đọc bộ đệm trong khi xử lý khoảng trống trong tệp.
    • Hỗ trợ khóa tệp bắt buộc (bắt buộc), được thực hiện thông qua việc chặn các lệnh gọi hệ thống dẫn đến thay đổi tệp, đã bị ngừng. Do các điều kiện tranh đua có thể xảy ra, những khóa này được coi là không đáng tin cậy và không được dùng nữa từ nhiều năm trước.
    • Hệ thống con LightNVM đã bị loại bỏ, cho phép truy cập trực tiếp vào ổ SSD, bỏ qua lớp mô phỏng. LightNVM mất đi ý nghĩa sau khi các tiêu chuẩn NVMe cung cấp khả năng phân vùng (ZNS, Zoned Namespace) ra đời.
  • Dịch vụ bộ nhớ và hệ thống
    • Hệ thống con DAMON (Data Access MONitor) đã được triển khai, cho phép bạn giám sát hoạt động liên quan đến truy cập dữ liệu trong RAM liên quan đến quy trình đã chọn đang chạy trong không gian người dùng. Hệ thống con cho phép bạn phân tích vùng bộ nhớ nào mà quá trình đã truy cập trong toàn bộ hoạt động của nó và vùng bộ nhớ nào vẫn chưa được xác nhận. DAMON có tải CPU thấp, mức tiêu thụ bộ nhớ thấp, độ chính xác cao và chi phí không đổi có thể dự đoán được, không phụ thuộc vào kích thước. Hệ thống con có thể được sử dụng bởi cả kernel để tối ưu hóa việc quản lý bộ nhớ và các tiện ích trong không gian người dùng để hiểu chính xác quá trình đang thực hiện và tối ưu hóa việc sử dụng bộ nhớ, chẳng hạn như giải phóng bộ nhớ dư thừa cho hệ thống.
    • Lệnh gọi hệ thống process_mrelease đã được triển khai để tăng tốc quá trình giải phóng bộ nhớ của một quá trình hoàn thành quá trình thực thi của nó. Trong các trường hợp thông thường, việc giải phóng tài nguyên và chấm dứt quy trình không diễn ra ngay lập tức và có thể bị trì hoãn vì nhiều lý do, gây cản trở các hệ thống phản hồi sớm bộ nhớ trong không gian người dùng như oomd (do systemd cung cấp) và lmkd (được Android sử dụng). Bằng cách gọi process_mrelease, các hệ thống như vậy có thể kích hoạt việc lấy lại bộ nhớ từ các quy trình bắt buộc một cách dễ dự đoán hơn.
    • Từ nhánh hạt nhân PREEMPT_RT, nhánh phát triển hỗ trợ vận hành thời gian thực, các biến thể nguyên thủy để tổ chức khóa mutex, ww_mutex, rw_semaphore, spinlock và rwlock, dựa trên hệ thống con RT-Mutex, đã được chuyển giao. Các thay đổi đã được thêm vào bộ cấp phát bản SLUB để cải thiện hoạt động ở chế độ PREEMPT_RT và giảm tác động khi bị gián đoạn.
    • Hỗ trợ cho thuộc tính lập lịch tác vụ SCHED_IDLE đã được thêm vào cgroup, cho phép bạn cung cấp thuộc tính này cho tất cả các quy trình của một nhóm có trong một nhóm cụ thể. Những thứ kia. các quy trình này sẽ chỉ chạy khi không có tác vụ nào khác đang chờ thực thi trên hệ thống. Không giống như việc đặt thuộc tính SCHED_IDLE cho từng quy trình riêng lẻ, khi liên kết SCHED_IDLE với một nhóm, trọng số tương đối của các tác vụ trong nhóm sẽ được tính đến khi chọn một tác vụ để thực thi.
    • Cơ chế tính toán mức tiêu thụ bộ nhớ trong cgroup đã được mở rộng với khả năng theo dõi các cấu trúc dữ liệu hạt nhân bổ sung, bao gồm cả những cấu trúc được tạo để thăm dò, xử lý tín hiệu và không gian tên.
    • Đã thêm hỗ trợ lập lịch không đối xứng cho liên kết tác vụ với lõi bộ xử lý trên các kiến ​​trúc trong đó một số CPU cho phép thực thi các tác vụ 32 bit và một số chỉ hoạt động ở chế độ 64 bit (ví dụ: ARM). Chế độ mới cho phép bạn chỉ xem xét các CPU hỗ trợ tác vụ 32 bit khi lên lịch tác vụ 32 bit.
    • Giao diện I/O không đồng bộ io_uring hiện hỗ trợ mở tệp trực tiếp trong bảng chỉ mục tệp cố định mà không cần sử dụng bộ mô tả tệp, điều này giúp tăng tốc đáng kể một số loại hoạt động, nhưng đi ngược lại quy trình sử dụng bộ mô tả tệp truyền thống của Unix để mở tập tin.

      io_uring cho hệ thống con BIO (Lớp I/O khối) triển khai cơ chế tái chế mới (“tái chế BIO”), giúp giảm chi phí trong quá trình quản lý bộ nhớ trong và tăng số lượng thao tác I/O được xử lý mỗi giây lên khoảng 10% . io_uring cũng bổ sung hỗ trợ cho các lệnh gọi hệ thống mkdirat(), symlinkat() và linkat().

    • Đối với các chương trình BPF, khả năng yêu cầu và xử lý các sự kiện hẹn giờ đã được triển khai. Một trình vòng lặp cho các ổ cắm UNIX đã được thêm vào và khả năng nhận và đặt các tùy chọn ổ cắm cho setsockopt đã được triển khai. Trình kết xuất BTF hiện hỗ trợ dữ liệu đã nhập.
    • Trên các hệ thống NUMA có các loại bộ nhớ khác nhau có hiệu suất khác nhau, khi hết dung lượng trống, các trang bộ nhớ bị loại bỏ sẽ được chuyển từ bộ nhớ động (DRAM) sang bộ nhớ vĩnh viễn chậm hơn (Bộ nhớ liên tục) thay vì xóa các trang này. Các thử nghiệm đã chỉ ra rằng các chiến thuật như vậy thường cải thiện hiệu suất trên các hệ thống như vậy. NUMA cũng cung cấp khả năng phân bổ các trang bộ nhớ cho một quy trình từ một tập hợp các nút NUMA đã chọn.
    • Đối với kiến ​​trúc ARC, hỗ trợ cho bảng trang bộ nhớ ba và bốn cấp đã được triển khai, điều này sẽ cho phép hỗ trợ thêm cho bộ xử lý ARC 64-bit.
    • Đối với kiến ​​trúc s390, khả năng sử dụng cơ chế KFENCE để phát hiện lỗi khi làm việc với bộ nhớ đã được triển khai và hỗ trợ cho trình phát hiện điều kiện chủng tộc KCSAN đã được thêm vào.
    • Đã thêm hỗ trợ lập chỉ mục danh sách đầu ra tin nhắn qua printk(), cho phép bạn truy xuất tất cả các tin nhắn đó cùng một lúc và theo dõi những thay đổi trong không gian người dùng.
    • mmap() đã xóa hỗ trợ cho tùy chọn VM_DENYWRITE và mã hạt nhân đã bị xóa khỏi chế độ MAP_DENYWRITE, điều này đã làm giảm số lượng các tình huống dẫn đến việc chặn ghi vào tệp có lỗi ETXTBSY.
    • Một loại kiểm tra mới, “Thăm dò sự kiện,” đã được thêm vào hệ thống con theo dõi, có thể được đính kèm với các sự kiện theo dõi hiện có, xác định định dạng đầu ra của riêng bạn.
    • Khi xây dựng kernel bằng trình biên dịch Clang, trình biên dịch mã mặc định từ dự án LLVM hiện được sử dụng.
    • Là một phần của dự án loại bỏ lõi mã dẫn đến cảnh báo được trình biên dịch đưa ra, một thử nghiệm đã được thực hiện với chế độ “-Werror” được bật theo mặc định, trong đó các cảnh báo của trình biên dịch được xử lý dưới dạng lỗi. Để chuẩn bị cho bản phát hành 5.15, Linus bắt đầu chỉ chấp nhận những thay đổi không dẫn đến cảnh báo khi xây dựng kernel và cho phép xây dựng bằng "-Werror", nhưng sau đó đồng ý rằng quyết định như vậy là quá sớm và bị trì hoãn khi bật "-Werror" theo mặc định . Việc bao gồm cờ “-Werror” trong quá trình lắp ráp được kiểm soát bằng tham số WERROR, được đặt thành COMPILE_TEST theo mặc định, tức là. Hiện tại, nó chỉ được kích hoạt cho các bản dựng thử nghiệm.
  • Ảo hóa và bảo mật
    • Trình xử lý dm-ima mới đã được thêm vào Trình ánh xạ thiết bị (DM) với việc triển khai cơ chế chứng nhận từ xa dựa trên hệ thống con IMA (Kiến trúc đo lường tính toàn vẹn), cho phép dịch vụ bên ngoài xác minh trạng thái của hệ thống con hạt nhân để đảm bảo tính xác thực của chúng . Trong thực tế, dm-ima cho phép bạn tạo các kho lưu trữ bằng Trình ánh xạ thiết bị được liên kết với các hệ thống đám mây bên ngoài, trong đó tính hợp lệ của cấu hình mục tiêu DM đã khởi chạy được kiểm tra bằng IMA.
    • prctl() triển khai một tùy chọn mới PR_SPEC_L1D_FLUSH, khi được bật, sẽ khiến kernel xóa nội dung của bộ đệm cấp một (L1D) mỗi khi xảy ra chuyển đổi ngữ cảnh. Chế độ này cho phép, có chọn lọc đối với các quy trình quan trọng nhất, triển khai biện pháp bảo vệ bổ sung chống lại việc sử dụng các cuộc tấn công kênh bên được thực hiện để xác định dữ liệu đã được xử lý trong bộ đệm do các lỗ hổng gây ra bởi việc thực thi các hướng dẫn suy đoán trong CPU. Chi phí kích hoạt PR_SPEC_L1D_FLUSH (không được bật theo mặc định) là một hình phạt đáng kể về hiệu suất.
    • Có thể xây dựng kernel bằng cách bổ sung cờ “-fzero-call-used-regs=used-gpr” vào GCC, điều này đảm bảo rằng tất cả các thanh ghi được đặt lại về 20 trước khi trả lại quyền điều khiển từ hàm. Tùy chọn này cho phép bạn bảo vệ khỏi rò rỉ thông tin từ các chức năng và giảm XNUMX% số khối phù hợp để xây dựng các tiện ích ROP (Lập trình định hướng trả về) trong các lần khai thác.
    • Khả năng xây dựng nhân cho kiến ​​trúc ARM64 dưới dạng máy khách cho bộ ảo hóa Hyper-V đã được triển khai.
    • Khung phát triển trình điều khiển mới “VDUSE” được đề xuất, cho phép triển khai các thiết bị khối ảo trong không gian người dùng và sử dụng Virtio làm phương tiện truy cập từ hệ thống khách.
    • Đã thêm trình điều khiển Virtio cho bus I2C, giúp có thể mô phỏng bộ điều khiển I2C ở chế độ ảo hóa song song bằng cách sử dụng các chương trình phụ trợ riêng biệt.
    • Đã thêm trình điều khiển Virtio gpio-virtio để cho phép khách truy cập các dòng GPIO do hệ thống máy chủ cung cấp.
    • Đã thêm khả năng hạn chế quyền truy cập vào các trang bộ nhớ đối với trình điều khiển thiết bị có hỗ trợ DMA trên các hệ thống không có I/O MMU (đơn vị quản lý bộ nhớ).
    • Trình ảo hóa KVM có khả năng hiển thị số liệu thống kê dưới dạng biểu đồ tuyến tính và logarit.
  • Hệ thống con mạng
    • Mô-đun ksmbd đã được thêm vào kernel bằng việc triển khai máy chủ tệp bằng giao thức SMB3. Mô-đun này bổ sung cho việc triển khai ứng dụng khách SMB trước đây có sẵn trong hạt nhân và, không giống như máy chủ SMB chạy trong không gian người dùng, mô-đun này hiệu quả hơn về hiệu suất, mức tiêu thụ bộ nhớ và tích hợp với các khả năng hạt nhân nâng cao. Ksmbd được quảng cáo là tiện ích mở rộng Samba có hiệu suất cao, sẵn sàng nhúng, tích hợp với các công cụ và thư viện Samba khi cần. Các khả năng của ksmbd bao gồm hỗ trợ cải tiến cho công nghệ bộ nhớ đệm tệp phân tán (cho thuê SMB) trên các hệ thống cục bộ, có thể giảm đáng kể lưu lượng truy cập. Trong tương lai, họ có kế hoạch bổ sung hỗ trợ cho RDMA (“smbdirect”) và các phần mở rộng giao thức liên quan đến việc tăng độ tin cậy của mã hóa và xác minh bằng chữ ký số.
    • Máy khách CIFS không còn hỗ trợ NTLM và các thuật toán xác thực dựa trên DES yếu hơn được sử dụng trong giao thức SMB1.
    • Hỗ trợ multicast được triển khai trong việc triển khai cầu nối mạng cho vlan.
    • Trình điều khiển liên kết, được sử dụng để tổng hợp các giao diện mạng, đã bổ sung hỗ trợ cho hệ thống con XDP (eXpress Data Path), cho phép bạn thao tác các gói mạng ở giai đoạn trước khi chúng được xử lý bởi ngăn xếp mạng nhân Linux.
    • Ngăn xếp không dây mac80211 hỗ trợ 6GHZ STA (Ủy quyền tạm thời đặc biệt) ở chế độ LPI, SP và VLP, cũng như khả năng đặt TWT (Thời gian đánh thức mục tiêu) riêng lẻ ở chế độ điểm truy cập.
    • Đã thêm hỗ trợ cho MCTP (Giao thức truyền tải thành phần quản lý), được sử dụng để tương tác giữa bộ điều khiển quản lý và các thiết bị liên quan (bộ xử lý máy chủ, thiết bị ngoại vi, v.v.).
    • Tích hợp vào lõi của MPTCP (MultiPath TCP), một phần mở rộng của giao thức TCP để tổ chức hoạt động của kết nối TCP với việc phân phối các gói đồng thời dọc theo một số tuyến đường thông qua các giao diện mạng khác nhau được liên kết với các địa chỉ IP khác nhau. Bản phát hành mới bổ sung hỗ trợ cho các địa chỉ ở chế độ fullmesh.
    • Trình xử lý các luồng mạng được gói gọn trong giao thức SRv6 (IPv6 định tuyến phân đoạn) đã được thêm vào netfilter.
    • Đã thêm hỗ trợ sockmap cho ổ cắm phát trực tuyến Unix.
  • Оборудование
    • Trình điều khiển amdgpu hỗ trợ APU Cyan Skillfish (được trang bị GPU Navi 1x). APU Cá Chép Vàng hiện hỗ trợ codec video. Cải thiện hỗ trợ GPU Aldebaran. Đã thêm số nhận dạng bản đồ mới dựa trên GPU Navi 24 “Beige Goby” và RDNA2. Đề xuất cải tiến việc triển khai màn hình ảo (VKMS). Hỗ trợ theo dõi nhiệt độ của chip AMD Zen 3 đã được triển khai.
    • Trình điều khiển amdkfd (dành cho GPU rời, chẳng hạn như Polaris) triển khai trình quản lý bộ nhớ ảo dùng chung (SVM, bộ nhớ ảo dùng chung) dựa trên hệ thống con HMM (Quản lý bộ nhớ không đồng nhất), cho phép sử dụng các thiết bị có đơn vị quản lý bộ nhớ riêng (MMU) , đơn vị quản lý bộ nhớ), có thể truy cập bộ nhớ chính. Đặc biệt, sử dụng HMM, bạn có thể tổ chức một không gian địa chỉ dùng chung giữa GPU và CPU, trong đó GPU có thể truy cập vào bộ nhớ chính của tiến trình.
    • Trình điều khiển i915 dành cho thẻ video Intel mở rộng việc sử dụng trình quản lý bộ nhớ video TTM và bao gồm khả năng quản lý mức tiêu thụ điện năng dựa trên GuC (Bộ điều khiển vi đồ họa). Công tác chuẩn bị đã bắt đầu cho việc triển khai hỗ trợ cho card đồ họa Intel ARC Alchemist và GPU Intel Xe-HP.
    • Trình điều khiển mới triển khai điều khiển đèn nền cho bảng eDP bằng DPCD (Dữ liệu cấu hình cổng hiển thị).
    • Đã thêm hỗ trợ cho GPU Adreno 7c Gen 3 và Adreno 680 vào trình điều khiển msm.
    • Trình điều khiển IOMMU được triển khai cho chip Apple M1.
    • Đã thêm trình điều khiển âm thanh cho các hệ thống dựa trên APU AMD Van Gogh.
    • Trình điều khiển Realtek R8188EU đã được thêm vào nhánh dàn dựng, thay thế phiên bản cũ của trình điều khiển (rtl8188eu) cho chip không dây Realtek RTL8188EU 802.11 b/g/n.
    • Trình điều khiển ocp_pt được đưa vào bo mạch PCIe do Meta (Facebook) phát triển với việc triển khai đồng hồ nguyên tử thu nhỏ và bộ thu GNSS, có thể được sử dụng để tổ chức hoạt động của các máy chủ đồng bộ hóa thời gian chính xác riêng biệt.
    • Đã thêm hỗ trợ cho Sony Xperia 10II (Snapdragon 665), Xiaomi Redmi 2 (Snapdragon MSM8916), Samsung Galaxy S3 (Snapdragon MSM8226), điện thoại thông minh Samsung Gavini/Codina/Kyle.
    • Đã thêm hỗ trợ cho ARM SoС và NVIDIA Jetson TX2 NX Developer Kit, Sancloud BBE Lite, PicoITX, DRC02, SolidRun SolidSense, SKOV i.MX6, Nitrogen8, Traverse Ten64, GW7902, Microchip SAMA7, ualcomm Snapdragon SDM636/SM8150, Renesas R-Car H3e bo mạch -2G/M3e-2G, Marvell CN913x, ASpeed ​​​​AST2600 (bo mạch máy chủ Facebook Cloudripper, Elbert và Fuji), 4KOpen STiH418-b2264.
    • Đã thêm hỗ trợ cho màn hình LCD Gopher 2b, EDT ETM0350G0DH6/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030NA 3.0, ilitek ili9341, E Ink VB3300-KCA, Samsung ATNA33XC20 7430, Samsung DB2401, Widechip WSXNUMX .
    • Đã thêm trình điều khiển LiteETH có hỗ trợ cho bộ điều khiển Ethernet được sử dụng trong SoC phần mềm LiteX (dành cho FPGA).
    • Tùy chọn độ trễ thấp đã được thêm vào trình điều khiển âm thanh USB để kiểm soát việc đưa hoạt động vào chế độ độ trễ tối thiểu. Đồng thời thêm tùy chọn quirk_flags để vượt qua các cài đặt dành riêng cho thiết bị.

Đồng thời, Tổ chức Phần mềm Tự do Châu Mỹ Latinh đã hình thành một phiên bản kernel 5.15 hoàn toàn miễn phí - Linux-libre 5.15-gnu, loại bỏ các thành phần của chương trình cơ sở và trình điều khiển chứa các thành phần hoặc đoạn mã không tự do, phạm vi của chúng bị giới hạn bởi nhà sản xuất. Bản phát hành mới triển khai đầu ra của thông báo tới nhật ký về việc hoàn tất quá trình dọn dẹp. Sự cố khi tạo gói bằng mkspec đã được khắc phục, hỗ trợ cho gói snap đã được cải thiện. Đã xóa một số cảnh báo hiển thị khi xử lý tệp tiêu đề firmware.h. Cho phép xuất ra một số loại cảnh báo (“format-extra-args”, nhận xét, hàm và biến không được sử dụng) khi xây dựng ở chế độ “-Werror”. Đã thêm tính năng dọn dẹp trình điều khiển gehc-achc. Đã cập nhật mã dọn dẹp blob trong trình điều khiển và hệ thống con adreno, btusb, btintel, brcmfmac, aarch64 qcom. Việc dọn dẹp trình điều khiển lăng kính54 (đã xóa) và rtl8188eu (được thay thế bằng r8188eu) đã bị dừng.

Nguồn: opennet.ru

Thêm một lời nhận xét