Wine이 OpenBSD로 포팅됐습니다

Wine ported to OpenBSD

marc.info ▲ 494 댓글 164 iamnothere

요약

OpenBSD용 Wine 포트가 공개돼 64비트 윈도 프로그램 대부분이 돌아갑니다.

OpenBSD 개발자 토머스 프로와인이 openbsd-ports 메일링 리스트에 Wine(윈도 프로그램을 다른 운영체제에서 실행하게 해 주는 호환 계층) 포트 초안을 올리고 커밋 승인을 요청했습니다. 안드리와 파비앵이 핵심 작업을 맡은 공동 작업의 결과입니다.

왜 중요한가

  • OpenBSD 사용자가 다른 운영체제를 거치지 않고 윈도 프로그램과 게임을 직접 돌릴 길이 열립니다.
  • Direct3D 12를 쓰는 최신 3D 게임까지 돌아가 실험 수준을 넘어선 포트라는 점을 보여 줍니다.

핵심 내용

  • 64비트 윈도 프로그램 수십 개를 시험해 대부분 제대로 동작했다고 합니다.
  • The Witcher 3 리마스터는 vkd3d-proton(Direct3D 12 호출을 Vulkan으로 바꿔 주는 계층)을 더하면 잘 돌아갑니다.
  • OpenBSD에서는 gsbase를 직접 설정할 수 없어 명령어의 %gs 접두사를 소프트웨어로 흉내 내 우회했습니다.
  • WoW64(64비트 환경에서 32비트 프로그램을 돌리는 장치)를 지원하지 않아 32비트 프로그램은 실행되지 않습니다.
  • unveil(2)로 격리하는 방법을 찾기 전까지는 권한 없는 별도 계정에서 실행하라고 권했습니다.

HN 반응

  • Disco Elysium, Death Stranding 등이 실제로 돌아가는 영상이 공유됐고, 리눅스에서 가져온 AMD·인텔 그래픽 드라이버 덕분이라는 설명이 이어졌습니다.
  • 후속 메일에 따르면 Wine 관리자들이 OpenBSD 패치를 받기 꺼려 당분간 OpenBSD 쪽이 직접 유지해야 한다는 아쉬움도 나왔습니다.

댓글

30개 표시 · 전체 164개
  1. haunter HN

    게임 플레이 영상

    Disco Elysium https://video.gamerstavern.online/w/qYjXr8dBauynzvEquJ7cP4

    Hollow Knight https://video.gamerstavern.online/w/8tjjFRDtGJQZwxfE4ojVoC

    Prey 2017 https://video.gamerstavern.online/w/vNxVThRcpijbT9FAQPcKdz

    Death Stranding https://video.gamerstavern.online/w/rzz2TLCxcmneHsydukAFLU

    Witcher 3 Remastered https://video.gamerstavern.online/w/oZcTRKL5JMiU4M4FqGKcNH

    레딧 글에 따르면 사양은 이렇습니다.

    AMD Ryzen 9 9900X, RAM 16GB, AMD Radeon RX 9070

  2. Maken HN

    VKD3D가 별 설정 없이 바로 돌아간다니 정말 놀랍네요. 추상화 계층이 이렇게 겹겹이 쌓여 있으면 무너지기 직전의 젠가 탑 같거든요.

  3. qalmakka HN

    Vkd3d는 PE 실행 파일입니다. wine이 돌아가고 Vulkan이 돌아가면, 필요한 확장 기능만 있는 한 이것도 돌아갑니다.

  4. braiamp HN

    Vulkan을 대상으로 만든 거라서, BSD에 Vulkan 드라이버만 있으면 운영체제와는 상관없이 동작합니다.

  5. nottorp HN

    와, OpenBSD에 3D 하드웨어 드라이버가 있어요? 오픈소스 드라이버만 있고 공식 드라이버는 없겠죠?

  6. brynet HN

    네, 곧 나올 OpenBSD 8.0 릴리스에는 Linux 6.18.y/6.18.53에서 가져온 inteldrm/radeondrm/amdgpu 드라이버가 들어갑니다.

    https://bsd.network/@brynet/117407035545900963

  7. bentley HN

    맞습니다. 그 버전들이 다음 릴리스에 들어갈 버전입니다.

    OpenBSD를 잘 모르는 분들을 위해 덧붙이면, 가속이 되는 amdgpu 드라이버는 2019년부터 있었고 inteldrm/radeondrm은 그보다 몇 년 더 오래되었습니다. 그동안 Linux stable 버전을 대체로 꾸준히 따라왔습니다.

  8. daneel_w HN

    > ... 그보다 몇 년 더 오래되었습니다 ...

    "몇 년"이 아니라 아주 오래전부터입니다. 초기 GTX 모델까지의 구형 Nvidia GPU를 위한 nv(4) 드라이버도 포함해서요.

  9. brynet HN

    nv(4)는 구형 장치를 위한 예전 2D 사용자 모드 설정 X 드라이버(DDX)입니다.

    OpenBSD에는 nvidia용 kms drm도, 3D 가속도 없습니다.

  10. Melatonic HN

    성능은 어떤가요?

  11. daneel_w HN

    제 생각엔 쓸 만합니다.

  12. Maken HN

    Intel과 AMD는 오픈소스 드라이버가 공식 드라이버입니다.

  13. asveikau HN

    Linux의 오픈소스 드라이버를 포팅해 오는 겁니다. FreeBSD도 그렇게 하고, 다른 BSD도 그럴 수 있고요.

    시간이 지나면 주기적으로 차이가 벌어지고 드라이버가 낡아지다가 다시 동기화되긴 하지만, 대개는 꽤 잘 돌아갑니다.

  14. nottorp HN

    듣고 보니 당연한 얘기네요. 제가 BSD 초보라는 게 티가 나네요 :)

  15. asveikau HN

    또 재미있는 이야기가 있는데, FreeBSD에서는 Nvidia가 자사의 독점 바이너리 드라이버를 직접 포팅해서 제공합니다. 사용자 모드 쪽은 cuda를 지원하지 않지만, 저는 FreeBSD 커널 위에서 cuda를 돌릴 수 있는 Linux 에뮬레이터 컨테이너를 성공적으로 돌렸습니다. 그렇게 FreeBSD에서 LLM을 돌리고 있습니다.

    다만 이건 FreeBSD 이야기이고 OpenBSD는 아닙니다. 우선순위가 너무 달라서 OpenBSD에서는 상상이 안 되네요.

  16. Onavo HN

    그럼 가장 어려운 게임인 Microsoft Office는요?

  17. nomel HN

    그건 Wine이 Windows로 포팅될 때까지 기다려야 해요!

  18. spl757 HN

    뭐야 ㅋㅋ

  19. ahartmetz HN

    Age of Empires를 해 보세요. 메뉴가 똑같은 매력이 있거든요.

    (화면 구성이 너무 딱딱해서 저는 아예 안 했어요. 정말 좋은 게임이라고들 하는데, MS Office 하는 기분이 들어서 도저히 못 하겠더라고요.)

  20. wolrah HN

    90년대 중반 Microsoft 게임들에는 그런 시기가 있었습니다. 당시에는 "DOS로 나가서 해야 최고의 게임 경험을 얻는다"는 분위기와 경쟁하고 있었기 때문에, 자사 게임을 하는 동안 Windows에서 돌아가고 있다는 사실을 일부러 알아차리게 만들었죠. 초기 Age of Empires 게임들 말고도, "Madness" 시리즈 레이싱 게임들이 여러 개발사마다 같은 발상을 저마다 다르게 풀어낸 것도 기억납니다. 저도 며칠 전에 Monster Truck Madness 1을 다시 설치했는데, 바로 이런 이유 때문에 쓸 만한 경험이 되도록 이것저것 손보면서 해 보고 있습니다. 게임 자체는 잘 돌아가지만, UI가 이상한 동작을 많이 합니다. Windows 9x에 저해상도 CRT 모니터였다면 괜찮았을지 몰라도 요즘 시스템에서는 몹시 거슬립니다.

  21. blablabla123 HN

    저는 Linux에서 AoE I(Definitive Edition)을 아주 재미있게 하고 있어요. Office처럼 보이진 않던데요 ;) 그래도 WINE에서 돌리기가 까다로운 건 맞아요. 제가 쓰는 Proton에서는 기억하기로 기본 설정만으로 돌아갔고요.

  22. nxobject HN

    에이, 요즘 Excel은 GPU 가속 연산 엔진도 있다고요.

  23. t-3 HN

    https://marc.info/?l=openbsd-ports&m=179241414029592

    상류(upstream)에 병합되는 건 많지 않을 것 같습니다. 우리가 한 업데이트 중 상당수는 기술적으로 다른 OS에서도 돌아갈 수 있습니다(%gs 스텁은 Linux에서는 %gs가 제대로 설정되어 있어서 빌드되지 않을 것이고, SIGUSR1은 동작은 하지만 덜 최적일 것이고, 등등). 하지만 저는 OpenBSD용으로 한 작업은 전부 OpenBSD 전용으로 표시하는 방식을 택했습니다. 작업하는 동안 제 일을 단순하게 하고 변경 사항을 분명히 구분하려는 순전히 그 이유에서였습니다.

    한 달 전에 Wine 메인테이너들과 이야기했을 때, 그들은 OpenBSD에서 컴파일되도록 Wine을 패치하는 것조차 받아들이기를 주저했습니다. 대부분 지원하고 계속 동작하게 유지해야 할 OS가 하나 더 늘어나기 때문이고, %gs 스텁 수정은 그들이 절대 상류에 받아들일 수 없는 것입니다. "에뮬레이션되는" 애플리케이션 코드를 바꾸는 것은 무엇이든 받아들이기를 매우 꺼립니다.

  24. iamnothere HN

    네, 안타깝지만 당분간은 OpenBSD 메인테이너들이 이걸 계속 유지해야 할 겁니다. NetBSD도 비슷한 처지인 것 같습니다. 패치가 너무 갈라지지 않는다면 언젠가 두 쪽의 노력을 합칠 수도 있겠죠.

  25. RunSet HN

    OpenBSD가 슬롭 코드의 피난처가 되어 가는 지금이라 더욱 반가운 소식이네요.

    https://marc.info/?l=openbsd-tech&m=177411620801633&w=2

  26. greyw HN

    OpenBSD는 아마 더 뒤처지겠네요.

  27. vdombr HN

    그러게요, cp랑 mv를 Rust로 다시 짤 기회가 없겠네요.

  28. Krssst HN

    LLM이 만든 코드가 들어간 OS(Linux 같은)는 이미 있잖아요. 안 들어간 OS가 몇 개쯤 있는 것도 괜찮죠.

  29. frumplestlatz HN

    괜찮긴 합니다. 하지만 이미 틈새인 운영체제가 LLM의 이점을 활용하기를 거부한다면 점점 더 뒤처질 수밖에 없습니다. 90년대부터 BSD에 꾸준히 기여해 온 사람으로서, 그런 일은 보고 싶지 않습니다.

    슬롭 문제는 아주 현실적입니다. 사람들이 쏟아내는 질 나쁜 코드는 사람이든 LLM이든 치우는 속도보다 더 빨리 엔트로피를 만들어 냅니다. LLM 활용의 모범 사례는 아직 분명하지 않고, 코드 품질과 사람의 이해를 유지하면서 LLM을 어떻게 가장 잘 쓸지 우리는 아직 찾아가는 중입니다.

    ... 그렇지만 우리가 원하든 원하지 않든 LLM은 옵니다. 모델은 꾸준히 좋아지고, 슬롭도 점점 나아지고, 사람만으로 하는 개발은 따라가기 벅차질 겁니다.

    저는 본업에서 Astra+Ultramax로 엄청난 양의 토큰을 돌려 Lean 4 문제를 풀고 있습니다. 사람이 하려면 엔지니어링 비용이 엄청나서 예전에는 시도조차 하지 못했을 문제들입니다. 우리는 상위 수준의 보조정리(lemma)만 검토하고 나머지 증명은 맡깁니다.

    수십 년 동안 제가 본 것 중에 주류 운영체제와 틈새 운영체제 사이의 기능과 사용성 격차, 즉 소프트웨어 지원, 기능, 드라이버, 그 밖의 폭넓은 사용성 장벽을 마침내 메울 수 있는 해법은 LLM뿐입니다. 이 모든 것은 예나 지금이나 훨씬 작은 개발자 커뮤니티가 감당하기에는 너무 큰 일이었습니다.

    AI를 싫어한다고 AI가 사라지지는 않습니다.

  30. margalabargala HN

    그런데 "뒤처진다"는 게 정확히 무슨 뜻인가요?

    지난 10년간 Linux가 얼마나 나아갔고 얼마나 안 나아갔는지 생각해 보세요. 사용자 경험은 좋아졌고, 드라이버도 "그냥 되는" 경우가 늘었고, 지원하는 것도 많아졌죠. 하지만 결국 실제 컴퓨팅 경험은 제가 2016년에 Debian을 설치했을 때와 대체로 같습니다. 좋아진 건 다듬어진 완성도, 상호 운용성 같은 것들이에요.

    VR이 뜨고 데스크톱을 장악해서 OpenBSD가 그걸 따라가지 못하게 될 수도 있겠지만, 그럴 가능성은 낮다고 봅니다. 그럼 도대체 무엇을 "따라가야" 한다는 건가요?

Hacker News에서 보기 ↗