Virtualbox에 ubuntu 22.04를 설치해보던중 커널패닉 오류를 경험했습니다.

 

그래서 찾아보니..

 

https://askubuntu.com/questions/1408595/kernel-panic-in-virtual-box-6-1-32

 

kernel panic in virtual box 6.1.32

I'm having a kernel panic in vbox 6.1.32, with ubuntu 18.04. W11 21H2 build 20000.675 I tried the "Try ubuntu only without installation" option but it doesn't reach any prompt (#). I rese...

askubuntu.com

프로세서를 2개 이상으로 하라고 하는군요.

 

그래서 혹시나 하고 22.04를 싱글코어 컴퓨터(아주 오래된 녀석입니다.)에 부팅시켜보니 안 되네요.

 

 

이젠 듀얼 코어가 기본스펙이 되어서 싱글코어에선 돌아가지 않나 봅니다.

,

MSI 노트북에는 MSI Dragon Center 라는 프로그램을 제공합니다. 전반적인 MSI노트북의 설정을 할 수 있게 해주는 도구입니다.

 

하지만... MSI Dragon Center는 윈도우 프로그램입니다. 리눅스에는 해당사항이 없다는 것이지요. 그런데 팬속도 조절이나 LED 조절 같은 것을 리눅스에서 하고 싶었던 분들이 있었나 봅니다.

 

그래서 ISW라는 프로그램이 만들어 졌습니다.

https://github.com/FaridZelli/ISW-Modern

 

GitHub - FaridZelli/ISW-Modern: Modern fork of Ice-Sealed Wyvern, a fan control service for MSI Laptops on Linux written in Pyth

Modern fork of Ice-Sealed Wyvern, a fan control service for MSI Laptops on Linux written in Python - GitHub - FaridZelli/ISW-Modern: Modern fork of Ice-Sealed Wyvern, a fan control service for MSI ...

github.com

저 링크는 ISW-Modern이라고 되어 있는데 본래 ISW라는 프로그램이 있었으나 개발이 중단되어 Fork된 프로젝트 입니다.

 

본래는 https://github.com/YoyPa/isw 여기서 제작되고 있었지만 2019년에 중단 되었기에 ISW-Modern이라고 이름이 된 것이지요. ISW라는 이름도 특이합니다.

그냥 MSI를 거꾸로 적은 것입니다. 그래놓고 대충 이름을 끼워맞춘 것이지요. (Ice-Sealed Wybern 이라고 하는데...얼음으로 둘러싼 와이번...?)

 

설치도 우분투는 간단합니다.

https://github.com/FaridZelli/ISW-Modern/releases

 

Releases · FaridZelli/ISW-Modern

Modern fork of Ice-Sealed Wyvern, a fan control service for MSI Laptops on Linux written in Python - FaridZelli/ISW-Modern

github.com

그냥 여기서 deb 다운로드 받아 설치하면 됩니다. 그리고 컨트롤은 터미널에서 합니다.

 

팬컨트롤을 하기 위해서 이것저것 작업이 필요합니다만 저는 단순히 Cooler Boost 기능만을 쓰려고 합니다. 게이밍 노트북 특성상 소음보다는 냉각이 더 중요하거든요.

 

sudo isw -b on

 

이 명령이면 Cooler Boost 명령이 들어가면서 팬이 최고 속도로 돌아가게 됩니다. 게임할때 매우 좋습니다. 

특히 Nvidia칩셋의 온도센서가 이상하리만큼 잡히지 않는데 그냥 게임 돌리기 전에 이 명령 먹이고 돌리면 만사가 편해집니다.

 

끌때는 

 

sudo isw -b off

 

이외에도 Profile기능과 LED 기능이 있지만 제 노트북은 LED 기능이 단순한 녀석이다보니 먹히지 않는군요.

 

아 참고로 Secure Boot는 해제해주셔야 해당 프로그램이 먹힙니다. 보통 리눅스를 설치한다면 해제하는게 일반적이지만 가끔 해제 안하고 쓰시는 분들이 많아서 미리 말씀드립니다.

 

P.S Cooler Boost를 켜니까 무슨 비행기 이륙하는 소리가 나네요..어우...

,

나도 참 희한하게 살았구나라는 생각이 듭니다.

우분투라는 녀석을 쓰게 된 계기도 특이한데 학교에서 이런저런 과제로 USB메모리를 쓰다가 집까지 바이러스가 들어오게 되었고 그것도 Virut.C라는 악질이 들어와서 모든 파일을 못 쓰게 만드는 일이 일어났습니다.

다행히 과제들과 자료들은 어찌저찌 백업되어있어서 살렸지만 이미 컴퓨터에 들어온 Virut의 박멸방법은 오직하나더군요. 모든 파일을 폐기해서 더 큰 피해를 막을것.
Virut은 모든 파일을 감염시키기 때문에 해당컴퓨터의 파일을 폐기하지 않으면 계속 남아있습니다.

그래서 이왕 깨끗하게 밀어버린는거 Windows대신 바이러스 걱정없는(실제로는 결국 이쪽도 보안관련으로 고생중이지만)리눅스로 넘어가기로 하고 그 중 가장 쉽다는 우분투를 선택했습니다. 당시 버전이 우분투 8.04라는 우분투 역사상 최고의 안정성을 보여준 버전이었습니다.

덕분에 우분투자체에 만족하면서 쓰다가(만약 9.10을 처음 접했다면 바로 접었을겁니다.) 역시 Windows가 필요하게 되서 가상머신도 돌리고 멀티부팅도하면서 썼는데 당시 인터넷은 ActiveX도배라서 인터넷하나 하는데도 고생을 엄청했습니다.

그나마 IEs4Linux라는게 있어서 IE를 쓸 수 있다는거에 만족해야했던 시절이었습니다.

그래서 Wine으로 이것저것 시도를 많이했고 아프리카TV를 보는데 성공하거나 한글2007을 돌리거나 하면서 노하우를 공유하고자 블로그를 시작했습니다.
이당시 삽질이 와닿지 않지만 그때 참 누군가에게 도움이 되길 바라면서 열심히 했었습니다.

요즘은 그렇게 힘들던 게임도 스팀덕에 어지간하면 돌아가고 MS Office는 별 힘 안들이고 쓸 수 있는 등 Wine과 그 파생의 발전이 눈부시게 빨라졌네요. 참고로 제 PC는 Windows 가상머신이 가끔 켜지고 대부분은 리눅스만으로 처리합니다.

이 정도로 리눅스가 편리해진 탓인지 그 때만큼 화려한 삽질이 덜하게 되었고 점점 포스팅이 늦어지고 있습니다. 언젠가는 여기있던 삽질들도 추억이 되는 날이 오겠지요.

,

리눅스에서 스팀게임 글 올린지 얼마나 됐다고 바로 특정 게임 삽질기를 하나 더 올립니다. 이쪽은 생각지도 못한 일이 일어났습니다.
https://www.youtube.com/watch?v=5o4h4bbk4yw


자그마치 스팀덱에서 DJMAX Respect V 가 실행된다는 것입니다. 그동안 XineCode때문에 실행이 안 됐었는데 Xinecode측에서 수정한건지 아니면 네오위즈에서 수정한것인지 스템덱에서 윈도우 설치 없이 잘 된다고 합니다.

그렇다면 일반 리눅스 PC에서도 잘 되지 않을까 싶은데.... 한번 테스트 해봤습니다.

...결론부터 말씀드리자면 2022년 6월 현재 그냥 Proton으로는 실행이 안 되고 GE-proton이라는 커스텀 버전의 Proton을 설치해야 실행이 잘 됩니다.

GE-proton의 설치방법은
https://github.com/GloriousEggroll/proton-ge-custom/releases

 

Releases · GloriousEggroll/proton-ge-custom

Compatibility tool for Steam Play based on Wine and additional components - GloriousEggroll/proton-ge-custom

github.com

여기서 GE-proton의 tar.gz파일을 다운받습니다. 이쪽은 업데이트가 잦으므로 최신판일 수록 좋습니다.

그리고 우분투를 비롯한 리눅스에서 숨김파일을 보이게 합니다. 단축키는 보통 Ctrl+H 입니다.
그리고 .steam 폴더를 찾아 들어갑니다. (스팀이 설치 되어 있을 때 설치가 안 되어 있다면 한번 설치하고 로그인까지 해두시면 됩니다.)

compatibilitytools.d 라는 폴더를 만들거나 이미 있다면 해당 폴더로 들어갑니다.

그리고 여기에 아까 다운로드 받은 GE-proton의 압축을 풉니다.

그러면 compatibilitytools.d/GE-proton-X-XX 형태의 폴더가 만들어 질 것입니다. 그리고 스팀을 다시 껐다가 켭니다. 정 모르겠으면 그냥 컴퓨터를 껐다 켭시다

그리고 스팀을 켜고 라이브러리에서

DJMAX RESPECT V의 오른쪽 버튼을 눌러 속성에 들어갑니다.

그리고 호환탭에 들어가면 강제로 Steam 플레이 호환도구 사용하기를 체크하시면 GE-Proton을 선택할 수 있게됩니다.

이제 DJMAX를 실행하면 깨끗하게 실행이 됩니다!!!!

스팀덱이후로 리눅스 게이밍이 상당히 좋아지네요...

22.07.25
Proton-GE를 굳이 설치하지말고 스팀에서 Proton 7.0이상을 쓰면 아무 문제없이 실행됩니다.

이제 더 이상의 삽질은 없습니다. 그냥 DJmax를 설치하고 실행버튼만 누르면 끝입니다.

 

====22.09.21========

 

성능이슈가 있어서 이리저리 돌려보다가 알아냈습니다. 조금이라도 성능을 뽑아내기 위한 설정법입니다.

 

우선 스팀에서 DJMAX RESPECT V에 속성으로 들어갑니다.

그리고 시작옵션에 다음과 같이 적습니다.

 

DXVK_FRAME_RATE=60 %command% -force-d3d12 

 

이렇게 하면 48프레임 나오던것이 52프레임정도로 조금 상승합니다. 이 성능문제는 안티치트가 문제라고 하는데 안티치트를 해제할 수가 없으니 억지로 성능을 끌어올리는 방법입니다. 물론 성능이 좋다면 DXVK_FRAME_RATE를 조정해주셔도 됩니다. 게임내에 프레임고정기능이 있지만 사실상 정상적으로 작동하지 않아서 사용하는 방법입니다.

 

23. 7. 16 성능이슈가 해결되었습니다

원인은 정확히 모르지만 NTUserDisplayConfig 함수가 문제였습니다

기존에는 User32에 함수를 했는데 User32가 아닌 win32u에 들어있는 함수를 사용해야 정상적으로 된다는군요.

 

https://github.com/ishitatsuyuki

 

ishitatsuyuki - Overview

Low level plumber & diver. ishitatsuyuki has 159 repositories available. Follow their code on GitHub.

github.com

이분이 해결해 주셨습니다. 일본인 같은데 드라이버레벨에서 이걸 잡아주셨네요

https://gitlab.winehq.org/wine/wine/-/merge_requests/2957

 

win32u: Move QueryDisplayConfig from user32. (!2957) · Merge requests · wine / wine · GitLab

This allows access to the in-process cached monitor list and reduces the number of registry calls issued for QueryDisplayConfig (in case of no change) from 4 x monitors...

gitlab.winehq.org

해당 Wine 패치입니다. Wine8.0에서 적용이 가능하며 그에 따라 Steam의 Proton 8.0에서도 적용이 가능합니다

 

 

https://drive.google.com/file/d/1XCMXRoN2mZVY8YSIZ_KWprZM6IS77s02/view?usp=sharing

 

ge-proton-8-djmax.tar.gz

 

drive.google.com

그래서 GE-Proton에 해당 패치를 적용해서 배포합니다. 

다만 glibc의 버전이 2.37이상에서 작동될겁니다. (제가 사용하는 환경(Debian unstable)에서 컴파일 하다보니 그렇게 됐습니다.) 일단 위의 방법대로 compatibilitytools.d 폴더에 압축을 푸는 방식으로 설치하시고 강제로 호환성 체크를 해주세요.

 

아마도 해당 패치가 머지가 될것으로 보이니 이후에 정식 업데이트된 후에는 정상적인 게임이 가능할 겁니다.

,

스팀은 Proton이라는 윈도우 호환레이어를 제공하고 있어서 리눅스에서도 쉽게 윈도우 전용 게임을 실행 할 수 있습니다. 그리고 문제가 되었던 안티치트도 유명한 Battleye나 EAC에 한해서 지원이 되고 있습니다. 

 

하지만 역시 Proton도 Wine이기에 Wine처럼 삽질이 필요합니다.

 

특정 게임의 경우 일부 옵션을 건들거나 특정 버전을 사용해야 하는 경우가 많습니다. 대부분은 ProtonDB(https://www.protondb.com/)를 검색하면 다 나옵니다만 영어가 안 되시는 분들이나 삽질이 이해가 안 되시는 분들이 있다보니 몇몇 게임에 한해서 제가 했던 것을 공유합니다.

 

1. Muse Dash

특이하게도 구버전의 Proton을 써야만 제대로 돌아가는 게임입니다. Unity엔진들은 대부분 최신 버전에서 더 잘돌아가는데 이쪽은 좀 다르더군요.

스팀 라이브러리에서 Muse Dash의 속성으로 들어가자

스팀 라이브러리에서 Muse Dash의 오른쪽 버튼을 눌러서 속성으로 들어갑니다.

호환탭에서 강제로 특정 Steam 플레이 호환도구 사용하기를 누르고 Proton 6.3을 선택하시면 Proton 6.3이 다운로드 되면서 Muse Dash가 정상적으로 실행이 됩니다. 아마도 Wine의 특성상 일부 API의 기능이 바뀌면서 잘 되던것이 안 되는 일이 생긴 것 같습니다.

 

2. Mirror2 : Project-X

Mirror는 신사의 게임입니다만 Mirror2는 그래픽이 좋은 그냥 평범한 퍼즐게임입니다. 이쪽은 별도의 런처 프로그램을 사용하는데 해당 런처가 문제를 일으키는 경우입니다. 정작 게임을 따로 실행 시키면 아무 문제없이 잘 실행됩니다. 그래서 런처 대신 게임을 직접 실행하도록 수정하는 방법입니다.

 

똑같이 오른쪽 버튼을 눌러 속성에 들어갑니다.

이번에는 일반 탭에서 시작옵션을 적어줍니다.

 

eval $(echo "%command%" | sed "s|Launcher\/Mirror2.ProjectX.Launcher.exe|ProjectX\/Mirror2\/Binaries\/Win64\/Mirror2_X-Win64-Shipping.exe|")

 

위의 텍스트를 복사해서 싹 넣어주시면 됩니다. 그러면 게임이 난데없이 대만 중국어로 나오게 되는데 오른쪽 위의 톱니바퀴를 누르고 

제일 아래의 것을 누르면 한국어가 보입니다. 위의 스크린샷을 잘 보세요.

 

3. Halo : Master Chief Collection

이건 그냥 안티치트 문제입니다. EAC가 분명 지원된다고 했지만 무슨 이유인지 안티치트가 정상 작동하지 않고 있습니다. 따라서 플레이 버튼을 누르고 나오는 창에서

Anti-Cheat Disabled를 선택해서 안티치트가 동작하지 않도록 해야 실행됩니다. 물론 온라인 매치는 불가능해집니다.

 

4. 그섬(Island : Into the Mist)

한국에서 만든 어드벤처 게임입니다. 그런데 D3D11를 Vulkan으로 바꾸는데 문제가 있는 듯 합니다. 이건 Vulkan대신 OpenGL로 실행되도록 하면 됩니다.

 

역시 오른쪽 버튼을 눌러서 속성에 들어간 다음 

일반탭에서 시작옵션에 다음과 같이 적습니다.

 

PROTON_USE_WINED3D11=1  thread_submit=true %command%

 

어차피 2D 게임이라 OpenGL로 돌려도 크게 티가 안 납니다.

 

 

스팀덱의 출시 이후 수많은 제보와 글이 올라왔습니다. 그리고 많은 해결방법이 생겨났고 Proton의 개발에도 박차를 가하고 있습니다. 언젠가는 이런 옵션을 수정 하지 않고도 멀쩡히 실행되는 경우가 오겠지요?

,

해당 프로그램이 처음 나왔던 당시에는 괜찮았지만 이후 평가가 나락으로 갔던 프로그램들 입니다.

개인적인 생각인것을 먼저 밝힙니다.

1. 나모웹에디터
우리나라 웹환경을 개판으로 만든 주범입니다. 쓰기쉽고 싼가격으로 드림위버보다 점유율이 높았지만 IE전용코드를 남발해서 엉망진창으로 만들었습니다. 자바스크립트도 배배꼬여서 유난히 국내사이트에서 IE가 수시로 다운되게 만드는 주범이기도 했습니다.

2. 알집5.0
솔직히 알집은 지금도 욕먹고 있긴합니다만 그 전의 4.x는 그래도 쓰기편한UI와 나름 친절한 고객지원으로 평가가 상당히 좋았습니다. 그리고 기대를받으며 출시된 5.0은... 역대 알집중 가장 최악이었습니다. 느리고 압축풀면서 파일깨먹고 전용ALZ포맷을 만들어서 또 대한민국 압축포맷을 엉망으로 만들었습니다. ALZ가 그렇다고 장점이 있냐고 하면 딱히 큰 장점이 없었습니다. 어차피 요즘은 다들 반디집으로 넘어갔지만...

3. 대몬툴즈
시디스페이스를 쓸까하다가 어차피 그게그거라 그냥 대몬툴즈로 선택했습니다. 프로그램자체는 나쁘지 않았고 CD/DVD를 꺼내지 않아도 된다는 이것 하나로 엄청쓰였습니다
그러나 사실 XP시절 OS를 불안하게 하는 녀석중 하나가 얘였습니다. 편리했지만 너무 불안했습니다. 그리고 Windows7에 리눅스같은 iso마운트기능이 생기고 CD로 게임을 하는 시대가 끝나면서 역사속으로 사라졌습니다.

4. 한글 워디안
한글97이후 완전히 새롭게 밑바닥부터 만든 한글입니다. 그런데 밑바닥부터 다시 만들다보니 버그가 수시로 작렬했고 그냥 한글97을 쓰는 사람이 더 많았습니다. WindowsNT에 맞게 유니코드지원이라는 장점은 있었지만 그뿐이었고 도리어 업무를 마비시킬뻔했습니다.
다행히 한컴은 워디안의 후속작인 한글2002로의 무료 업그레이드를 지원해줬습니다만 한글 워디안이라는 프로그램 자체를 기억하는 사람이 많지 않다는 것만으로도 얼마나 문제가 많았는지 알 수 있습니다.

5. Alcohol52% 무료버전
대몬툴즈가 OS를 개판으로 만들때 대체품으로 소개했었습니다. 지원포맷도 더 많고 안정성도 좋았습니다. 그런데... 이거 PC의 정보를 마구 유출하는 녀석이었습니다. 차라리 대몬툴즈가 더 나았습니다...

6. WindowsME
세상에 나오지 말았어야 했던 Windows
버그와 오류가 잦아서 여기에 다 적기도 힘들지만 제일 심각했던건 0KB파일로 만들어버리는 최악의 버그였습니다. 그냥 아무이유없이 파일 내용이 사라집니다... 처음에는 바이러스같은건줄 알았는데 OS버그랍니다...
처음에는 평가가 괜찮았던 Win98SE의 후속작이기에 기대도 많이 했는데 그냥 내부부터 썩은 녀석이었습니다.

7. 소리바다 2
소리바다가 음원시장에 끼친 해악은 다들 알고 계시리라 믿습니다. (외국에는 냅스터란게 있었지요.) 이에 법의 철퇴를 맞자 P2P방식으로 MP3를 공유하는 소리바다2가 나오게 됩니다. 이러면 소리바다서버는 그냥 중계만해주고 파일공유는 개인간 거래로 퉁치게 됩니다.
그런데 양심상 문제는 둘째치고 프로그램이 법망을 피하기위해 급조해서 만든지라 굉장히 불안정 했습니다. 멀쩡한 파일을 받은적이 없었을지경. 소리바다3가 나오면서 접속환경이 안정화되었지만 어디까지나 법의 교묘함을 파고 들었을 뿐 정상적인 상황은 아니었기에 결국 소리바다는 망했습니다.
웃긴건 동봉된 플레이어인 파도는 Winamp보다 좋은 평가를 받았다는 것.

,

당연한 이야기입니다만 유튜브는 안드로이드 스마트폰의 킬러앱입니다. 아이폰도 유튜브가 멀쩡히 돌아가지만 안드로이드의 기능에 비해 부족해보이는건 사실입니다.

그런데 이 유튜브 앱이 꼭 필요한가에 대해서는 조금 고민이 생기더군요. 최근 유튜브 버벅거림이 심해져서 찾아보니 유튜브 앱의 버그였음이 밝혀졌습니다. 그냥 유튜브를 지우고 다시까니 해결됐다는군요.

저는 사실 유튜브앱도 웹 하이브리드 앱으로 만드는것이 어떨까라는 생각을 하고 있습니다.

무슨 귀신 씨나락 까먹는 소리냐고 할 수 있습니다만 유튜브앱에서 주로 쓰는 기능이라고 해봐야 구독채널의 영상과 추천영상기능 정도입니다. 그런데 이건 웹브라우저에서 실행되는 유튜브 페이지에서도 확인 가능하지요. 심지어 영상 업로드도 앱에서 오류가 자꾸 나길래 웹으로 들어가니 멀쩡했던 적도 있습니다.

이쯤되니 구글이 제공하는 유튜브 앱이 쓸데없이 많이 무겁다라는 생각이 들더군요. 어차피 우리가 원하는건 정상적인 영상재생이고 이는 HTML5이후 웹으로도 아무 문제없이 구동이 된다는것을 알고 있습니다.

그러면.. m.youtube.com으로 접속하는 웹뷰로 구동되는 앱을 하나 만들고 그냥 이걸 쓰면 유튜브앱의 버그를 충분히 회피하고 훨씬 가볍고 귀찮은 광고도 Adguard로 해결 가능하지 않을까 싶습니다.

이제 여기서 문제는 구글로그인 동기화 문제인데 서드파티 웹브라우저의 경우 꼭 문제를 일으키곤합니다. 웹뷰에서 동기화 기능을 켜면 된다고 하는데 이것도 케바케더군요.

그리고 킬러기능중 하나인 플로팅윈도우는 안드로이드7이후 제공되는 기능을 쓰면 쉽게 구현이 됩니다. 이는 프리미엄 구독을 해야 쓸 수 있는 기능입니다만 안드로이드에서 제공하는 기능을 쓰면 충분히 같은 기능을 뽑을 수 있습니다.

이쯤되니 웹을 써서 유튜브영상을 보는 기능구현이 어느정도 쉽게 될것 같은데 우선은 생각까지만 하고 나머지는 천천히 실행에 옮겨보는게 어떨까 싶습니다.
어차피 만든다고 해도 플레이스토어에 올린다던지 하고 싶지는 않네요. 구글이 싫어할것 같거든요.

,

옛날에 엄청 좋아했던 편의점?! 이라는 경영게임입니다.

 

보시다시피 가운데 그래픽이 돌아가있습니다.

원인은 솔직히 모르겠습니다...

 

우분투에서 Wine으로 돌리는 것이 문제인건지 아니면 그냥 최신 그래픽칩셋에서 문제가 일어난건지... DirectX 6으로 돌아가서 문제가 더 있는 것일지도 모르겠습니다. 일단은 가상머신에 Win98을 올린 다음 확인해볼 생각입니다.

 

그런데 진짜 왜 이러는지 모릅니다...

 

=================2022.05.17=================

 

해결했습니다

아주 간단한 문제인데 DirectDraw가 문제를 일으킨것이므로 이를 Direct3D11로 래핑(?)하고 이를 Wine의 Vulkan으로 추가 컨버팅하면 되는 것 이었습니다.

 

이방법은 dgvoodoo2 라는 프로그램으로 문제를 해결 할 수 있습니다.

고전게임 돌리는데 거의 필수적으로 사용됩니다만 아는 사람이 많지 않더군요. 본래는 고전게임중 Voodoo Glide 게임을 돌리기 위해서 시작되었던 것이 이젠 고전게임 필수 호환성 레이어가 되었습니다.

 

http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/

 

Downloads - Dege's stuffs

Downloads You need the 3Dfx splash dlls for Glide if you want 3Dfx splash screen or watermark (shameless plug) through dgVoodoo. 3DfxSplashDlls.zip  You may also need D3DRM.dll (Direct3D Retained mode) for some games and demos. It's not part of the OS sin

dege.freeweb.hu

위의 홈페이지에서 다운로드가 가능하며 

dgVoodoo2_78_2.zip
4.99MB

여기서도 다운로드가 가능합니다. 가능한 공식홈페이지에서 받는 것이 버전이 높아서 좋겠지요.

 

해당 파일의 압축을 풀면

이렇게 되어있는데 여기서 MS가 중요합니다. MS의 고전 파일 호환이라는 의미로 DirectX 구버전API용이란 의미입니다.

이 안에는 x86이라고 되어 있는 폴더가 있고 이 안에 DLL 4개가 핵심입니다.

특히 DDRAW.dll파일이 중요합니다.

어찌 되었건 해당 파일 4개를 설치된 고전게임의 exe가 있는 곳에 풉니다.

exe파일과 DDRAW.dll파일이 함께 있는 것이 확인되면 wineconfig을 실행합니다.

PlayonLinux나 Bottles를 쓴다면 해당 Prefix의 config을 실행합니다.

여기서 ddraw를 추가하여 네이티브로 설정합니다. 경고메시지가 뜨는데 무시합시다.

 

그리고 실행하면...!!! 

Wine Debugger창에서 신기한 내용이 뜹니다.

 

바로 d3d11을 사용하기 시작합니다. 물론 정확히는 d3d11을 다시 OpenGL로 한번더 컨버팅해서 렌더링하는 것인데 이걸로 그래픽깨짐을 회피 할 수 있습니다.

 

어찌되었건 간만에 이 오래된 고전게임을 할 수 있게되었네요.

 

-----------------그런데 생각해보면 미친짓이긴 하네요.

DirectDraw - D3D11 - OpenGL 두번거치면서 렌더링을 하다보니 쓸데없이 CPU가 묵직합니다. 이게 이럴정도는 아닌데...

 

---------------위에 미친짓이라고 쓰긴했는데...

생각보다 이런 방식으로 고전게임을 돌리는 경우가 많다고 합니다.

DirectDraw(DirectX7이하) - dgvoodoo(DirectX11)-DXVK(Vulkan)

이렇게 두번 거쳐서 현대적인 API인 Vulkan으로 최종 출력하는게 상당히 사례가 많다고 하네요.

저도 Wine의 OpenGL대신 DXVK를 써서 Vulkan으로 출력하니 묵직함이 사라졌습니다. 

 

만약 DirectX8이상이라면 그냥 DXVK를 적용해서 바로 Vulkan으로 출력하면 어지간해선 해결된다고 합니다.

,

사실 Chrome에서만 벌어지는 것이 아니지만 Firefox같은 다른 브라우저는 다른 방식인 건지 문제가 없었습니다.

 

아무튼 Youtube에서 메뉴버튼도 안 먹히고 재생버튼도 안 먹히는 등 문제가 생길 수 있습니다.

 

범인은..

https://chrome.google.com/webstore/detail/allow-right-click/hompjdfbfmmmgflfjdlnkohcplmboaeo

 

Allow Right-Click

Re-enable the possibility to use the context menu on sites that overrides it.

chrome.google.com

이 확장이 범인이었습니다.

 

오른쪽 버튼을 못 쓰게 막은 페이지를 가능하게 만드는 확장인데 이것이 유튜브와 문제를 일으키고 있었습니다.

 

Youtube에서 해당 기능이 동작하지 않도록 설정하면 아무 문제 없이 해당 확장 사용이 가능합니다.

크롬 오른쪽 위에서 해당 아이콘을 클릭 한 후에 옵션을 눌러주세요.

 

 

그러면 White list에 google|yahoo 라고 써있을 것입니다. 이 뒤에 

|youtube

이렇게 pipe ( | ) 기호를 적고 youtube라고 적은 다음 Save 버튼을 눌러주시면 기능이 정상적으로 동작 할 것입니다.

 

절대로 Slash ( / ) 가 아닙니다. Pipe기호 입니다. 역슬래시 ("\")위에 적힌 해당 기호를 말합니다.

,

스팀덱이 최근 핫합니다.
휴대가 가능하면서 스팀게임이 구동된다는 점 하나로 많은 점수를 먹고 있습니다.

사실... 스팀덱은 스팀OS가 깔린 UMPC입니다. GPDWin시리즈와 비슷하다고 보면 됩니다. 그리고 스팀OS는 리눅스 기반이고 Proton을 위에 얹어서 호환성을 확보하고 있습니다.

그래서 Proton이 지원되지 않으면 구동되지 않습니다. 이걸 간과하고 계신분들이 있는데 Proton은 그 기반인 Wine과 마찬가지로 한계가 있습니다. 특히 안티치트같이 커널모드로 돌아가는 것이 있다면 문제가 생깁니다. 그래서 안티치트가 적용된 게임이 안 돌아갑니다.

만약 내가 하는 게임이 스팀덱에서 잘 돌아가는지 궁금하다면 리눅스에서 Proton으로 구동해보거나 그냥 ProtonDB https://www.protondb.com/ 를 찾아보시면 됩니다.

다만 최근 Easy Anticheat와 Battleye가 지원이 되기시작했고 Xinecode도 지원계획이 있다고 했기에 추후 스팀덱에서 더 많은 게임이 구동될거라고 생각됩니다.

안티치트외에 다른 문제는 크게 걱정하지 않아도 될 듯합니다. DirectX 호환 레이어인 DXVK(Vullan으로 구동)의 구동수준은 놀라울 정도이고 정 안 되면 Wined3d(OpenGL로 변환)로 구동하면 거의 구동됩니다.

스팀OS가 불안하다는 분도 있는데 리눅스에서 스팀깔면 차이점이 크게 없습니다. 그리고 리눅스의 안정성은 걱정할 필요가 없습니다.

즉, Proton의 업데이트는 곧 스팀덱의 성공을 만들 가능성이 높고 리눅스 게이밍의 경험을 좋게 만들게 될겁니다.

스팀덱의 성공을 기원합니다.

,