
Raven은 리눅스에서 윈도우 앱의 설치 파일을 직접 실행하는 호환 런타임이다. 앱마다 별도의 prefix를 사용하며, 지원하는 설치 프로그램은 스냅샷을 시도해 만든다. 다만 스냅샷 생성은 실패할 수 있으므로 되돌리기에 의존하기 전 체크포인트가 실제로 있는지 확인해야 한다.
가상 머신이 게스트 운영체제를 부팅하는 방식과 달리, Raven은 윈도우 프로그램의 .exe를 CPU에서 직접 실행하고 감독 대상 게스트 프로세스로 관리한다. 일부 윈도우 기능은 프로세스 안의 Raven 구성요소나 라이브러리에서 처리하고, 프로세스·핸들·파일·레지스트리를 관리하는 서비스 요청은 런타임으로 전달해 리눅스 호스트 접근을 중개한다.
Raven은 윈도우 설치 프로그램의 사용자 지정 작업, WinSxS를 통한 병렬 어셈블리, 서비스 관리자 인터페이스를 구현한다. 공식 재배포 패키지는 윈도우에서처럼 기존 설치 프로그램으로 설치할 수 있으며, 대상은 Visual C++ 2005~2022, DirectX, .NET Framework 3.5와 4.8, XNA, OpenAL이다. Raven은 설치 중 자체 시스템 라이브러리를 보호한다고 설명한다. 그래픽은 Wayland와 Vulkan으로 전달하고 Direct3D에는 DXVK와 vkd3d-proton을 사용한다.
실행과 설치 호환성은 앱별로 확인해야 한다. 테스트를 거친 앱은 제작사 설치 프로그램으로 설치할 수 있지만, 다른 앱은 설치나 실행에 실패할 수 있다. 체크포인트를 만들고 확인한 뒤 변경하는 것이 안전하다.
같은 기기에서 소프트웨어 Vulkan을 사용해 측정한 예비 결과는 다음과 같다. ClassiCube는 고정된 월드 시드를 사용해 네 차례 번갈아 측정했다. 시간 측정은 짧을수록, 프레임률은 높을수록 좋다.
| 테스트 | Raven | Wine 11.0 | Soda 11.0-32 |
|---|---|---|---|
| 즉시 종료되는 프로그램의 시작 시간 | 0.04초 | 3.70초 | 0.71초 |
| 800만 행 SQLite 쿼리(프로세스 시작 포함) | 1.61초 | 5.32초 | 2.27초 |
| DXVK를 통한 Direct3D 11 프레임률(2,000프레임) | 2,392fps | 1,819fps | 1,683fps |
| ClassiCube 싱글플레이어 Direct3D 11 | 71.5fps | 63.0fps | 63.0fps |
| Notepad++ 주 창이 나타날 때까지 걸린 시간 | 0.73초 | 0.94초 | 0.95초 |
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요