'DirectX'에 해당되는 글 1건

반응형






01. 원격데스크톱



윈도우를 사용함에 있어 항상 느끼는 고민거리 중 하나가 작업의 연속성이다. 작업의 연속성이란 내가 컴퓨터에서 작업하던 것을 스마트폰에서 바로 이어할 수 있고, 다른 컴퓨터에서 다시 이어할 수 있는 것을 말한다. APPLE사의 환경은 그러한 것들이 잘 되어있다. iCloud 와 애플만의 연속성을 지원하는 플랫폼이 모든 것을 다 알아서 해 준다. MS에서도 이런 것을 인식했는지, 윈도우 8부터는 MS 계정에 로그인을 할 수 있도록 하여 모양은 어느 컴퓨터에서든 동일하게 만들어 준다. 하지만, 계정을 통한 동기화는 MS 의 제품들에 한정되어있고 오히려 동기화가 컴퓨터 사용환경을 방해하는 모습을 보이기도 한다.


그래서 필자는 연속성이 필요한 작업이 있는 경우 원격데스크톱을 이용한다. 노트북이나 휴대폰이 VPN 서버에 연결을 하고, 내부 네트웍으로 윈도우 PC에 RDP 로 접근을 하여 작업을 진행하고 있다. 대표적인 것이 블로그 포스팅 작업과 컴퓨터 견적 작업이다.


원격 데스크톱을 처음 접한 것은 Windows XP 시절 대학교 연구실에서이다. 필자의 대학생 시절에는 교수님 연구실에 소속되어 별도로 공부하곤 하였다. 각 연구실 마다 외부에서 접속 가능한 공인아이피가 몇 개 씩 주어졌었는데 필자는 이 아이피를 컴퓨터에 설정하고, 원격데스크톱이란 것을 설정하였었다. 그리하여 언제든지 수업 과제를 진행할 수 있었고, 연구실 프로젝트에 대한 코드를 작성할 수 있었다. 참으로 신세계였다. 외부에서 항상 동일한 환경을 사용할 수 있다는 것은 작업 능률을 엄청 올릴 수 있었다.




하지만 여기서도 많은 문제가 있었는데 원격데스크톱은 2가지 큰 단점을 가지고 있었다.


첫 번째로는 네트워크 상황에 따라 성능 차이가 심했다는 것이다. 대학생 시절, 남들 보다 신기한 것을 먼저 해보고 싶었던 마음에 넷스팟이라는 KT 무선 인터넷과 노트북을 사용하고 있었다. 대학 캠퍼스 내에는 넷스팟이 전부 지원되는 공간이라 넷스팟 월 정액은 아깝지 않은 금액이었다. 하지만 넷스팟의 인터넷 속도는 원격데스크톱을 부드럽게 쓰기에는 많이 느렸다. 그래서 효과라던지 표현 색상에 대한 설정을 저사양으로 설정하고 사용해야만 간신히 작업을 할 수 있는 수준이었다.


두 번째로는 네트워크 상황이 좋다 하더라도, 그래픽 성능이 엄청 떨어졌다. 동영상 플레이를 할 수 없는 것은 물론이고, 작업 중 마우스 스크롤을 많이 쓰는 작업을 하기라도 한다면, 화면 깨짐 및 딜레이가 엄청났다.



[그림1] 원격데스크톱 연결 프로그램(mstsc)



기술의 발달로 RDP의 버전도 올라가고, 인터넷 속도도 기하급수적으로 빨라졌다. 이젠 원격데스크톱이 실 사용 가능할 만큼 되었다. 하지만, 여전히 그래픽 가속이 필요한 부분에서는 답답함을 느끼게 된다. 이는 RDP 호스트에서 보내는 영상 데이터를 온전히 RDP Client 에서 처리를 해야 하기 때문이다. 따라서 패킷도 많아지고, Client의 부담도 늘어나게 된다. 호스트에 아무리 비싸고 성능 좋은 그래픽카드를 장착하여도 원격데스크톱을 이용할 경우 그래픽 카드의 성능을 1%도 사용할 수 없다.





[그림2] 원격 데스크톱 클라이언트의 옵션타협설정 화면






02. 원격데스크톱도 네이티브 컴퓨터처럼 사용할 수 있을까?



그래픽 성능만 제외한다면, 원격데스크톱의 성능은 수준급이다. 호스트의 성능을 그대로 사용할 수 있을 정도이다. 그럼 그래픽 성능만 해결하면된다. 다행히도 이러한 갈증을 해결해 줄 수 있는 기술이 있다. 바로 remoteFX 이다.



[그림3] Wikipedia 의 RemoteFX 설명 (출처: https://en.wikipedia.org/wiki/RemoteFX)



RemoteFX 기술이 무엇인지를 가장 손쉽게 다가갈 수 있는 Wikipedia에서 찾아 보았다. 일단, MS에서 개발한 것은 맞다. RDP를 위한 향상된 Visual Experience에 대한 기술이다. Windows Server 2008 R2 SP1 에서 최초 소개가 되었다고 한다. 설명만 읽어보게 되면 RDP 의 그래픽 성능을 향상시킬 수 있을 것으로 보인다.


 




[영상1] RemoteFX를 이용한 게임 플레이 영상



성능이 얼마나 좋을지 RemoteFX 를 활용한 영상을 유튜브에서 찾아 보았다. 3년전 영상이긴 하지만, RDP에 RemoteFX 기술을 적용하니, 게임플레이까지 가능하고, 실행 수준에 머문 것이 아니라 심지어 게임을 즐길 수 까지 있는 수준이다. 정말 필자가 원하던 그림이 나오기 시작한다.




03. RemoteFX의 조건



[그림4] Wikipedia 의 RemoteFX 요구사항 (출처: https://en.wikipedia.org/wiki/RemoteFX)



RemoteFX를 사용하기 위한 조건을 살펴본다. 일단 Windows 10 은 Version 1511 부터 지원을 한다고 한다. 현재 Windows 10 RS4 버전이 1803이니, 현재 버전이면 충분히 지원 가능한 조건이다. 그런데, client Hyper-V 라는 부분이 있다. 아무래도 Virtual Machine 상에서 지원이 가능한 것으로 보인다. 네이티브로 쉽게 설정될 수 있는 부분은 아닌 것으로 보인다.




vGPU Requirement 부분을 살펴보면 조금 더 명확해 진다. Hyper-V 는 호스트에 설치가 되어있어야 하는 필수조건이다. 그리고 Hyper-V 상의 VM 에서 동작을 한다고 한다. 역시 RemoteFX는 가상화 솔루션의 일부였다. 이 말의 의미는 결국 Windows 10 호스트 PC에 Hyper-V 를 이용한 VM 을 생성하고, 그 VM이 RemoteFX 기술을 사용한다는 것이다.


추가 조건을 살펴보니, DirectX 11.0 을 지원하는 그래픽 카드에 WDDM 1.2 드라이버가 서버에 설치 되어 있어야 한다. 즉, 호스트 PC 가 서버가 되는 것이고, 그 호스트 PC에는 DirectX 11.0 을 지원하는 그래픽카드가 장착되어있고, WDDM 1.2 이상의 드라이버로 구동되고 있어야 한다는 의미이다. 그 호스트 PC에 Hyper-V를 이용하여 VM 을 만들게 되면 호스트 PC의 GPU 자원을 remoteFX 기술을 이용하여 활용할 수 있다는 의미이다.




04. 조건을 알았으니, 충족하는지를 확인해 보자



필자가 RDP 용으로 사용하고 있는 서버는 필자의 메인 노트북인 Lenovo E440 모델이다. 평소에 최대 절전모드로 진입해 있고, RDP 사용이 필요할 경우 Wake On Lan 을 통한 Magic Packet으로 깨운다음 RDP 로 접근하여 사용하고 있다. Lenovo E440 모델은 Intel(R) HD Graphics 4600 내장그래픽과 Nvidia Geforce 840M 이라는 외장 그래픽이 장착되어 있다. 사실 노트북으로 게임을 하지 않으니, 지금까지의 외장그래픽은 무용지물이었다.


[그림5] Lenovo E440 그래픽 사양



드디어 GeForce 840M 이 빛을 보는 순간이 오는 것인가? 드라이버도 확인해 보았다. 이미 2016년 이후에 출시된 840M 드라이버들은 WDDM 2.1 을 지원하는 드라이버였다.


그럼 DirectX 11 이상을 지원하는 지 확인하면 된다.





[그림6] Nvidia 공식 홈페이지 840M 특징 설명 (출처: https://www.nvidia.co.kr/object/geforce-840m-kr.html)





05. 이제부터 시작이다.



기술을 알았고, 그 기술에 대한 범위를 알았다. 준비물도 준비가 되었다. 준비물이 기술에 대한 준비가 되었는지도 확인이되었다. 이제 시작만 하면 된다. 


어떤 기술들은 시작과 동시에 적용이 끝날 만큼 설정이 쉽다. 어떤 기술들은 가이드 대로 하면, 까다롭긴 하지만 순조롭게 진행이 된다. 최악의 경우는 간단할 것 같아 시작했지만 생각지도 않은 문제가 튀어나올 경우이다. 


이번 RemoteFX 역시 그러한 기술이 있다 정도만 듣고 정보를 수집해 본 것이다. 정보를 수집하면서 가상환경을 이용해야 한다는 것을 처음 알았고, 그 가상 환경은 Hyper-V 를 이용해야한다는 것이다. RDP 서버에서 remoteFX 를 지원하게 설정한 다음에는 remoteFX를 지원하는 RDP Client 를 선정해야 할 것이다. 윈도우 사용자라면 윈도우에 포함되어 있는 RDP 클라이언트(mstsc)를 사용하면 되겠지만, 리눅스 사용자 또는 안드로이드 사용자는 어떻게 할 것인가?




정보를 찾아보니, 리눅스와 안드로이드 모두 정답에 근접한 솔루션이 있다.(아이폰은 확인해 보지 못했다.)


일단 시작하는 단계이니 차근차근 호스트 설정부터 해본다. 2부에서 계속 진행하기로 한다.





2018년 8월 22일

Kunttang


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,