Ubuntu, Multi-GPU, 화면 출력 옵션 (feat. 삽질)

in #kr-dev7 years ago

주의: 화난 상태에서 스트레스 해소 겸 작성된 글이라 다소 부적절한 표현이 있을 수 있습니다.


약 20년 전 군인시절 진지 보수공사를 나갔을 때였다. 오래되어 방치된 진지를 보수공사 하는 것이었는데, 참호 중간에 바위가 튀어나와 참호 폭이 유지가 안되는 곳이 있었다. 난 갓 일병이었는데, 한 고참 병장이 곡괭이를 들고 그 바위를 깨기 시작하는 걸 보면서 '저거 슬슬 까면서 시간 보내려 하는구나' 하고 생각했다. 그런데 웬걸, 그 고참은 30여분만에 그 튀어나온 바위에서 꽤 큰 덩어리를 분리해냈다. 그사람은 바위의 결을 보고 약한 부분을 파악할 수 있었고, 정확히 한 지점에 곡괭이 끝을 반복해서 꽂을 수 있는 기술이 있었던 것이다. 만약 그때 내가 했다면? 바위가 떨어지기 전에 내 체력이 먼저 떨어지지 않았을까?

얼마전 엄청난 수고 끝에 결국 작동하게 만들었던 Xu 컴퓨터에, GPU를 추가했다. 원래 예정은 중저가형인 GTX 1050을 2개 달아서 채굴에 사용하는 것이었는데, 내 실수로 내장그래픽이 없는 씨퓨가 설치되어서, 모니터에 연결할 저가형 구형 GT 710까지 3개를 달게 되었다. 이번에 산 마더보드는 PCI-Ex X16 슬롯이 2개밖에 없어서, 3번째의 저가형은 $10 더주고 X1슬롯에 맞는 걸로 구입하게 되었다. 각각 자기 자리에 꽂은 후 $ nvidia-settings를 실해시키니 3개가 아름답게 보여졌다.

이제 다음 문제는 어떤 GPU가 화면을 뿌려줄 지 선택하기만 하면 된다. (위 화면은 이미 완료된 현재의 모습입니다. 이전에는 GPU 0에 GTX 1050이 있었습니다.)

구글에게 물어보니 다음과 같은 사이트가 건져졌다.
Two graphics cards in Linux - how?

즉, 핵심은 그래픽 카드가 꽂힌 PCI 슬롯의 고유번호를 식별하여 설정 파일에 적어주면 된다는 것이다. (쉽군)

그래서 시키는 대로 했다. 시키는대로 따라 하는건 내가 좀 한다.
그런데 작은 문제가 있었다. 내 컴퓨터에서 $ lspci | grep VGA를 실행시켰더니 PCI 번호 형식이 약간 달랐던 것이다.

PCI:22:00.0 인가?, 아니면 PCI:22:0:0인가?
일단 첫번째 것을 시도해본다.
그리고 나서 결과는...

그 어떤 그래픽카드의 아웃풋으로도 화면을 볼 수 없는 완벽한 어둠... 망...
이상태로 약 한시간여를 고민한 끝에 한가지 묘수를 떠올린다.
기억에 의지하여 우분투 Recovery모드에 들어가는 것. 적절한 타이밍에 '아래, 엔터, 아래, 아래, 엔터'를 누른다. 몇 번 시도 끝에 들어갔다. 그리고 화면이 나온다!

첫번째 것은 꽝이었다. 그래서 두번째 옵션을 시도한다.
그리고 나서 결과는...

재탕.
이번에는 더 안좋다. 위처럼 똑같이 복구를 시도했는데, 이번에는 무언가 돌다가 멈춘다. 이젠 이도 저도 할 수가 없다...

여기서 약 두시간을 들여,
우분투 OS가 깔린 하드를 떼어다가 다른 윈도 컴에서 읽어서 위의 PCI 번호 설정을 지워야 했다. 윈도 컴에서는 리눅스 파일 시스템을 못읽는다! 어찌어찌하여 무료 프로그램을 깔고 결국 안을 들여다본다. 그랬더니 설정파일 (xorg.conf)는 이미 없어졌다! 하드를 다시 가져오고, 붙였던 GPU 다 떼내고 처음에 썼던 하나만 남긴채 다시 부팅해본다. 당연히 복구 화면은 나오는데 "busybox"라는 생전 처음보는 이상한 데로 들어간다! 검색결과 여기서는 적절한 명령어와 옵션으로 파일 시스템을 복구시킬 수 있다하여 따라해봤다. 다행히 그 이후 부팅은 성공. 그리고 원점...

그 이후에도 여러가지 헛수고들을 해보는데...

해결책은 의외의 곳에서 나왔다.
Screenshot_2018-02-25_01-59-46.png
분명

$ lspci

하면 PCI가 28번까지밖에 안나오는데, 얘는 떠억 하니 34가 찍혀있다!
위 설정 파일에 "34"를 입력하니 바로 된다!!!

이런 @%%#^(&^$@#&^%$


길에 3사람만 지나가도 그 중에 스승으로 삼을 만한 사람이 있다고 하고,
실패의 경험으로 사람은 성장한다고 한다.
하지만, 들인 시간과 노력에 비해 얻는 것이 거의 없을 때, 이것을 우리는 "삽질"이라 표현한다.
예전에 우물물이 집으로 들어오는 소위 상수도 관이 파열되서 나도 내 키만큼 구멍파는 삽질 해봤는데
"삽질"은 실상 꾸준함이 결과로 나타나는, 스티밋 활동같은 거다.
어제 오늘 잠도 못자가며 내가 헤매던 시간들을 "삽질"이라 하기엔 오히려 "삽질"에게 미안할 정도다.
이렇게 또, 2018년의 2월 어느날은 지나간다.
내게 남은건 3일어치나 밀려버린 스티밋 피드뿐... (뭐지, 이 숙제가 쌓인듯한 기분은?)

Sort:  

삽질....이 개발자의 숙명이긴 하죠~
@위로해!

@dj-on-steem님 안녕하세요. 모찌 입니다. @trueonot께 이야기 다 들었습니다. 인생지사 새옹지마라고 하잖아요. 힘든일이 있으면 반드시 좋은일도 있대요! 기운 내시라고 0.6 STEEM를 보내드립니다.

컴퓨터를 써야하는데 안되면 너무 머리가 아파요 ㅎㅎㅎ

주의글 ㅋㅋㅋㅋㅋ
팔로우 눌리고 가요 !
괜찮으시면 팔로우 부탁드릴게요 :)
즐거운 저녁 되세요 ㅎ

Congratulations @dj-on-steem! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of posts published

Click on any badge to view your own Board of Honor on SteemitBoard.

To support your work, I also upvoted your post!
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

오늘도 이런 노가다를...ㅋㅋ
저는 이미 피드 따라가기를 포기했습니다. 어차피 누가 쫓아다니면서 혼내는 것도 아니고 그냥 되는대로 흘러다니게 되네요 ㅋㅋ

저는 이제 거의 한계치인 듯 합니다. 팔로윙이 세자리수에 접어들면 이제 포기해야하지 않을까 슬슬 마음의 정리를... ㅎㅎ

Congratulations @dj-on-steem! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

네 알겠습니다. 사진을 좀 모으고 시작해보도록 하겠습니다.

This post received a 40% upvote from @krwhale thanks to @dj-on-steem! For more information, click here!
이 글은 @dj-on-steem님의 소중한 스팀/스팀달러를 지원 받아 40% 보팅 후 작성한 글입니다. 이 글에 대한 자세한 정보를 원하시면, click here!

3월의 시작을 아름답게 보내세요^^
그리고 진정한 스팀KR 에어드롭!
[골든티켓x짱짱맨x워니프레임] 9차 옴팡이 이모티콘 증정 천명 이벤트! 그 첫번째 250명 !
https://steemkr.com/kr/@goldenticket/x-x-9-250

Coin Marketplace

STEEM 0.16
TRX 0.16
JST 0.030
BTC 59184.02
ETH 2530.26
USDT 1.00
SBD 2.46