피드로 돌아가기
Hacker NewsHacker News
Infrastructure

Hobby OS Astral 내 Wine 포팅을 통한 32-bit Windows 게임 실행 환경 구축

Running Windows Games on a Hobby OS with Wine

2026년 6월 24일5advanced

Context

64-bit 전용 Hobby OS인 Astral에서 폐쇄 소스 기반의 32-bit Windows 게임을 실행하기 위한 환경 구축 필요성 대두. 기존 Wine 포트의 불완전성과 32-bit 바이너리 실행을 위한 커널 수준의 인프라 부재가 주요 병목 지점으로 작용.

Technical Solution

  • MinGW 도입을 통한 PE DLL 컴파일 환경 구축 및 Wine 기본 기능 활성화
  • Mesa의 xlib 백엔드 EGL 미지원 문제를 해결하기 위해 GPU 직접 통신이 가능한 DRI 백엔드로 전환 및 /dev/dri 없는 X.org 서버 시작을 위한 Mesa 패치 적용
  • 32-bit Unix 라이브러리 의존성을 제거하고 64-bit 프로세스 내에서 32-bit 바이너리를 실행하는 Wine WoW64 모드 도입
  • x86-64 Long Mode에서 32-bit 세그먼트 디스크립터를 정의하기 위한 커널 수준의 LDT(Local Descriptor Table) 지원 구현
  • PE-to-Unix 전환 과정에서 발생하는 Undefined Behavior 해결을 위해 __wine_unix_call_dispatcher 내 레지스터 저장 로직 수정

- 이기종 아키텍처 간 시스템 호출 변환 시 레지스터 보존 상태를 정밀하게 검증할 것 - 그래픽 스택 구축 시 API(EGL)와 백엔드(DRI/xlib) 간의 호환성 매트릭스를 우선적으로 확인 할 것 - 커널 수준의 메모리 세그먼트 제어가 필요한 경우 LDT와 같은 하드웨어 특성 지원 여부를 검토할 것

원문 읽기