Nvidia Optimus란 기술은 노트북과 같은 모바일 기기에서 배터리를 효율적으로 쓰기 위해 만들어진 기술입니다.

인터넷같이 가벼운 작업은 성능낮은 내장 그래픽으로 돌리고 게임같은 그래픽카드 팍팍 돌리는 프로그램에서는 자사의 Nvidia그래픽카드를 이용해 돌리는 기술입니다.

 

이렇게 하면 필요할때만 고성능을 요하게 되고 꽤나 이상적인 노트북 환경이 됩니다만...

 

현실은 그리 녹록치 않았습니다.

윈도우에서도 옵티머스 기술로 인해 버벅임이 심해졌다는 평이 잦고 MS, 인텔, Nvidia 어느누구 하나 손발이 맞지 않는 모습이 보이면서 진짜 고성능을 요하는 사람은 옵티머스가 적용되지 않은 노트북을 찾습니다.

 

문제는...리눅스에서도 만만치 않은 문제를 일으킨다는 겁니다. 불행인지 다행인지 근 10년이 넘는 기간이 지나면서 많이 해결되어 왔지만 리눅스에서의 옵티머스는 그냥 기본옵션이 Performance모드 즉, 윈도에서 고성능전용 모드가 기본값입니다. 얘네도 실제 옵티머스 동작이 그렇게 썩 좋지 않다는 것을 알고 있는 겁니다.

 

그리고 이 옵티머스 동작이 바로 리누즈 토발즈 형님이 Nvidia에게 뻑유!!를 날리게 된 결정적인 이유였습니다.

https://www.phoronix.com/scan.php?page=news_item&px=MTEyMTc

 

Linus Torvalds Calls NVIDIA The Worst Company Ever - Phoronix

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, gra

www.phoronix.com

정확히 말하면 누군가가 리눅스에서 옵티머스가 고통스럽다고 질문했고 이에 대한 토발즈의 답변이 바로 이거였습니다.

그런데 또 생각해보면 Nvidia만한 안정적인 드라이버를 만드는 곳도 드물다는걸 생각해보면...

 

어쨌건 이런 상황을 보던 캐노니컬도 눈뜨고 보고 있지만은 않았고 Prime이라는 기술을 만들어냅니다. (둘이 합치면 옵티머스 프라임 - 트랜스포머에 나오는 그 로봇이지요.) 일반 커뮤니티에서는 VirtualGL기술을 사용한 Bumblebee (네, 마찬가지로 트랜스포머에 나오는 범블비 맞습니다.)라는 것으로 대체 했습니다.

 

지금은 Bumblebee는 사실상 도태된 상황이고 Nvidia드라이버를 설치하면 PRIME을 기본적으로 사용하는데 기본 모드가 Performance 모드입니다. 사실상 옵티머스 동작이 아닙니다. 그냥 모든 순간 Nvidia카드 가속입니다.

 

nvidia-config을 실행해서 PRIME Profile을 보면 3가지 모드가 있는데 Intel은 비싼 노트북 사서 돌릴 사람은 아무도 없을 것 같고 Nvidia On-Demand와 Nvidia(Performance Mode) 둘중 하나가 가장 이상적인 환경인 것이지요.

 

그중 가장 이상적인 환경은 Nvidia On-Demand입니다만... Vulkan이나 OpenGL환경이 들어가면 자연스럽게 Nvidia카드로 가속을 하는 모드입니다.

그런데...

윈도우때도 그렇지만 이게 자연스럽게 안 넘어갑니다.

윈도우도 https://coolenjoy.net/bbs/37/143437?sca=%EA%B7%B8%EB%9E%98%ED%94%BD%EC%B9%B4%EB%93%9C&page=5

 

쿨엔조이,쿨앤조이 coolenjoy, cooln, 쿨엔, 검은동네

pc,컴퓨터, 하드웨어,CPU오버클럭,VGA쿨러,오버클럭,PC튜닝,케이스튜닝,cpu,vga

coolenjoy.net

이런일이 비일비재 하는데 리눅스라고 정상적일리가...

 

노트북을 위해 On-Demand모드로 만들고 Blender를 실행해보니..

Xorg만 가속이 되고 Blender는 내장으로 돌아가는 모습이 보입니다.

Nvidia카드 사용량을 보는건 nvidia-smi를 실행해보면 알 수 있습니다.

 

Blender쯤 되면 알아서 넘어가야하는거 아닌가 싶은데 nvidia-config에도 무언가 프로파일 설정을 해서 넘기는게 있겠거니 했는데..

뭔가 되게 복잡합니다.procname을 적고 그에 따라 프로파일을 맞춰서 돌아가게 한다는건 좋은 생각인데 그래픽카드 쓰는 프로그램이 어디 한둘이어야죠. 그냥 메뉴에 붙은 바로가기를 수정해서 스크립트로 처리하면 안 될까 싶더군요. 예전에 Bumblebee때는 opti-run이라는 것으로 처리했었는데 이런 것처럼 말이죠.

 

https://askubuntu.com/questions/1237658/nvidia-on-demand-run-specific-applications-on-dgpu

 

NVIDIA On-Demand: run specific applications on dGPU

I enabled the new "NVIDIA On-Demand" option in the NVIDIA X Server Settings. Now everything uses the iGPU by default, which should be better for battery life (at least, that's what I'm hoping for)....

askubuntu.com

있네요...

 

export 명령을 사용해서 PRIME설정을 그때만 바꾸는 방식입니다. 전역 설정이 아니라 그 세션에서만 돌아가니까 바로가기 명령에 저걸 새겨넣기만 해도 충분합니다.

 

다만 명령줄이 조금 깁니다.

그래서...

 

nvidia-run.tar.gz
0.00MB

스크립트를 하나 만들었습니다. nvidia-run 이라는 스크립트인데 위 첨부파일을 다운로드 받아 압축을 풀어서 나온 스크립트를 /bin 혹은 /usr/bin에 넣어두고 NVidia On-Demand 상태에서 고성능이 필요할때마다 opti-run때처럼

 

nvidia-run 사용할 프로그램

 

이런식으로 사용하면 됩니다.

 

예를 들면..

스팀을 Nvidia 카드 없이 그냥 실행하면

이렇게 nvidia-smi에 아무것도 안 뜨지만

 

nvidia-run steam 이라고 실행하면

이렇게 뜹니다. 즉, Nvidia카드를 쓰는 것이지요.

 

이렇게 고성능이 필요한 프로그램이 있다면 메뉴편집기를 사용해서

Menulibre. 내가 가장 편하게 쓰는 메뉴 편집기이다.

이렇게 명령부분 앞에 nvidia-run 을 적는 것으로 고성능모드를 쓰게 됩니다. PlayonLinux나 Steam 같이 게임같이 고성능을 요구할 경우에는 nvidia-run을 붙여주면 끝이 납니다. (딱 opti-run 사용방법 그대로라고 생각하면 됩니다.)

 

어차피 명령줄로 실행하는 경우는 GUI에선 드무니까 이런식으로 쓸 수 있다면 엄청 편리하겠지요! 귀찮기는 하지만 이게 진짜 Optimus 기능이 아닐까 싶습니다.

 

 

P.S 사실 이렇게 쓰게된 계기가 가상머신에서 GPU가속쪽에 문제가 생겨서 보니 옵티머스 문제였고 가상머신에서 옵티머스를 끄니까 아주 잘 돌아가더군요. 그렇다고 아주 끄니 3D가 너무 느리고요. 중간인 On-Demand를 켜고 이런식으로 쓰니까 시스템이 상당히 안정적이게 되어서 그냥 이렇게 쓰기로 했습니다.

,

 

위를 보면 알겠지만 충분히 가능하다.

넵튠 리버스1 때도 그랬고 이번에 요마와리 삽질하면서 느낀게 삽질도 하다보면 는다는 것.

 

이야기를 하자면 좀 길다..

이게 어떻게 가능했냐면. 요마와리 1의 한글패치의 경우 중국어화 패치를 이용했다고 써있었다.

https://github.com/wmltogether/yomawari-pc-translation/tree/master/pc-tools

 

GitHub - wmltogether/yomawari-pc-translation: yomawari-pc-translation-project

yomawari-pc-translation-project. Contribute to wmltogether/yomawari-pc-translation development by creating an account on GitHub.

github.com

해당 소스는 여긴데 당연히 이걸로는 신 요마와리의 데이터를 휘적휘적하는 것은 불가능했다.

하지만... 헥스노가다와 기타 삽질을 통해서..

 

공식중 일부가 다른 것을 확인해서 수정

매직넘버라고 생각한것은 그냥 기존 dat위에 오프셋 값을 덮기만 하면 되므로 무시

 

pc_tools에서 text_export.py를 분석하니 오프셋값이 3바이트에 하나씩 쓰여서 0x4+0xC *i +0x4형태로 오프셋을 만드는 것이 확인 되었다.

하지만 이건 요마와리1의 경우고 신 요마와리는 오프셋값이 4바이트에 하나씩 쓰여있는 것이 확인 0x4+0x10*i+0x4로 고쳐주니 텍스트 뽑기가 무사히 된다. 단, 구조가 약간 다르므로 마지막줄에 0x00을 하나 더 삭제하면 된다. 그래도 역시 파이썬이 소스 읽기는 참 편하다.

 

ymwr2_korean_text.7z
0.00MB

이게 요마와리2에 맞게 수정한 파이썬 스크립트 단점이라면 파이썬2.7이라 새로 파이썬을 또 깔아야 한다는 점? (파이썬3는 기본적으로 깔려있지만 파이썬2는 지원이 끝난지 오래라 따로 깔아야 한다.)

 

그리고 폰트의 경우는 pc-tools폴더에서 font.csv파일을 열어서 내가 원하는 TTF 파일로 수정하고(개인적으로 나눔시리즈들이 참 좋은듯) csv_list.txt에 KS X 1001 문자 전체를 다 때려박아서 한글을 지원하면서 몇가지 특수문자도 지원하게 한다.

그리고 NISFontBuilder.exe 돌려버리면 import 폴더에 짠하고 폰트파일이 들어가니 이걸 이용하면 쉽다.

 

이제 남은건 번역과 이미지 수정뿐.

우선 이미지 수정은 귀찮기도 하거니와 딱히 필요하지 않으면 영문판 이미지 그냥 사용할 생각이다. fad 파일 뜯으면 된다고 하는데 귀찮은건 귀찮은거다. 이미 플레이스테이션이랑 스위치로 한글판 다 했을테니 그냥 내 흥미 본연의 이유로 하는 것.

 

 

현재는 구글번역기 돌려서 그걸 때려박았는데 좀 웃긴 결과가 나오는 중. 역시 번역은 손번역이 최고다.

 

https://github.com/MoorDev/shin-yomawari-pc-kr-translation-project

 

GitHub - MoorDev/shin-yomawari-pc-kr-translation-project: shin yomawari-pc-kr-translation-project

shin yomawari-pc-kr-translation-project. Contribute to MoorDev/shin-yomawari-pc-kr-translation-project development by creating an account on GitHub.

github.com

현재까지 작업물은 여기에 다 때려박았다.

 

가져가서 쓰실분은 쓰시고 바이트 단위로 삽질하는거 구경하고 싶으면 직접 해보시길

,

윈도우쓰시는분들은 전혀 모르시겠지만 오래전부터 유닉스쪽에서는 자신이 사용하는 에디터에 대해 거의 신성불가침 수준의 전쟁이 있었습니다.

고작 텍스트 찌적이는 에디터가지고 뭘그러냐 싶겠지만 이놈의 유닉스에디터는 코딩시 필수적인 물건이라 이런저런 것들을 덧붙여서 기능을 강화하는데 이 수준이 미쳐돌아가서 일반인들은 건들기도 겁나는 물건이 만들어졌습니다.

CLI환경기준 nano가 초보 리눅서나 서버개발자들이 쓰는 에디터인데 이건 그냥 CLI버전 메모장입니다.
보통 말하는 "고작 텍스트 찌적이는 에디터"입니다. 기능도 딱 메모장 수준이고 할 수있는것도 메모장 수준입니다. 이걸로 코딩을 했다간 수많은 들여쓰기와 복붙작업으로 고생 깨나 할겁니다.

그래서 보통 서버설정 혹은 프로그램의 conf파일 수정용도로 사용합니다. 말그대로 초보자용이지요.

이제부터가 진짜입니다. 텍스트 에디터라기보다 그냥 IDE라 불리는 녀석입니다.
emacs와 vi

이 둘이 그 전쟁의 주인공입니다. 둘의 특징을 간략히 설명하자면

emacs는 기본기능은 말 그대로 기본만 있습니다. 그런데 각종 LISP플러그인으로 확장이 가능합니다. 덕분에 에디터만 가지고 오만 잡것이 가능합니다.

vi는 손이 키보드에서 떨어지지 않아도 되고 대부분을 명령키로 처리합니다. 그래서 속도가 엄청나게 빠릅니다.

그런데 단점이 둘다 명확합니다.
"초보자에겐 추천하기 힘들다."

사실 emacs나 vi나 그냥 서버에 내장되어있으니까 쓴다에 가깝지 이걸로 2021년에 코딩하려고 한다면 말리고 싶습니다. 그냥 본인이 편한거 쓰면 되지만 서버는 자원 최적화가 중요하다보니 하나만 설치된 경우가 많거든요. 서버코딩은 VS code server설치해서 웹브라우저로 하는게 현재로선 최고라고 보고 있습니다.

만약 자신이 전산 관리자고 서버에 에디터를 하나만 써야한다면? 그냥 기본설치된 에디터쓰고 나머지는 웹에서 할 수있게 처리하는게 제일 인듯 합니다.

그래서 결론은 뭐냐고요?
대체 저때는 왜 싸운겁니까?

그러고보니 요즘 데비안, 레드햇은 nano를 기본으로 하는것 같은데 그냥 쓰고 싶은거 쓰는게 최고 같습니다.

,

libblas.so.3: cannot enable executable stack as shared object requires: Permission denied

 

ARM용 우분투 사용중에 numpy를 쓰려고 하니 atlas, openblas에서 이런 오류가 나온다.

이건 execstack이 등록이 안 되서 그런 것이므로 등록해주면 된다. ARM용 우분투는 임베디드에 가까워서 이런 자잘한 것이 삭제되어 있기 때문.

 

sudo apt install execstack

execstack -c /usr/lib/arm-linux-gnueabihf/libblas.so.3 

이런 식으로 오류가 난 라이브러리를 스택에 등록하면 된다. 저기 있는 arm-linux 대신 aarch64-linux 일수도 있다. 이건 본인이 가지고 있는 보드에 따라 다르다.

,

Termux는 안드로이드에서 리눅스를 구동하는데 매우 편리한 앱입니다.

기본적으로 CLI만을 사용하지만 리눅스라는 특성상 여러 꼼수를 사용하면 GUI도 사용가능합니다.

 

하지만 제가 사용하고자 하는 것은 오래된 스마트폰을 라즈베리파이가 그랬던 것처럼 Python개발용으로 사용하는 것입니다. 특히 아무래도 개발용이기에 Python을 설치하는 것을 중시합니다.

우선 설치하고 Termux를 켜는 것으로 리눅스 구동이 바로 되고 백그라운드에서 실행되기까지 하기 때문에 상당히 안전하게 구동 할 수있습니다. (배터리 관리 프로그램이 Termux를 죽일수도 있는데 그걸 방지하는 설정을 꼭 합시다.)

 

Termux는 https://f-droid.org/packages/com.termux/여기서 다운로드 가능합니다

 

Termux | F-Droid - Free and Open Source Android App Repository

Terminal emulator with packages

f-droid.org

아래에 보시면 APK다운로드가 있는데 해당 APK파일을 다운로드받아 스마트폰에 설치하는 것으로 바로 리눅스 환경을 사용해볼 수 있습니다.

다만, Android 7이상을 요구하기 때문에 제가 쓰고 있던 구형 스마트폰은 Android6라 실행이 안 되지만 Termux 자체는 오픈소스이므로 Android 6에 맞추어 재 컴파일 하면 실행이 되었습니다.

 

혹은 레딧의 한 유저가 올려놓은 앱을 사용해도 됩니다. https://www.reddit.com/r/termux/comments/eoiics/trying_to_install_on_android_6/

 

trying to install on android 6

I have an old t-mobile g3. it has broken screen (so can't update OS using root since there is no way to mirror screen on my laptop on before...

www.reddit.com

Termux::Boot는 Termux가 실행될때 자동 실행이 되게끔 해주는 애드온입니다. 설치해두면 매우 편리합니다. 다만, 노가다가 더 편리할 수도 있으니 이건 넘어갑시다.

 

Termux를 실행하면 Terminal Emulator같은 앱이 뜨면서 CLI 리눅스 환경을 쓸 수 있습니다. 다만, 다른 배포판들이랑 명령어가 조금 다릅니다.

패키지 설치 명령어는

pkg install (패키지 이름)

 

우선 내부 스토리지 접근의 경우

termux-setup-storage

 

위 명령어를 사용하면 ~/storage 폴더가 생기면서 스마트폰의 내부 스토리지에 접근이 가능해집니다.

특히 ~/storage/shared 는 우리가 스마트폰을 쓰면서 죽어라 들락날락하는 위치이므로 유용하게 사용이 가능합니다.

 

이것 만으로도 훌륭한 리눅스환경이지만 유저랜드가 역시 좀 부족합니다.

현재 termux는 공식 서버와 bintray등에서 서비스되는 저장소등이 있으나 일부 앱들이 실행이 안 되고 있습니다. 그리고 디렉토리 구조 문제로 일부 호환성문제가 있습니다. 그래서 우분투나 데비안, 아치, 페도라 같은 환경을 따로 구축해서 구동하는 것을 추천합니다.

 

termux위에 우분투 유저랜드를 구축하면 그냥 우분투 ARM버전을 쓰는 방식으로 apt 명령으로 편하게 사용이 가능합니다.

 

https://github.com/MoorDev/termux-ubuntu

 

GitHub - MoorDev/termux-ubuntu: Ubuntu chroot on termux

Ubuntu chroot on termux. Contribute to MoorDev/termux-ubuntu development by creating an account on GitHub.

github.com

https://github.com/Neo-Oli/termux-ubuntu 여기 있던 스크립트를 일부 수정해서 21년 현재 지원이 되는 18.04와 20.04 버전이 설치가 가능하게끔 스크립트를 만들어 놓았습니다.

 

우분투 환경을 만드는 방법은 다음과 같습니다. 우선 wget과 필수적인 proot가 없으므로 wget과 proot를 설치합니다.

 

우선 ~/로 접근한다음 (퍼미션 문제)

cd ~/

pkg install wget proot

wget https://raw.githubusercontent.com/MoorDev/termux-ubuntu/master/ubuntu-20.04.sh

bash ubuntu-20.04.sh

 

위와 같이 명령어를 치면 무언가 쭈르르륵 다운받고 압축풀고 하면서 마지막에 ./start-ubuntu.sh 를 실행하면 된다고 뜹니다.

(실제 디렉토리는 ~/ubuntu-fs 가 됩니다.)

실제로 ./start-ubuntu.sh를 실행하면 우분투환경으로 바뀌면서 우리에게 익숙한 apt를 쓸수 있게 됩니다. 디렉토리 구조도 문제 없고 심지어 Xorg와 VNC서버를 설치한 후에 VNC로 접근해서 GUI도 볼 수 있습니다.

 

이제 파이썬을 설치해봅시다.

apt install python3 python3-pip

 

이제 익숙하다못해 편리한 python3와 pip를 쓸 수 있게 되었습니다. 다만 현재 환경은 ARM이므로 기존에 사용하던 AMD64와 저장소도 다르고 라이브러리도 다릅니다. 딥러닝쪽인경우에는 고생깨나 해야 합니다.

딥러닝 라이브러리는 ARMv7(32비트)를 지원하지 않아서 구형 스마트폰에선 구동이 되지 않습니다. 다만 라즈베리파이3가 32비트이고 아직 많이 쓰이기 때문에 라즈베리파이3용으로 만들어진 많은 라이브러리를 가져와서 구동이 가능합니다.

 

대표적인 것이 onnx runtime의 라즈베리파이3 버전인데 (https://github.com/nknytk/built-onnxruntime-for-raspberrypi-linux/tree/master/wheels/buster) 여기있는 것을 가져와서 써도 됩니다.

 

그리고 Termux에서(./start-ubuntu.sh를 하지 않은) SSH를 설정하는 방법은

pkg install openssh

이걸로 SSH 서버를 설치하고

 

whoami 명령으로 현재 내 이름을 찾습니다. 보통 u_aXXX 형태로 되어 있습니다.

그 다음 passwd 명령으로 패스워드를 설정합니다. 이 패스워드가 곧 SSH접속 패스워드가 됩니다.

 

이제 SSH접속하는 곳에서

ssh u_aXXX@(스마트폰IP) -p 8022

이렇게 하면 패스워드를 물어볼것이고 termux 환경에 SSH로 접속이 됩니다. 포트포워딩을 하거나 하면 멀리서도 접속이 가능해지겠죠!

 

Termux에 우분투 환경을 갖추고 numpy ARM버전을 설치하는 중. 너무 편리해서 말이 안 나온다.

이런식으로 구형 스마트폰을 훌륭한 개발 플랫폼으로 만들 수 있습니다. Termux로 ARM 리눅스를 한번 구축해보세요!

,

Virtualbox는 가상머신 프로그램이고 여기저기에서 많이 쓰이고 있습니다.

하지만 리눅스에서 많이 쓰이는 용도는 윈도우용 프로그램을 가상머신 위에서 실행하는 용도입니다.

 

그래서 저도 제가 자주 쓰는 프로그램(대부분 CAD류의 설계프로그램)을 Virtualbox위에서 구동시켜서 사용합니다.

 

이번에 시스템 업그레이드를 하면서 기존 Home 파티션을 그대로 가져오는 방식을 사용하면서 VirtualBox의 이미지 및 머신 설정도 함께 가져왔습니다. 

 

그런데 이전에는 AMD시스템이었고 이번에 Intel시스템으로 바꾸면서 문제가 생겼습니다.

 

기존에 저장된 머신이 X86_CPUID_AMD_FEATURE_EDX_AXMMX 오류를 내면서 시스템이 돌아오지 않는 것입니다.

호스트가 AMD에서 Intel로 바뀌었다고 가상머신이 오류가 난다

저는 빠른 윈도우 시스템을 가져오기위해 저장기능을 자주 사용했는데 이게 도리어 문제를 일으킨겁니다.

 

그래서 방법을 찾아보니 저장된 상태가 아니라 시스템이 꺼진 상태로 만든 뒤에 실행하면 문제가 없다고 합니다.

 

Win7x64 머신이 현재 저장된 상태로 되어 있다. 그리고 이로인해 문제가 생기는 중

방법은 그냥 터미널에서

VBoxManage discardstate "머신이름"

이렇게 하면 된다고 합니다.

https://stackoverflow.com/questions/46775652/cannot-resume-saved-virtualbox-state

 

Cannot resume saved Virtualbox state

I get the following error after upgrading via Migration Assistant my laptop from a 2-core to a 4-core processor: cpum#1: X86_CPUID_FEATURE_ECX_MOVBE is not supported by the host but has already

stackoverflow.com

간단하네요.

 

XP머신은 이미 꺼짐상태로 만들었고 Win7x64머신도 마찬가지 작업 중

이 명령을 사용하면

이렇게 전원꺼짐 상태로 만들어지게 되고 시작을 누르면 부팅화면이 뜨면서 문제없이 실행이 됩니다.

다만 가상머신에서도 메인보드와 CPU가 바뀐것과 같은 상황이므로 무슨일이 벌어질지는 아무도 모릅니다. 특히 HAL이 없어서 메인보드 바꾸면 포맷이 당연했던 XP같은 놈이 문제입니다. 그런데 그냥 CPU만 바꾼상태로 인식된건지 문제없이 부팅됩니다.

 

그리고 스냅샷을 되돌리면 그 상태 그대로 돌아오므로 부팅이 완벽히 된 상태에서 스냅샷을 다시 찍습니다.

 

그러면 OK

Win7 무사히 부팅 완료! 그리고 바로 업무가 가능해졌다.

,

예전에 무선모니터라는게 잠깐 나온적이 있습니다.

말그대로 선없는 모니터란건데요. 요즘은 굳이 필요성을 못 느껴서 쓰는 사람을 못 봤습니다.

그런데 https://www.spacedesk.net/ 이물건 접하고 WindowsPC에 무선 모니터를 붙였습니다...

물론 반응속도는 게임까지는 어려운 수준이지만 Android화면에 Windows화면이 뜨니 이건..거의 신세계입니다. AutoCAD작업은 무리없네요.

사실 제 PC는 모니터없이 산지 꽤 됐습니다. 대신 HDMI to AV를 하나 달아서 가짜 모니터를 하나 달고 VNC로 연결해서 썼습니다. 밖에서는 리눅스PC를 들고다니고 Windows환경이 필요하면 VNC로 연결을 했습니다.

근데 집에서도 VNC로 연결하니 답답합니다. Parsec이라던가 Steam Link같은 부드러운 물건도 있지만 저희집 네트워크가 그리 좋은 편은 아니라서 조금 애매하네요.

그러다 Spacedesk로 모니터 대용으로 쓸만하다는 것을 알게되었는데... 진짜 쓸만합니다!

WindowsPC에

서버는 Windows10과 Windows8.1을 지원한다. 아마 Windows11도 지원이 될것이다.

서버프로그램을 설치합니다. Windows10과 Windows8.1을 지원합니다. Windows11도 아마 지원 할수 있을겁니다. 저는 Windows10 RS3 LTSC를 쓰고 있는데 최신빌드도 문제없을겁니다.

Nvidia그래픽 사용자는 461.09 이상을 설치하라고 하는군요. 드라이버 충돌위험이 있다고 합니다. 저는 AMD라 그런 문제는 없군요.

그리고 안드로이드 태블릿이나 윈도우 태블릿에서 Spacedesk앱을 설치합니다. Playstore에서 검색하니 바로 뜨는군요. 아니면 APKpure같은 사이트에서 받아서 사이드로딩 될것 같습니다.

Playstore에 안드로이드 앱이 있다 이걸 쓰도록하자


그리고 실행하면 멀티모니터로 잡힙니다. 저는 VNC로 작업하기에 Spacedesk와 VNC에 동일한 화면이 뜨도록 복제모드(Windows+P 버튼을 눌러서 복제모드가 될때까지 계속 누르기)로 바꿨습니다.

그러니까 태블릿의 터치를 Windows가 받아줍니다! 기존 구형 태블릿PC가 Windows태블릿으로 변하는 순간이었습니다.

심지어 반응속도도 나쁘지 않습니다. 굉장히 만족스러워지네요. WindowsPC가 게임용에 준하는 녀석이라 게임도 해봤는데 약간 반응이 느릴뿐이군요.

엄청난 녀석인 것 같네요. 다만 리눅스는 왜 지원이 안 될까요...?

,

하모니카 커뮤니티 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의 레지스트리에 입력하시면 해결됩니다.

,

Windows 10 1809이상에서 벌어지는 일입니다.

특정 기기에서 특정게임에서만 일어나는 일이라 일종의 버그라고 볼 수 있습니다.

특정게임이라고 하면
1. 오래된 게임 (DirectX 9 이하)
2. 저해상도 전체화면(특히 640x480)
3. 디지털 사운드 인터페이스가 있는지도 모르는때에 만들어진 게임

대충 이렇습니다.

이런경우 아날로그 사운드카드가 없으면 오류가 나면서 소리가 안나는 경우가 있습니다.
방법은 HDMI로 직접 쏘지 않고 아날로그 사운드카드로 사운드를 보낸다음 이걸 스테레오믹스캡처로 다시 HDMI로 보내면 됩니다.

이런 무슨 거지같은 경우가 다 있나 싶긴한데 게임이 오래된 탓이니 어쩔수 없습니다.

기본 사운드장치를 아날로그 사운드로 잡고 HDMI를 기본통신장치로 설정합니다.

설정이 아닌 제어판의 소리 설정(설정-소리-사운드 제어판도 가능)으로 들어갑니다.
혹은 오른쪽 아래 소리 아이콘 오른쪽버튼을 누르고 소리를 클릭해도 됩니다.

우선 아날로그 출력 기기를 기본 장치로 설정하고 디스플레이 오디오를 기본통신장치로 설정합니다. 이러면 마이크를 통해들어오는 소리는 HDMI로 나가고 일반 소리는 아날로그로 나가게 됩니다.

그리고 진짜 핵심은 마이크(녹음)장치를 데스크탑사운드 혹은 스테레오믹스라 불리는 장치로 설정하는 겁니다.


Windows의 소리 설정에서 이렇게 바꿉니다.

이러면 아날로그로 쏜 소리가 캡처되어 HDMI로 다시 돌아오게됩니다.

좀 이상하다고요? 옛날게임들은 디지털출력의 개념이 없던시절이라 이렇습니다. 이리저리 돌려본결과 HDMI를 쓰면서 옛날게임을 돌리니 HDMI사운드가 사라집니다. 다른건 문제없는데 640x480정도의 저해상도를 쓰면 HDMI가 꺼졌다켜지는 탓인지 사운드 설정이 사라지네요.

최신빌드에서 일부게임은 해결됐다고 하던데 정작 제 PC에선 멀쩡하던 게임도 소리가 안 나는 사태가 벌어져서 구버전으로 돌린뒤에 이런식으로 우회했습니다.

만약 아날로그 활성화가 안 될경우 헤드셋이나 이어폰이 인식이 안 된것입니다. 제어판을 통해 강제인식시키거나 리얼텍 아날로그 제품은 Realtek Audio Console에서 장치 고급설정을 통해서 강제 활성화가 가능합니다.

이렇게 하면 이어폰잭이 무조건 연결된것으로 알아먹습니다.

인텔이나 다른 칩셋을 쓸 때는 다른방법을 쓰는것이 좋겠지요. 혹은 고전게임이 문제를 일으키는 것이니 고전OS를 가상머신으로 돌리는 것도 방법이겠지요.

,

그냥 살다보니 잊고 있던 그런공간이 되어버렸네요.
사실 블로그 포스트 할거리는 잔뜩 있었는데 살다보니 잊고 산 느낌?

이번에 생각난김에 포스트 할거리를 올려봅시다.

1. 한글입력기 kime 설치및 설정법 -우분투 분투기
2. 한글 2020 베타버전 한글입력 오류 문제
3. Snap 이야기

그래도 글쓸 거리는 있어서 다행이네요.

,