Các phát hành phiên bản mới của SDL 2.0.22, phiên bản trong đó nhiều cải tiến khả năng tương thích với Wayland đã được thực hiện, cũng như nhiều cải tiến khác nhau và hơn thế nữa.
Đối với những người không quen thuộc với thư viện SDL, bạn nên biết rằng nó, cung cấp các công cụ như đầu ra đồ họa 2D và 3D được tăng tốc phần cứng, xử lý đầu vào, phát lại âm thanh, xuất 3D qua OpenGL / OpenGL ES và nhiều thao tác liên quan khác.
SDL tương tự như DirectX, mà người ta có thể tranh luận rằng tương tự của DirectX là OpenGL. DirectX cũng hoạt động với các thiết bị đầu vào và âm thanh. Khi Loki Software bắt đầu chuyển các trò chơi AAA trên Linux, họ đã thay thế Direct3D bằng OpenGL và không có thay thế cho bất kỳ thứ gì khác và vì ngày nay rất khó để viết các ứng dụng "X" ngay cả với WinAPI trên API X11, nhưng với DirectDraw trên WinAPI thì đã có một vấn đề, đó là cách SDL ra đời.
Các tính năng mới chính của SDL 2.0.22
Trong phiên bản mới này được trình bày, Cải tiến khả năng tương thích của giao thức Wayland, vì vậy ban đầu, nó đã được lên kế hoạch để chuyển sang sử dụng giao thức Wayland theo mặc địnhda trong các môi trường cung cấp hỗ trợ đồng thời cho Wayland và X11, nhưng do vấn đề liên quan tới Wayland trong trò chơi và trình điều khiển NVIDIA, nó đã được quyết định hoãn quá trình chuyển đổi (Trong môi trường Wayland với thành phần XWayland, đầu ra vẫn được sử dụng bằng giao thức X11.)
Để sử dụng Wayland, biến môi trường phải được đặt "SDL_VIDEODRIVER = wayland" trước khi khởi động ứng dụng hoặc thêm hàm 'SDL_SetHint (SDL_HINT_VIDEODRIVER, "wayland, x11")' vào mã trước khi gọi SDL_Init (). Việc biên dịch với Wayland yêu cầu ít nhất libwayland-client 1.18.0.
Một thay đổi khác nổi bật là đã thêm một tập hợp các chức năng để thao tác các khu vực hình chữ nhật (xác định sự xuất hiện của điểm, xóa, so sánh, hợp nhất, v.v.), hoạt động với tọa độ và kích thước dựa trên số dấu chấm động.
Đối với Linux, đã thêm cờ SDL_HINT_X11_WINDOW_TYPE để đặt thông số _NET_WM_WINDOW_TYPE trên Windows và cũng đã thêm cờ SDL_HINT_VIDEO_WAYLAND_PREFER_LIBDECOR để Linux sử dụng libdecor với các máy chủ tổng hợp hỗ trợ xdg-decoration.
Đối với Android, hàm SDL_AndroidSendMessage () được triển khai để gửi một lệnh tùy ý đến bộ điều khiển Java SDL.
Những thay đổi khác nổi bật:
- Đã thêm cờ SDL_HINT_QUIT_ON_LAST_WINDOW_CLOSE để cho phép phân phối sự kiện SDL_QUIT khi cửa sổ ứng dụng cuối cùng bị đóng.
- Đã thêm đặc điểm SDL_HINT_JOYSTICK_ROG_CHAKRAM để xử lý chuột ROG Chakram như một cần điều khiển.
Đã thêm hàm SDL_RenderGetWindow () để lấy cửa sổ được liên kết với Trình kết xuất SDL. - Đã thêm hàm SDL_IsTextInputShown () để kiểm tra xem vùng nhập văn bản có được hiển thị hay không.
- Đã thêm hàm SDL_ClearComposition () để xóa vùng nhập văn bản mà không tắt phương thức nhập (IME).
- Đã thêm sự kiện SDL_TEXTEDITING_EXT để xử lý các vùng nhập văn bản dài và cờ SDL_HINT_IME_SUPPORT_EXTENDED_TEXT để bật sự kiện này.
- Đã thêm cờ SDL_HINT_MOUSE_RELATIVE_MODE_CENTER để cho phép giới hạn chuột chỉ ở giữa cửa sổ thay vì toàn bộ cửa sổ khi chế độ tương đối được bật.
- Đã bật tính năng chụp chuột tự động khi nhấp vào các nút chuột. Thuộc tính SDL_HINT_MOUSE_AUTO_CAPTURE được đề xuất tắt.
Cuối cùng nếu bạn muốn biết thêm về nó của phiên bản mới này, bạn có thể kiểm tra chi tiết trong liên kết sau.
Làm thế nào để cài đặt Lớp DirectMedia Đơn giản trên Linux?
Việc cài đặt thư viện này trên Linux khá đơn giản vì hầu hết các bản phân phối Linux đều có nó trong kho của họ.
Trong trường hợp Debian, Ubuntu và các bản phân phối có nguồn gốc từ chúng, bạn sẽ chỉ phải chạy các lệnh sau trong một thiết bị đầu cuối:
sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev
Trong khi đối với trường hợp của những người bạnArch Linux suarios chúng ta chỉ cần chạy như sau:
sudo pacman -S sdl2
Trong trường hợp của những người là người dùng của Fedora, Centos, RHEL hoặc bất kỳ phân phối nào dựa trên chúng, họ chỉ cần chạy lệnh sau:
sudo yum install SDL2 sudo yum install SDL2-devel
Đối với tất cả các bản phân phối Linux khác, họ có thể tìm kiếm gói "sdl" hoặc "libsdl" để cài đặt hoặc tải xuống và biên dịch mã nguồn.
Họ làm điều này với:
git clone https://hg.libsdl.org/SDL SDL cd SDL mkdir build cd build ./configure make sudo make install