요약:
Linux 커널 개발 팀은 새로운 HID 하위 시스템 업데이트 라운드를 개발 중인 Linux 7.4 커널에 병합했습니다. 이번 업데이트의 주요 특징 중 하나는 Nintendo Switch 2 컨트롤러에 대한 예비 드라이버 지원이 추가되었다는 것입니다. 관련 작업은 Valve를 대신하여 개발자 Vicki Pfau가 완료했습니다. 16차례의 패치 수정 끝에 마침내 Linux 메인라인 커널에 진입했습니다. 또한 새 버전에는 Pulsar 게이밍 마우스 드라이버가 추가되었으며 일부 AMD 프로세서, Apple Touch Bar 및 ASUS ROG Ally 휴대용 콘솔에 대한 하드웨어 지원이 향상되었습니다.


HID는 Human Interface Device의 약어로 키보드, 마우스, 게임 컨트롤러, 터치 기기 등 하드웨어의 입력 정보를 처리하는 역할을 주로 담당합니다. Linux 커널의 HID 하위 시스템은 다양한 제조업체의 장치를 식별해야 할 뿐만 아니라 다양한 장치의 고유한 통신 프로토콜을 처리해야 합니다. 게임 콘솔과 무선 컨트롤러가 점점 더 대중화됨에 따라 HID 드라이버를 개선하는 것은 Linux 게임 경험을 향상시키는 데 매우 중요합니다.
이번 가장 우려되는 변화는 Linux 7.4에 처음으로 Nintendo Switch 2 컨트롤러 전용 드라이버가 도입된다는 점입니다. 스위치 2의 컨트롤러는 상대적으로 특별한 인터페이스 설계를 채택합니다. 키 입력 및 진동 기능은 주로 HID 메인 인터페이스를 통해 처리되는 반면, 기타 통신 작업은 독립적인 구성 인터페이스를 통해 완료됩니다. USB 연결을 사용하든 Bluetooth 연결을 사용하든 이러한 분리된 설계는 드라이버 개발의 복잡성을 증가시킵니다.
이 문제를 해결하기 위해 새로운 드라이버는 마스터-슬레이브 분리 드라이버 구조를 채택했습니다. HID 인터페이스는 기본 입력 및 진동 관련 기능을 처리하는 주요 드라이버 역할을 합니다. 구성 인터페이스는 보조 드라이버 역할을 하며 필요한 장치 리소스를 기본 인터페이스와 공유합니다. 이 설계는 Switch 2 컨트롤러의 특수한 통신 구조에 적응할 수 있으며 향후 더 많은 기능을 추가할 수 있는 기반을 마련합니다.
현재 예비 드라이버는 닌텐도 스위치 온라인 서비스에서 조이콘 2, 프로 컨트롤러 2, 게임큐브 컨트롤러의 일반 입력 기능을 지원한다. 그러나 이것이 Switch 2 컨트롤러의 모든 기능을 Linux에서 완벽하게 사용할 수 있다는 의미는 아닙니다.
개발자들은 스위치 2가 비표준 페어링 인터페이스를 사용하고 Linux 커널의 기존 Bluetooth 통신 메커니즘에도 일정한 제한이 있기 때문에 여전히 커널과 사용자 공간 간의 전용 통신 인터페이스를 설계하고 BlueZ Bluetooth 프로토콜 스택에서 해당 적응을 완료해야 한다고 지적했습니다. 따라서 이번 합병은 주로 범용 HID 및 USB 구성 인터페이스 드라이버의 문제를 해결합니다. 블루투스 페어링 및 기타 고급 기능은 아직 개발이 필요합니다.
이 작업은 Valve를 대신하여 Vicki Pfau가 수행했다는 점에 주목할 필요가 있습니다. Valve는 오랫동안 Linux 게임 생태계 개발을 장려해 왔으며 SteamOS, Steam Deck, 업스트림 커널 및 그래픽 드라이버에 대한 기여를 통해 Linux 플랫폼에서의 게임 호환성을 향상시켰습니다. Nintendo의 차세대 게임 콘솔 컨트롤러 용 드라이버 개발은 관련 작업이 Valve의 자체 하드웨어 제품에만 국한되지 않음을 보여줍니다.
Nintendo 컨트롤러 외에도 Linux 7.4에는 Pulsar 브랜드의 여러 게임 마우스를 지원하기 위해 hid-pulsar라는 새로운 드라이버도 추가되었습니다. 테스트된 모델에는 X2 V2, X2H, X2A 및 Xlite V3 무선 게임 마우스가 포함됩니다. 새로운 드라이버는 배터리 전원, 배터리 전압, 충전 상태 등의 정보를 읽을 수 있으며 유선 연결은 물론 무선 수신기를 통한 1000Hz 및 4000Hz 폴링 속도의 연결 모드도 지원합니다.
이 드라이버는 Kysona M600, ATK 및 VXE의 R1 SE+, Dragonfly R1 Pro 및 기타 모델을 포함하여 동일한 통신 프로토콜을 사용하는 일부 다른 브랜드 제품과도 호환됩니다. 이는 통합 프로토콜 지원의 이점을 활용하면 Pulsar 브랜드가 아닌 일부 마우스도 해당 Linux 호환성을 얻을 수 있음을 의미합니다.
이 HID 업데이트는 또한 AMD Zen 6 아키텍처를 사용하는 새로운 Ryzen SoC에 대한 AMD 센서 퓨전 허브(SFH) 드라이버 지원을 확장합니다. SFH는 일부 센서 관련 기능을 처리하며 관련 하드웨어가 장착된 장치에서 사용할 수 있습니다. 새로운 지원은 차세대 AMD 프로세서가 장착된 향후 노트북이 해당 센서 기능을 더 잘 사용할 수 있도록 돕습니다. 그러나 특정 기능은 여전히 전체 하드웨어 구성에 따라 달라집니다.
Apple 기기의 경우 Linux 7.4에서는 Touch Bar의 전원 관리 문제를 해결합니다. ASUS ROG Ally 휴대용 콘솔도 전원 관리 수정 사항을 받았습니다. 이러한 변경 사항은 새로운 게임 컨트롤러 드라이버만큼 눈길을 끌지는 못하지만 다양한 장치에서 실행되는 Linux의 안정성을 향상시키는 데 도움이 될 것입니다.
일반적으로 Linux 7.4의 HID 하위 시스템 업데이트는 게임 컨트롤러와 마우스의 호환성 범위를 확장하는 동시에 기존 하드웨어의 전원 관리 문제를 해결하는 데 중점을 둡니다. Nintendo Switch 2 컨트롤러 드라이버의 합병은 차세대 Nintendo 컨트롤러를 사용하는 Linux 사용자에게 기본 지원을 제공한다는 점에서 특히 주목할 만합니다. 그러나 아직은 예비 단계이고, 블루투스 페어링 및 일부 고급 기능이 아직 완성되지 않았으며, 최종 경험은 후속 커널 및 사용자 공간 소프트웨어의 지속적인 개선에 달려 있습니다.
댓글