하모니카 커뮤니티 jullee님의 글입니다. https://hamonikr.org/used_hamonikr/82280

 

하모니카 사용기 - 하모니카에서 카카오톡 한글 중복 입력문제 해결하기

최근에 카카오톡이 xp버전을 지원 하지않아서 기존의 방법으로 이용할 수 없어졌다. 그래서 wine에 깔려있던 카카오톡을 지우고 wine 설정에서 windows 버전을 win10 으로 바꾼뒤에 카카오톡 홈페이지

hamonikr.org

해당 글을 참고 부탁드립니다. nimf, kime, uim, nabi 모두 일어나는 현상입니다. 과거 윈도98시절에 영문용으로 짠 프로그램에서도 비슷한 일이 일어났었습니다. 아마 같은 이유가 아닐까 싶네요.

 

레지스트리로 root로 입력하는 것이 관건입니다. 약간 일본어나 중국어 입력같은 방식이 되기는 하지만 두번 입력만 안 되는 것만해도 감지덕지지요.

 

KoreanInputWineRoot.zip
0.00MB

위의 파일이 설명한 레지스트리파일입니다. 문제가 되는 카카오톡이나 MS Office 등으로 설치된 Wine Prefix의 레지스트리에 입력하시면 해결됩니다.

,

VRoid Studio라는 캐릭터 제작 도구가 있습니다. 기본적인 캐릭터만으로도 상당히 쉽게 만들 수 있습니다.

https://vroid.com/en/studio/

 

VRoid Studio | VRoid

VRoid Studio is an application to create 3D models of humanoid avatars (characters). The app runs on Windows and Mac and can be used for free by anyone. 3D models created with VRoid Studio can be used as avatars on various VR/AR contents, both for commerci

vroid.com

위에서 다운로드 받으면 되는데 머리모양을 그림그리듯 만들 수 있고 자체포맷이라기엔 애매하지만 VRM이라는 포맷으로 Export도 가능합니다. 

그리고 해당 VRM파일을 https://github.com/saturday06/VRM_IMPORTER_for_Blender

 

saturday06/VRM_IMPORTER_for_Blender

Unofficial incomplete VRM importer and exporter for Blender2.82+ - saturday06/VRM_IMPORTER_for_Blender

github.com

이것을 이용하면 Blender에 넣을 수도 있습니다. Blender에 넣으면 그 다음에는 이것 저것 할 수가 있지요.

 

아무튼 이런 유용한 도구를 우분투에서 굴려봅시다.

 

우선 VRoid Studio의 윈도우 버전을 다운로드 받습니다. 현재 VRoid Studio는 맥용과 윈도용만 배포되고 있습니다. Unity3D 엔진을 사용했기에 마음만 먹으면 리눅스용도 빌드가 가능할텐데 아직은 그럴 생각이 없는 것 같습니다. 하지만 Unity엔진으로 만들어진 것은 Mono를 기반으로 하기 때문에 Wine에서 충분히 잘 돌아갑니다.

 

다만 한가지 문제가 있는데..

중간중간 \로 써있는 것을 보면 살짝 화가 나기도 한다.

압축파일이 일본에서 압축을 해서 그런지(사실상 Zip압축의 표준인 Winrar로 압축하면 경로를 유닉스 형태인 /로 압축합니다.) 이런식으로 되어 있습니다. 폴더형태가 아닌 그냥 하나의 파일로 나열되어 있습니다. 이는 비표준 형태로 압축되었기 때문입니다.

 

이걸 해결 하는 방법은... 그냥 Wine에 반디집 설치하고 반디집에서 압축 풀면 됩니다. 일단 압축을 풀어 놓읍시다. 바로 Wine으로 실행해도 좋지만 자칫 꼬일 수도 있습니다.

반디집에서는 그 어떤 형태도 다 지원한다. 이런 프로그램을 한국에서 만든다는 것에 자랑스럽다.

그리고 저는 Wine을 돌릴때 따로따로 관리하는 것을 좋아하기 때문에 VRoid Studio도 PlayonLinux로 관리합니다.

우선 PlayonLinux를 설치했다고 하고 (소프트웨어 센터에 가면 있습니다.)

 

PlayonLinux를 실행합니다.

그리고 Wine 5.7이상의 버전을 설치해야합니다.

도구-Wine버전 관리를 눌러줍니다.

 

그리고 amd64탭을 선택한 다음 왼쪽탭에서 5.7-staging 혹은 그 이후 버전을 선택하고 > 버튼을 눌러줍니다.

나는 이미 5.7-staging이 설치되어 있는 상태다. 5.9에서도 잘 돌아가는 것이 확인 되었다.

그리고 창을 닫은다음 구성 버튼을 누릅니다.

여기서 왼쪽 아래에 새로 만들기를 눌러줍니다.

여기서 영어의 압박이 올 수 있는데 PlayonLinux가 한글화가 되고는 있지만 아직 기여가 부족합니다. 

다음을 누르고 이 화면에서 64bits windows 를 선택합니다.

그리고 여기서 아까 추가했던 5.7 혹은 그 이후 버전을 선택합니다. 그리고 관리할 prefix의 이름을 누른다음 다음을 연타하면

나는 그냥 VRoidStudio라고 이름 지었다.

요렇게 구성창에서 아까 지은 이름으로 Prefix가 하나 만들어집니다. 이것을 클릭하고

기타설정 탭으로 들어갑니다.

그리고 Open Virtual's directory를 눌러주시면...

여기서 drive_c라는 폴더가 Wine에서 C:\ 로 생각되어지는 폴더입니다. 저 폴더 안에 아까 압축을 풀었던 VRoidStudio를 복사해서 넣어주세요. 

그냥 이런식으로 넣어주시면 됩니다. 그 다음 다시 PlayonLinux의 구성창으로 돌아옵니다.

여기서 일반 탭으로 돌아오신 다음

바로가기 만들기를 눌러주시면

이렇게 뜹니다. 여기서 VRoidStudio.exe를 선택하고 다음!

 

이제 바탕화면 보시면 VRoidStudio 바로가기가 있을 겁니다. 이것을 실행하면...

짠!!! DirectX11 기반이라 약간의 오버헤드는 있지만 쓸 수는 있습니다!

 

여기서 한가지 더

WineD3D11은 안정적이지만 굉장히 느리다는 단점이 있습니다. 이를 DXVK를 이용해서 Vulkan으로 구동하면 라데온을 사용했을 때 윈도우보다 더 빠른 성능을 얻을 수도 있습니다. 

 

https://github.com/doitsujin/dxvk/releases

 

Releases · doitsujin/dxvk

Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine - doitsujin/dxvk

github.com

여기서 dxvk를 다운로드 받습니다. 

2020년 9월 현재 1.7.1이 최신 버전이군요. 

그리고 압축파일을 열고 x64폴더 안에 있는 dll들을 아까 VRoidStudio를 복사했던 폴더에 다 풀어놓습니다.

이런 형태가 될겁니다.

그리고 PlayonLinux에서 VroidStudio를 선택하고 구성버튼을 누릅니다.

 

그리고 Wine 탭을 누른 다음 Wine설정

라이브러리 탭을 누른 다음 새로 재정의할 라이브러리에 d3d11을 치고 추가버튼을 누르면

요렇게 됩니다. 이제 적용-확인

 

이제 Vulkan으로 VroidStudio가 구동됩니다!!!

,

우분투에서 안드로이드 게임을 하거나 안드로이드 에뮬레이터를 돌리는 것은 꽤나 어렵습니다. 기껏해야 Genymotion정도가 안드로이드를 돌리는데 겨우 쓸만합니다.

 

그리고 대부분 안드로이드 게임은 ARM용이기 때문에 잘 돌아간다는 보장도 없습니다. PC에서 모바일 게임을 하는게 이렇게 어렵습니다. 그리고 스마트폰과 PC와의 연동도 그다지 매끄럽지 않습니다. 그래서 삼성과 마이크로소프트가 Your Phone이란 앱을 통해서 Windows와 연동할수 있는 서비스를 내놓았는데 반응이 썩 좋지는 않습니다.

 

https://support.microsoft.com/ko-kr/help/4531317/setting-up-and-using-link-to-windows

 

https://support.microsoft.com/ko-kr/help/4531317/setting-up-and-using-link-to-windows

쿠키가 사용되고 있지 않습니다. 쿠키를 사용하고 페이지를 새로 고치세요.

support.microsoft.com

위의 페이지를 들어가면 삼성 휴대폰과 Windows를 연동할 수 있는 방법에 대해 설명하고 있습니다. 문제는 역시 Windows와 삼성 스마트폰만 가능하다는 것입니다. 우분투는 사용 할 수 없는 기능이지요.

예전에 비슷한 것으로 삼성Flow라는 것이 있었는데 이것조차 Windows만 사용가능했습니다. 즉, 우분투 사용자들은 손만 쪽쪽 빨아야만 했었습니다. 그런데...

 

GenyMobile에서 SCRCPY란 오픈소스 툴을 내놓았습니다. 현재 버전은 1.16입니다. 써본 결과...

신세계입니다!!!!!

 

저기 있는 Your Phone보다 100배 더 반응속도가 좋습니다. 오픈소스이면서 거의 모든 환경을 지원해 준다는 것도 좋구요. LG나 샤오미같은 거의 모든 안드로이드 환경을 지원하는 것도 좋습니다.

 

scrcpy를 사용하면

 

요렇게 스마트폰화면이 미러링이 됩니다. 그리고 마우스로 클릭하면 터치도 됩니다!!! 두둥!!!

 

혹시나 게임도 돌려봤는데

스마트폰 성능에 따라 다르겠지만 매우 부드럽습니다. 1280x1080으로 60fps는 나오는 것 같네요. 제가 사용하는 휴대폰은 삼성에서 보급형으로 내놓은 A50입니다. 성능은 요즘 나오는 플래그쉽에 비해 좋지 않은 편이지요. (그리고 테스트한 게임은 꽤 성능을 요구하는 게임입니다.)

 

그리고 이건 거의 모든 리눅스 배포판에서 사용가능하며 macOS와 Windows에서도 됩니다. 그리고 스마트폰은 안드로이드5.0 이상버전이기만 하면 됩니다. 루팅도 필요없습니다.

 

macOS나 Windows에서 scrcpy를 사용하는 것은 다른 곳에서도 많이 소개하고 있으니 저는 우분투에서 이것을 사용 방법을 소개하겠습니다.

 

우선 우분투에서 scrcpy를 설치해야 합니다.

우분투 16.04 이후 snap이 기본적으로 설치 되어 있기 때문에 이를 이용합니다.

 

터미널에서

sudo apt install android-tools-adb

sudo snap install scrcpy

 

이미 설치가 되어 있어서 이렇게 뜬다.

 

설치가 끝났습니다. 

이제 안드로이드 휴대폰에서 설정을 하면 됩니다.

 

우선 개발자 옵션을 활성화해야 합니다. 보통 개발자 옵션은 빌드번호를 여러번 터치하면 열리게 되는데 이것도 못 들어가시는 분들이 있더군요.

 

안드로이드 휴대폰에서 설정에 들어갑니다.

내 휴대폰은 이미 개발자 옵션이 활성화 되어 있지만 보통은 휴대전화 정보가 마지막일 것이다.

그리고 설정을 뒤지다 보녀 휴대전화 정보가 있습니다. 이쪽으로 들어갑니다.

삼성휴대폰의 경우에는 소프트웨어 정보가 따로 있는데 다른 업체에서 제작한 경우에는 소프트웨어 정보 없이 바로 다음 페이지가 나오기도 합니다. 안드로이드 버전 관련 페이지를 찾으시면 됩니다.

보통 이렇게 나올 텐데 여기서 빌드번호를 미친듯이 터치해주시면 아래에 개발자 모드 어쩌구 하면서 메시지가 뜰겁니다. 여기서 "개발자가 되셨습니다!" 라는 메시지가 나올때까지 두드려주세요. 그리고 다시 설정페이지로 돌아갑니다.

 

그러면 제일 아래쪽 혹은 제일 마지막 페이지에 개발자 옵션이 있을 겁니다.

여기서 USB디버깅을 활성화 해주세요. 모든 안드로이드 스마트폰은 개발용으로 쓰일 수 있기 때문에 디버깅 옵션이 있습니다. 디버깅 옵션이 없다면 그 폰은 정말 꽉막힌 제조사에서 만든 것이니 다음에는 구매를 고려하지 않으시는 것이 좋습니다. (삼성이나 LG, HTC같은 유명 업체는 무조건 해당 옵션이 있습니다.)

 

이제 휴대폰을 PC와 USB로 연결하고 터미널에서 다음과 같이 명령합니다.

 

scrcpy

 

처음에 오류가 날 수 있는데 이때 휴대전화의 화면을 보면 디버그 관련하여 해당 PC에서 승인 할것인지 물어봅니다. 확인을 해주시고 다시 scrcpy 명령을 치면...

 

여러분의 스마트폰 화면이 PC에서 뜨게됩니다!!!!

 

다만, 전화를 PC에서 받을 수 없고 결국 휴대폰을 사용해야 하며 (블루투스 이어폰을 쓴다면 대체가 가능하긴 하겠죠!) 소리도 PC에서 나는 것이 아니라 휴대폰에서 나온 다는 것이 한계입니다. 이건 화면 미러링을 위한 것이니 어쩔 수 없지요. 그리고 화면이 꺼지면 미러링도 당연히 멈춥니다.

 

하지만 이게 얼마인가요. 그리고 삼성DEX는 아직 지원이 안 되는 것 같지만 어찌어찌 하면 삼성DEX를 쓸 수 있을지도 모릅니다. 

그나저나 미러링 속도가 게임도 가능할정도로 빠릅니다. 필요하다면 그냥저냥 쓸만한 안드로이드 스마트폰이나 안드로이드 개발보드를 PC에 물려서 안드로이드 환경과 PC환경을 함께 사용할 수 있겠네요.

 

만약 PC와 안드로이드 스마트폰을 블루투스로 연결하면 휴대폰 소리가 PC로 전달됩니다. 이제 모바일 게임을 PC에서 하는데에 지장이 없네요!!!

,

간만에 삽질기입니다.

요즘 블루레이 타이틀 보기 쉽지 않지요. 대부분은 이미 넷플릭스나 유튜브를 통해 영상을 감상하고 계실테니까요. 하지만 아직도 블루레이로만 나오는 타이틀이 존재하고 블루레이만의 특전 영상같은것이 존재하다보니 어쩔 수 없이 사는 경우도 있습니다.

 

그런데 블루레이 감상이 생각보다 쉽지가 않습니다. 만약 제대로 된 플레이어(그나마 제일 싼게 플레이스테이션3)가 있다면 쉽게 볼 수 있는데 만약 TV가 HDCP가 지원이 안 되면 그나마도 말짱 꽝입니다.

 

그게 DRM이 생각보다 강력하게 걸려있기 때문인데요. 문제는 이 DRM이 제대로 구매한 사람도 엿을 먹이고 있다는 것입니다. 덕분에 정품 사놓고 불법복제로 보는 경우도 생기고 있다는 것입니다. 

 

바로 오늘 제가 그 엿을 경험했습니다.

VLC는 원래 블루레이가 지원 되는 플레이어다

아주 제대로 엿 먹었습니다. 기껏 산 타이틀을 볼 수가 없다니???

블루레이 드라이브만으로는 이렇게 엿을 먹는 경우가 많다고 합니다. 

 

CyberLink사의 PowerDVD를 사서 설치하면 된다고 하는데 이건 어디까지나 윈도우용이라는 문제가 또 있습니다.

그리고 가격이 살인적입니다. 블루레이 드라이브를 사면 번들로 준다고 하지만 박스에 담긴것을 구매하는 경우가 아닌 그냥 중고나 벌크 제품을 샀다면 이런것도 없습니다. 저기 129000원이면 차라리 플레이스테이션3를 중고로 사는 것이 낫습니다.

 

그래서 보통은 블루레이를 리핑해서 본다고 하더군요.

정품사고 그걸 다시 리핑해서 보는 겁니다. 이 때 사용하는 프로그램이 MakeMKV란 프로그램인데 이걸로 한번 파일로 뜨면 MKV파일로 나오게 되고 편하게 볼 수 있게 됩니다.

 

https://www.makemkv.com/

 

MakeMKV - Make MKV from Blu-ray and DVD

Welcome to MakeMKV beta MakeMKV is your one-click solution to convert video that you own into free and patents-unencumbered format that can be played everywhere. MakeMKV is a format converter, otherwise called "transcoder". It converts the video clips from

www.makemkv.com

그런데 이것도 찝찝합니다. 그대로 복제하는 것이기는 한데 HDD에 복사를 해야하기 때문에 어느정도 용량이 있어야 합니다. 저는 그냥 디스크 상태로 재생해서 보고 싶은데 HDD복사하는 시간이 또 필요하다면 너무 귀찮습니다.

 

그런데 이 MakeMKV가 저 같은 사람들을 위해 외부 라이브러리를 지원 하더군요.

 

방법은 다음과 같습니다.

 

우선 MakeMKV를 설치합니다. 리눅스용도 존재하고 우분투는 PPA까지 있습니다.

https://launchpad.net/~heyarje/+archive/ubuntu/makemkv-beta

 

makemkv-beta : hjmooses

For Debian Jessie/Stretch/Buster/Bullseye go https://ramses.hjramses.com/deb/install.html For problems with version 1.10.9 and 1.10.10 use downgrade version ! https://launchpad.net/~heyarje/+archive/ubuntu/makemkv-beta-downgrade MakeMKV is your one-click s

launchpad.net

sudo add-apt-repository ppa:heyarje/makemkv-beta
sudo apt-get update
sudo apt-get install makemkv-bin makemkv-oss

 

위 명령어로 makemkv를 설치합니다. 그리고 메뉴에 가면 MakeMKV가 있으니 우선 실행합니다.

2020년 7월 기준 아직 베타기간이기 때문에 베타키만 있으면 무료로 이용이 가능합니다.

MakeMKV의 모습 여기서 바로 리핑도 가능하지만 내가 하고 싶은건 그냥 재생이다!

Help-Register를 눌러서 키를 입력하면 됩니다. 키는

https://makemkv.com/forum/viewtopic.php?f=5&t=1053

 

MakeMKV is free while in beta - www.makemkv.com

Announcements and Information mike admin Posts: 3794 Joined: Wed Nov 26, 2008 2:26 am Contact: Post by mike admin » Thu Mar 04, 2010 4:46 am As stated on a main page all features of MakeMKV are free while program is in beta. You may purchase the full acti

makemkv.com

여기서 한달에 한번씩 바뀌고 있으니 정상작동이 안 된다 생각이 들면 이 페이지로 와서 다시 키를 입력하시면 됩니다.

 

우선 등록을 마치고 나면 이제 라이브러리를 인식 시킬 시간입니다.

libaacs 와 libbdplus라는 라이브러리가 본래 Blu-ray의 DRM을 지원하는 라이브러리입니다. 하지만 libaacs나 libbdplus는 역분석으로 만들어지는 방식이기에 아직 완벽히 DRM을 지원하지 못합니다. 그래서 MakeMKV의 라이브러리를 이용하는 것입니다.

 

간단하게 MakeMKV는 libmmbd라는 라이브러리를 제공하는데 이걸 libaacs와 libbdplus로 인식 시키면 됩니다.

만약 libaacs가 설치되어 있다면 지워줍니다.

 

sudo apt remove libaacs

 

그리고 우분투 64비트 기준

cd /usr/lib/x86_64-linux-gnu

sudo ln -s libmmbd.so.0 libaacs.so.0

sudo ln -s libmmbd.so.0 libbdplus.so.0

 

위 3줄로 MakeMKV의 라이브러리를 VLC에서 인식 시킬 수 있게 되었습니다.

 

한번 VLC에서 블루레이를 열어봅시다.

미디어- 디스크 열기

 

바이올렛 에버가든이란 애니메이션인데 한국어 더빙을 듣고 싶으면 블루레이말곤 답이 없다.

아무 문제없이 재생 되는 것을 확인 할 수 있습니다. HDCP도 깨진 상태이니 모니터 문제 없이 감상이 가능합니다. 만약 aacs나 bd+ 오류가 난다면 MakeMKV가 업데이트되기를 기다리시는 것을 추천합니다. 참고로 일반 블루레이 플레이어도 펌웨어 업데이트를 게을리 하면 AACS나 BD+오류를 만날 수 있습니다.

 

참고로 저는 리핑하고 삽질하느라 휴가를 다 보냈는데 생각보다 쉬운 방법이 있더군요. 그리고 12만원 굳었군요.(PowerDVD 값)

,

구글드라이브 많이 사용하고 계실겁니다. 본인이 사용하지 않고 있더라도 안드로이드사용자라면 구글드라이브를 사용하고 있다고 봐야 하거든요.

 

그리고 기본 15GB는 좀 적지만 솔직히 용량대비 가격은 굉장히 착한편입니다. 그리고 제일 중요한건 구글이기에 데이터를 날려먹지는 않을 것이라는 믿음이 있다고 해야겠지요. (대신 구글이기에 내 데이터를 마음대로 보지는 않을까 하는 불안감이 있기는 합니다.)

 

어찌되었건 구글드라이브를 우분투에서 내 디스크처럼 사용하는 방법이 있습니다.

 

문제는 이것도 터미널 작업이 동반된다는 겁니다. 어쩔 수 없을 듯...

 

바로

https://github.com/astrada/google-drive-ocamlfuse

astrada/google-drive-ocamlfuse

FUSE filesystem over Google Drive. Contribute to astrada/google-drive-ocamlfuse development by creating an account on GitHub.

github.com

 

요 프로그램을 이용합니다. 구글드라이브를 fuse로 마운트하는 형태입니다. 일단 마운트가 되니 내 드라이브처럼 사용이 가능하고 웹에서 하나씩 다운로드를 받는 귀찮음도 없습니다.

 

사용방법도 간단합니다.

 

설치는 다음과 같습니다.

우선 터미널을 열고 

 

sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt update

sudo apt install google-drive-ocamlfuse

 

참 쉽죠?

 

이제 마운트 하는 법입니다. 우선 폴더 하나를 임의로 만듭니다.

저는 ~/GoogleDrive 라고 했습니다.

 

그리고 터미널에서

google-drive-ocamlfuse ~/GoogleDrive

 

이러면 브라우저 하나가 뜨면서 구글 로그인을 요구합니다. 그러면 로그인하고 권한을 허용해주세요. 이제 조금 기다리시면...

 

 

 

Access가 되었다고 뜹니다. 그럼 아까 만들었던 폴더를 파일브라우저(노틸러스, 투나, PCManFM 등등)을 써서 들어가봅시다. 바로 지금까지 구글드라이브에 올린 파일들이 떠있습니다. 이제 파일을 복사하거나 열거나 하면 됩니다. 쉽죠?

,

Dolphin이란 에뮬레이터가 있습니다. 한때 시대를 풍미했던 그리고 전설의 판매량을 기록했던 닌텐도Wii의 에뮬레이터입니다.

오픈소스로 개발되고 있고 지금도 활발히 개발중입니다.

 

다만, 원 개발진들이 상당히 보수적이라 이에대한 Fork인 Ishiiruka란 변종버전도 함께 개발중입니다. 일종의 갈래죠. 

 

이 에뮬레이터는 상당한 성능과 재현성을 보여주고 있어서 많은 사람들이 애용중입니다.

 

다만, 게임기 특성상 Wii리모컨을 필요로 합니다. 그래서 이를 스마트폰으로 대체하는 UDPMote라는 것이 있었습니다. 단, 4.0버전 까지만요.

 

5.0부터는 UDPMote에 대한 개발이 발전이 없다고 없애버렸습니다. 하지만 Wiimote가 없는 사람들은 답이 없었습니다. 그래서 구버전인 4.0을 쓰거나 오픈소스라는 것에 착안하여 UDP소스코드를 다시 넣어서 돌리는 경우가 있습니다.

 

https://github.com/YellowAfterlife/Ishiiruka-but-with-UDPMote-again

 

YellowAfterlife/Ishiiruka-but-with-UDPMote-again

An adaptation of https://github.com/kevlahnota/Ishiiruka for the current version of Dolphin-Ishiiruka - YellowAfterlife/Ishiiruka-but-with-UDPMote-again

github.com

바로 이런 식으로 말이죠. 변종인 Ishiiruka에 UDPMote를 적용한 소스코드입니다. 그런데... 개발자분이 Windows만 신경쓰는 바람에 리눅스에서 빌드하는데 한참 고생했습니다.

 

우선 안드로이드 앱인 UDPMote는 https://drive.google.com/uc?export=download&id=0B6t1zFfzfaYNRHFyUzlaV3JVTk0

혹은

UDPMote_1.0.apk
0.15MB
UDPMote_1.01.apk
0.15MB

여기서 받을 수 있습니다. 사용법은 나중에 따로 찾기로 하고 지금은 리눅스에서 삽질한 내용을 기록하기 위함이니 이쪽을 먼저 하겠습니다.

 

 

우선 우분투 18.04 기준으로 CMake의 버전을 올렸어야 했습니다. 우분투18.04의 기본 CMake는 3.10인데 2020년 현재 최신 버전은 3.17입니다. 철지난 Python2가 아직도 메인이라면 그냥 쓰셔도 되지만 지금은 Python3시대죠. 

 

그래서 Python3를 우선 기본으로 바꿉니다. 터미널을 열고

 

update-alternatives --install /usr/bin/python python /usr/bin/python3 10

 

그러면 CMake의 버전이 이제 문제를 일으킵니다.

 

우선 기본 CMake를 삭제합니다.

 

sudo apt remove cmake

 

그리고https://cmake.org/download/

 

Download | CMake

Current development distribution Each night binaries are created as part of the testing process. Other than passing all of the tests in CMake, this version of CMake should not be expected to work in a production environment. It is being produced so that us

cmake.org

여기서 소스코드를 다운로드 받아서 설치해야 합니다.

cmake의 tar.gz를 다운로드 받아 압축을 풀고 압축푼곳으로 들어가 터미널에서

./configure

make

make install

 

만약 쉽게 삭제를 하고 싶으시다면 make install 대신 checkinstall을 쓰셔도 됩니다. 그러면 deb파일로 설치를 하기 때문에 apt remove cmake로 삭제가 가능합니다.

 

이제 드디어 Dolphin의 빌드를 시작해봅시다. 우선은 git이 필요하겠군요.

그냥 Dolphin에서 필요한 패키지를 다 설치합시다.

 

https://wiki.dolphin-emu.org/index.php?title=Building_Dolphin_on_Linux#16.04_LTS

 

Building Dolphin on Linux - Dolphin Emulator Wiki

Note Outdated: This has not been updated since July 2019 an no longer aligns with Dolphin's current dependencies. Users running Linux distros have to build Dolphin from source. Dolphin is compatible with x86-64 and AArch64 Linux distributions. This is a gu

wiki.dolphin-emu.org

여기에 필요한 것들이 써있군요. 그런데 16.04? 알게뭔가요. 그냥 설치합시다.

대신 CMake는 아까 위에서 설치했으니 빼고 개발버전은 WX가 같이 소스코드에 있으니 이걸 쓰랍니다.

 

그러면 필요한 패키지를 설치하는 명령어는

sudo apt install pkg-config git libao-dev libasound2-dev libavcodec-dev libavformat-dev libbluetooth-dev libenet-dev libgtk2.0-dev liblzo2-dev libminiupnpc-dev libopenal-dev libpulse-dev libreadline-dev libsfml-dev libsoil-dev libsoundtouch-dev libswscale-dev libusb-1.0-0-dev libxext-dev libxrandr-dev portaudio19-dev zlib1g-dev libudev-dev libevdev-dev "libpolarssl-dev|libmbedtls-dev" libcurl4-openssl-dev libegl1-mesa-dev libpng-dev qtbase5-private-dev

이거겠군요.

 

그리고 Wine과 각종 패키지 충돌을 경험한 뒤에 sudp apt -f 로 다시 잡았습니다. 에라이...

PPA사용할 때는 역시 패키지 충돌을 조심해야 합니다. 

 

이제 git으로 소스코드를 다운로드 받습니다.

git clone github.com/YellowAfterlife/Ishiiruka-but-with-UDPMote-again.git

 

그리고 Readme.md를 보니 

mkdir build

cd build

cmake ..

make

make install

 

이렇게 하라는군요.

 

그대로 합시다. 당연히 에러납니다.

xlocale.h가 없다네요.

locale.h를 xlocale.h로 링크 겁시다.

 

ln -s /usr/include/locale.h /usr/include/xlocale.h

 

이번에는 UDP관련 라이브러리가 없답니다. 소스코드를 보니 개발자가 Windows용으로만 수정해서 CMakeList에는 해당 파일이 없습니다.

Source/Core/Core/CMakeList.txt를 열어서 

add_library(core 안 어딘가에 

UDPTLayer.cpp

 

이렇게 한줄을 적읍시다. 그리고 UDPTLayer.cpp라는 빈파일을 하나 만듭시다.

 

그리고

Source/Core/DolphinWX/CMakeLists.txt

여기에

UDPConfigDiag.cpp

한줄을 넣어줍니다.

 

그 다음에는 

Source/Common/InputCommon/CMakeList.txt를 열고

UDPWiimote.cpp

UDPWrapper.cpp

 

두줄을 추가합시다. 이제 다시 make!

 

이번에는 wx에서 에러가 납니다. 아니!!! 내장되어 있어서 문제 없다며!!!

빌드는 되는데 include에서 문제가 일어납니다.

 

소스 루트 위치에서

 

Externals/wxWidgets3/include/wx 를 /usr/local/include로 링크를 걸어버리면 해결됩니다.

ln -s $(pwd -P)/Externals/wxWidgets3/include/wx /usr/local/include

 

이제 또 에러가 납니다. setup.h를 못 찾는 답니다.

이건 

Externals/wxWidgets3/wx 여기 있네요. 아까 링크 건 곳으로 파일들을 다 링크 겁시다.

ln -s $(pwd -P)/Externals/wxWidgets3/wx/setup.h /usr/local/include/wx/setup.h

ln -s $(pwd -P)/Externals/wxWidgets3/wx/wxgtk.h /usr/local/include/wx/wxgtk.h

 

이번에는 100%찍고 에러가 납니다.

이젠 그만 보고 싶다

마음같아서는 포기하고 싶은데 wx관련해서 레퍼런스가 없는 것 같습니다! 즉, WX를 다시 빌드해야 할 것 같네요.

 

가만보니 WX쓰는 애들이 <wx/window.h>를 include를 하나도 안 했네요. FromDIP함수가 계속 걸리는데 이게 wxWidget3.1.0부터 만들어진거랍니다. 아무래도 소스 업데이트가 덜 된듯.

 

그래서 FromDIP함수 쓰는 것들 싹다

#include <wx/window.h>

한줄 추가해줬습니다.

 

이제 좀 돌아가려나...?

 

wxWidgets 3.1.0이 자꾸 링크가 안 되서 wxWidgets 3.1을 직접 시스템에 설치하기로 했습니다. CMake에 이어서 이쯤되면 거의 Arch나 Gentoo쓰는 느낌이네요.

 

https://www.wxwidgets.org/downloads/

 

Downloads - wxWidgets

Header Files 32-Bit (x86) Development Files Release DLLs 64-Bit (x86_64) Development Files Release DLLs

www.wxwidgets.org

여기에 가면 우분투용 패키지를 따로 제공하고 있습니다. 이것을 이용합시다

 

https://wiki.codelite.org/pmwiki.php/Main/WxWidgets31Binaries#to

 

CodeLite IDE | Main / WxWidgets31Binaries

wxWidgets 3.1 Packages and Repositories This page is for the latest development release, wx3.1.3. For the previous development release, wx3.1.2, see WxWidgets312Binaries. For the latest stable release, wx3.0.4, see WxWidgets30Binaries. The CodeLite package

wiki.codelite.org

sudo apt-key adv --fetch-keys https://repos.codelite.org/CodeLite.asc

sudo apt-add-repository 'deb https://repos.codelite.org/wx3.1.3/ubuntu/ bionic universe' 

이건 18.04를 기반으로 한것이니까 bionic 부분은 버전에 맞게 잘 수정해야 합니다.

 

그리고 

sudo apt-get install libwxbase3.1-0-unofficial3 \
                 libwxbase3.1unofficial3-dev \
                 libwxgtk3.1-0-unofficial3 \
                 libwxgtk3.1unofficial3-dev \
                 wx3.1-headers \
                 wx-common \
                 libwxgtk-media3.1-0-unofficial3 \
                 libwxgtk-media3.1unofficial3-dev \
                 libwxgtk-webview3.1-0-unofficial3 \
                 libwxgtk-webview3.1unofficial3-dev \
                 libwxbase3.1-0-unofficial3-dbg \
                 libwxgtk3.1-0-unofficial3-dbg \
                 libwxgtk-webview3.1-0-unofficial3-dbg \
                 libwxgtk-media3.1-0-unofficial3-dbg \
                 wx3.1-i18n \
                 wx3.1-examples

있는대로 다 설치해서 때려박습니다.

 

다시 build 폴더를 비운다음 cmake 부터 다시 합니다.

 

이번에는 WxUtils.cpp에 wxdisplay()가 없답니다. 자세히보니 wx/display.h를 include 안 했네요. (대체 이걸 어떻게 빌드하라고..)

 

Source/Core/DolphinWX/WxUtils.cpp에 한줄을 추가합시다

#include <wx/display.h>

 

이번에는 wxDisplay(0) 이렇게 써있는 부분이 모호하다고 합니다. 포럼을 찾아보니 unsigned int로 강제형변환 해주면 된다고 하네요.

https://github.com/FasterMelee/FasterMelee-installer/issues/58

 

Build on NixOS fails: `wxDisplay(int)` is ambiguous · Issue #58 · FasterMelee/FasterMelee-installer

The build fails at 100%. The problem seems to be here: FasterMelee-installer/FasterMelee-5.9/Ishiiruka/Source/Core/DolphinWX/WxUtils.cpp:156:32: error: call of overloaded ‘wxDisplay(int)’ is ambigu...

github.com

이런 부분이 2군데 있다 싹 찾아보자

이쯤되니 슬슬...빡치려는 찰나...

어? 빌드 다 됐답니다.

이것을 보기위해 얼마나 많은 삽질을 했던가...

아아.. 드디어 빌드 되었습니다. 

그리고 portable하게 만들기 위해서 build 폴더 안에서

cp -r ../Data/Sys/ Binaries/

touch Binaries/portable.txt

 

이렇게 하고 ishiikura를 실행하면 같은 폴더에 설정파일이 만들어져서 편리합니다.

아아... 드디어!!!! 삽질의 마지막을 봤습니다!!! Wx3.1을 설치하고 개삽질을 하고 드디어..뭔가 되는 순간???

 

응??? UDPMote가 작동을 안해??

 

그래서 포럼을 뒤져보니..누가 이미 수정해 놓았네요? 그것도 리눅스용으로??? (그것도 어제...)

https://forums.dolphin-emu.org/Thread-unofficial-udpmote-for-android?page=7

 

[Unofficial] UDPMote for android

 

forums.dolphin-emu.org

https://github.com/Oneirag/Ishiiruka-but-with-UDPMote-again

 

Oneirag/Ishiiruka-but-with-UDPMote-again

An adaptation of https://github.com/kevlahnota/Ishiiruka for the current version of Dolphin-Ishiiruka - Oneirag/Ishiiruka-but-with-UDPMote-again

github.com

 

야..야잇!!!!

 

내가한 2일간의 삽질은 뭐냐는 말이냐... 괜찮아요.. 괜찮아.. 그래도 나름 공부는 되었잖아요.... 젠장

 

구동 결과...

 

build/Binaries/User/Config/WiimoteNew.ini 파일의 내용을 다음과 같이 바꿉시다.

[Wiimote1]
Source = 1
UDP Wiimote/Port = 4434
UDP Wiimote/Enable = 1
UDP Wiimote/ShowMessageBox = 1
[Wiimote2]
Source = 0
[Wiimote3]
Source = 0
[Wiimote4]
Source = 0
[BalanceBoard]
Source = 0

 

만약 2P 3P를 원한다면 [Wiimote2]부분을

Source = 1
UDP Wiimote/Port = 4435
UDP Wiimote/Enable = 1
UDP Wiimote/ShowMessageBox = 1

 

이런식으로 바꿔주시면 됩니다. PC와 스마트폰은 같은 공유기에 연결되어야 합니다. 어차피 UDP통신이라 iptime 정도면 충분합니다.

Wii버전 팡야 해보는데 생각보다 재밌네요. 스마트폰을 직접 휘두르는 느낌도 들고 Wii가 괜히 많이 팔린게 아닌 것 같습니다. 캐주얼한 것은 최고네요. 그래픽이 안 좋은 것은 필터로 때울 수 있고요.

,

Virtualbox는 리눅스 데스크탑을 사용한다면 싫어도 써야하는 물건입니다. 그 이유야 당연히 Windows환경을 요구하는 경우가 은근히 있기 때문이지요. Wine으로 해결이 가능한 부분도 많지만 Windows 시스템 그 자체를 원한다면 어쩔 수 없습니다. 보통 궁극의 해결책이라고 표현하지요.

 

특히 유용한 기능중 하나가 USB Passthrough 기능입니다. 리눅스를 통하지 않고 바로 USB장치를 가상머신에 연결하게 해서 Windows드라이버만 지원하는 장치를 돌아가게 하거나 직접 Windows에서 작업 가능하도록 짜인 장비를 연결하는데에 이용가능합니다.

 

2015년에는 VirtualBox에 주로 WindowsXP를 사용했다면 이후 2019년까지는 Windows7이 그리고 2020년 현재에는 주로 Windows10이 가상머신에 이용되고 있습니다. 그런데 USB3.0을 지원하지 않는 WindowsXP는 그렇다 치는데 Windows7에서 USB장치가 인식이 안 되는 경우가 왕왕 있습니다.

 

보통 VirtualBox에 USB장치를 연결하는건 이런식으로 연결할 것이다. 실수로 USB키보드나 마우스를 연결하지 않도록 하자. 지옥을 맛 볼 수 있다.

우선 확인해주셔야 할 것은 버전에 맞는 Extension Pack을 설치했는가 입니다.

https://www.virtualbox.org/wiki/Downloads

이곳에 가셔서 VirtualBox Extension Pack을 찾아 다운로드 받아주셔야 합니다.

 

영어를 몰라도 대충 알아서 찾아 가도록 하자

이것을 설치해 주시면 USB장치를 지원이 할 수 있게 됩니다.

 

그 다음은 리눅스에서의 권한 문제입니다.

리눅스에서 사용자가 VirtualBox사용 권한을 얻어야 하는데 이를 설정하지 않으면 작동하지 않습니다.

그건 다음 링크에서 확인이 가능합니다.

https://moordev.tistory.com/205

 

VirtualBox사용시 USB 인식이 안 될 때

VirtualBox는 리눅스에서 다들 이용하고 계실 겁니다. 윈도 프로그램을 실행할 때 가장 마지막으로 시도하는 방법으로 다들 이용하고 계시지요. 그런데 VirtualBox를 쓸 때 USB가 인식이 안 되는 경우��

moordev.tistory.com

그런데도!!! 아직도!!! 인식이 안 된다면!!!!

 

그렇다면 한번 USB설정을 살펴봅시다.

우선 Windows장치의 설정으로 들어갑니다.

그리고 USB를 보시면 USB 2.0(EHCI) 컨트롤러 혹은 USB 3.0(xHCI)컨트롤러 둘 중 하나가 체크되어 있을 것입니다. 만약 1.1이라면 당장 바꾸세요. 지옥의 속도를 경험하게 됩니다.

 

여기서 한가지 알 수 있는 것은 USB 1.1에서는 인식이 되는데 2.0이상일 때 인식이 안 되거나 혹은 2.0은 되는데 3.0이 안 되는 경우가 있다는 것입니다.

 

이 것은 Windows 문제입니다. Chipset Driver나 USB드라이버가 설치되어 있지 않아서 벌어진 일입니다. 

Windows를 설치한 다음 우리는 보통 업데이트를 바로 돌려버리거나 알아서 업데이트를 하는데 이때 장치 드라이버가 자동으로 설치됩니다. 그런데 VirtualBox에서는 장치인식문제로 드라이버가 자동으로 설치되지 않는것입니다.

 

그렇다면 수동으로 설치하면 된다는 의미겠지요.

https://downloadcenter.intel.com/download/22824/Intel-USB-3-0-eXtensible-Host-Controller-Driver-for-Intel-8-9-100-Series-and-Intel-C220-C610-Chipset-Family

 

Download Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 8/9/100 Series and Intel® C220/C610 Chipset Family

Intel® USB 3.0 eXtensible Host Controller Driver for Intel® 8/9/100 Series and Intel® C220/C610 Chipset Family

downloadcenter.intel.com

여기 있는 이 드라이버를 설치하거나

 

https://downloadcenter.intel.com/download/22904/Intel-USB-3-0-eXtensible-Host-Controller-driver-for-S1200V3RP?wapkw=USB

 

Download Intel® USB 3.0 eXtensible Host Controller driver for S1200V3RP

Intel® USB 3.0 eXtensible Host Controller driver for S1200V3RP

downloadcenter.intel.com

이 드라이버를 설치하면 됩니다.

 

만약 Windows10환경에서 안 된다면 그냥 Windows Update에서 한번 싸아악 돌리면 해결됩니다!

,

우린 HDD보다 SSD가 훨씬 더 빠르고 또 그렇게 될것이라고 믿습니다.

그래서 HDD를 쓰는 PC를 SSD로 바꾸기만 해도 다른 컴퓨터가 되곤 하지요.

 

이번에 제 노트북속도가 영 아니어서 이상하다 싶어서 점검을 하다보니 HDD의 S.M.A.R.T가 심상치 않더군요. 실패목록이 있고 배드섹터도 어느정도 있으며 대체된 섹터가 거의 다 차 있었습니다. 2014년부터 쭉 써왔으니 그럴만 했지요. 노트북이니 여기저기 들고다니기도 했고요.

 

그래서 이 참에 오래된 HDD도 바꾸고 SSD로 넘어도 갈겸(노트북을 새로 사기엔 이 녀석은 너무 쌩쌩합니다. 자잘한 업무에는 지장없음) 새로운 SSD를 넣었습니다.

 

요녀석이 이번에 나 죽어요!를 외치던 녀석이다. 그동안 수고했다.

노트북을 뜯어서 HDD를 적출하고 새 SSD를 사서 Gparted를 이용해서 파티션 복제를 했습니다.

 

이녀석이 이번에 새로 구매한 SSD 1TB짜리다.

파티션 복제는 쉬웠습니다. 라이브 리눅스를 이용하면 Gparted를 쓸 수 있고 이걸 이용하면 파티션 복제는 뚝딱이었으니까요.

 

그런데 문제가 있었습니다.

 

이상하게 SSD로 바꿨음에도 부팅속도가 영 아닌겁니다. 아니 HDD시절보다 더 느려졌습니다. 아무리 HDD라도 1분 이상을 넘긴적이 없는데 2분 이상의 부팅속도를 보이더군요. 처음엔 설정문제인가 싶었는데 알고보니 특정 SSD와 리눅스 커널간의 버그랍니다.

 

https://askubuntu.com/questions/1049693/slow-boot-time-ubuntu-18-04-on-ssd

 

Slow boot time (Ubuntu 18.04) on SSD

I've come back to Ubuntu; I'm on Dual boot (Windows 10/Ubuntu 18.04) on a SSD with no swap partition. I have a problem. While Windows boot time is just a matter of 3-5s, Ubuntu takes 30-40s. I've

askubuntu.com

 

제가 사용한 SSD는 마이크론 MX500입니다. 인기있는 제품이기도 하고 가격도 착한편이라 많이 사용합니다. 그런데 이 물건이 바로 해당 버그가 있던 모델중 대표적인 제품입니다.

 

하지만 리눅스의 좋은 점은 튜닝이 쉽다는 것이고 해당 버그는 우분투 18.04에 있던 버그이니 최신 커널을 사용하는 20.04에서는 해결되었을 가능성이 매우 높습니다. 그냥 참고 하시기 바랍니다.

 

터미널을 엽시다.

 

그리고 다음과 같이 칩니다.

 

sudo nano /etc/initramfs-tools/conf.d/resume

 

 

그리고 로그온 패스워드를 치면 편집창이 뜹니다. 그리고 해당 내용을 다음과 같이 고칩니다.

 

RESUME=none

위 한줄이면 됩니다.

 

저 처럼 기존에 있던 줄 앞에 #을 붙이고 아래에 RESUME=none 이라고 쳐도 되고 그냥 싹 지운다음 한줄을 쳐도 됩니다. 그리고 Ctrl+O를 누르면 저장이 됩니다. 그리고 Ctrl+X를 누르면 다시 터미널 쉘로 빠져나옵니다.

 

 

이제 재부팅!!!

 

부팅속도가 상당히 빨라진것을 알게 될 것입니다.

 

추가.

 

SSD는 /etc/fstab에서 discard 옵션을 넣어줘야 자동 TRIM기능이 작동한다고 합니다. 

SSD를 쓰고 계신다면 /etc/fstab에 defaults라고 써있는 것을 discard,defaults 이렇게 바꿔서 discard 옵션을 추가해주시기 바랍니다. 자동 TRIM은 일주일에 한번꼴로 작동합니다.

,

https://anbox.io/

 

리눅스에서 안드로이드를 돌리려는 방법은 많이 있었습니다.

Genymotion이나 블루스택 등이 대표적이지요.

 

하지만 안드로이드는 아시다시피 리눅스를 기반으로 하고 있고 같은 커널을 사용합니다. 그래서 Shashlik이나 Anbox같은 같은 커널에서 안드로이드를 돌리려는 시도가 있었습니다.

 

그중에서 Anbox는 확실히 괜찮은 성능과 괜찮은 효과를 보유하고 있습니다. 미래도 창창한 편입니다.

 

일단 우분투에서는 SNAP을 이용해서 쉽게 설치가 가능합니다.

 

우선 커널 모듈을 설치해야 합니다. Anbox Support PPA를 등록해서 이용하면 편리합니다.

 

터미널을 열고

 

sudo add-apt-repository ppa:morphis/anbox-support

sudo apt update

sudo apt install linux-headers-generic anbox-modules-dkms

 

이걸로 우선 커널모듈을 설치 할 수 있습니다.

 

그리고 이제 자동으로 커널 모듈이 올라오도록 합시다

 

sudo modprobe ashmem_linux

sudo modprobe binder_linux

 

이렇게 하면 우선 Anbox를 구동하기 위한 사전 준비는 되었습니다. 이제 SNAP을 이용해서 Anbox를 설치합시다

 

sudo snap install --devmode --beta anbox

 

이걸로 anbox가 설치 됩니다. 만약 snap이 구동이 안 된다면 snap도 미리 설치해주세요.

 

sudo apt install snap snapd

 

(보통 우분투는 미리 설치되어 있습니다.)

이제 메뉴에서 Anbox Application Manager를 볼 수 있습니다. 처음 실행하면 오래걸리는데 기다려 주세요. 그러면...

 

PlayStore는 이 다음에 설명할 설치법 이후에 나타날 것이다. 안 보인다고 좌절하지 말자
처음에는 영어로 나올텐데 Language에서 한국어를 추가할 수 있다

 

 

그런데 안드로이드를 쓰는데 PlayStore가 없으면 앙꼬 없는 찐빵이죠?

구글 플레이 스토어를 설치해봅시다

 

https://github.com/geeks-r-us/anbox-playstore-installer/blob/master/install-playstore.sh

 

이 스크립트를 이용하면 편리하게 설치가 가능합니다.

 

터미널에서 역시 작업 합니다.

 

우선은

 

sudo apt install wget lzip unzip squashfs-tools

 

이걸로 필요한 프로그램을 설치합니다. 보통은 다 설치되어 있지만 혹시 모르니까요.

그 다음

 

wget  https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh

 

그리고 

 

sudo bash install-playstore.sh

 

이제 뭔가 막 지나갈텐데 기다리시면 뭔가 다운로드 받으면서 시간을 잡아 먹을 겁니다. 

 

하나는 PlayStore이고 하나는 Libhoudini라는 ARM명령어 번역기 입니다. 대부분 안드로이드 앱은 ARM용으로 만들어지기 때문에 ARM번역기가 거의 필수입니다.

문제는.... LibHoudini 다운로드 속도가 느려서

가끔 sudo 암호가 풀려서 다시 쳐줘야 한다는 겁니다.

 

그냥 묵묵히 기다리지 말고 가끔 터미널을 보도록 합시다

 

그리고 다시 Anbox Application Manager를 열면!!! 짜안! PlayStore가 있습니다. 거기에 ARM번역기가 들어갔으니 엥간한 앱은 실행이 잘 될겁니다!

,

 최근 Steam의 Remote Play를 애용하고 있습니다. 지금 사용하는 노트북 PC가 워낙 오래된 물건이라 게임이 돌아가지 않는데 최근에 Windows를 돌리기 위한 데스크탑PC를 하나 맞췄거든요. 그런데 문제는 데스크탑PC는 있는데 모니터가 없습니다.

 

 이쯤되면 모니터를 새로 하나 사는 것이 낫겠지만 그냥 스팀의 리모트 플레이를 쓰니까 굉장히 편해서 모니터를 안 사고 이걸로 버티는중입니다.

 

 그러니까 WindowsPC에서는 자동으로 스팀 로그인을 하게 세팅을 하고 리눅스가 돌아가는 노트북 PC에서 리모트플레이를 하는 것이지요. 생각보다 게임이 잘 돌아갑니다. 이전에는 멈칫거리고 딜레이도 심했는데 알고보니 공유기가 오래되서 그랬던 것이고 공유기도 짱짱한 놈으로 바꿨더니 딜레이도 거의 없어서 리듬게임이나 FPS게임도 아무 문제없이 가능합니다.

 

그런데... 30분~1시간 정도 플레이하고 나면 알 수 없는 오류로 리모트 플레이 클라이언트가 멈추는 현상이 일어납니다. 이런저런 방법을 찾아봤는데 제가 내린 결론은...

 

그래피카드 드라이버 문제였습니다. 리눅스에서는 동영상 가속 시스템으로 VDPAU나 VAAPI를 쓰는데 둘다 스팀의 방식과는 어딘가 안 맞는 것이었습니다. 

 

그럼 방법은 하나입니다. 그냥 CPU를 갈구면 됩니다. CPU동영상 렌더링 방식을 써서 오류가 난적은 거의 없습니다. CPU가 그렇다고 안 좋은 것도 아니니 만약 CPU만으로 1080을 돌릴 수 있을 정도면 되고 그래도 성능이 딸린다 싶으면 대역폭을 제한해서 낮은 비트레이트로 돌리면 됩니다. 

 

클라이언트의 스팀에서 설정으로 들어갑니다.

그리고 Remote Play에 보시면 고급 클라이언트 설정이 있습니다. 이쪽을 선택합니다.

여기서 하드웨어 디코딩 활성화의 체크를 풀면 CPU를 열심히 갈구게 됩니다. 만약 멈칫 현상이 잦다면 이쪽을 쓰는 것을 추천합니다. 그리고 CPU렌더링이기 때문에 성능이 모자라게 될 수 있는데 그럴 때는 해상도 제한과 대역폭 제한을 이용해서 CPU가 감당할 수 있게 제한을 넣어주면 됩니다.

,