sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt install libgl1-mesa-dri:i386 libgl1:i386
sudo apt-get upgrade steam -f
sudo apt install nvidia-driver-libs:i386

 

이건 Nvidia유저들에게서만 나오는 문제라고 한다.

따라서 가장 마지막 명령어인 nvidia-driver-libs:i386 이 가장 핵심 명령어이다.

,

Nvidia 드라이버는 우분투에서 참 애환이 담긴 드라이버입니다.

바이너리 버전만 배포되기에 우분투 개발자들도 처리 하지 못할 문제를 일으킬 뿐더러 가끔 사용자들도 배포판 업그레이드를 못하게 막는 물건입니다.

 

하지만 이를 쓸 수 밖에 없는 이유가 이보다 더 안정적인 드라이버가 없습니다. Nouveau는 여전히 불안정한 면이  있고 그 외에는 드라이버가 전무합니다.

하드웨어적으로 라데온으로 바꾸는 방법도 있는데 이쪽은 아시다시피 더했으면 더했지 덜하지 않습니다. 그나마 오픈소스 드라이버가 안정적인 라데온이기에 이쪽은 대안이 있기는 합니다.

 

그럼에도 Nvidia카드를 선호하는이유는 아무래도 CUDA때문일 가능성이 높습니다. 현재 AI가 대두된 상황이고 AI개발에 가장 좋은 조합이 Nvidia카드에 우분투입니다. 대다수 라이브러리들이 우분투에서 Nvidia카드로 학습하는 것을 기반으로 내놓고 있지요.

 

그럼 Nvidia 드라이버를 안정적으로 쓰는 방법은 무엇이 있을까요?

 

그냥, 안정적이라고 검증된 구버전을 쓰는 것입니다. 하지만 가끔 멋대로 드라이버가 업그레이드 되기도 하며 이에 따라 꼬이기도 합니다.

이번에 제가 그런 꼴을 당했는데 원인은 우분투 저장소에서 제가 사용하던 버전을 내려버린 것입니다. 무슨 문제가 있긴 있었겠지요.

 

제가 사용하던 버전은 515버전입니다. 그전에 wayland에서 일어나던 문제가 처음으로 해결된 버전입니다. 그리고 전 여기에 정착해서 잘 쓰고 있었는데 우분투에서 멋대로 525버전을 설치하더니 환경이 모두 꼬이고 말았습니다. 그래서 드라이버를 재설치하려고보니 설치가 자꾸 안 되네요.

 

찾아보니 방법이...

 

우선 그래도 GUI로 부팅이 된다면 추가 드라이버를 실행합니다. 

그리고 Nouveau로 우선 되돌려 줍니다. 이건 우분투 개발자들이 관여하기에 다른게 꼬여도 문제는 일으키지 않습니다. 

그리고 재부팅 한 다음 다시 드라이버를 설치하면 됩니다.

 

하지만 GUI도 안 뜨고 완전 박살이 난 상태라면 콘솔까지는 뜰겁니다.

 

어찌됐든 인터넷은 연결될테니 다음 명령으로 처리합니다.

sudo apt update

sudo apt dist-upgrade

sudo apt install nvidia-driver-XXX

여기서 XXX는 설치가 가능한 버전입니다. 스마트폰이든 다른 PC든 인터넷에 들어가서 현재 우분투 버전에서 설치가 가능한 드라이버 버전을 찾아보세요. 그리고 재부팅하면 정상적으로 드라이버가 설치되어 작동할 겁니다.

,

일부러 픽셀 느낌을 내는 게임도 있지만 그냥 오래되서 고전 느낌이 나는 게임들이 의외로 많습니다. 대부분은 필터로 처리하지만 그래도 뭔가 이상한건 사실이지요.

 

3D게임에서는 FSR이라던가 DLSS라던가 하는 기술이 만들어졌습니다. 낮은 해상도로 렌더링 한다음 이를 AI로 업스케일링 하는 기술인데 GPU성능 발전이 슬슬 한계를 맞이하고 있다보니 FHD수준으로 렌더링한 다음 4k이상의 화질로 뽑는 것이지요. 그런데 사실 2023년 현재 FHD면 아직 충분하다는 소리를 듣고 있고 굳이 4k까지 욕심을 내지 않다보니 이쪽은 없어도 그만이라는 소리를 주로 듣습니다.

 

그렇다면 옛날 게임은 어떨까요? 옛날에는 640x480이면 고화질이란 소리를 들었습니다. 그리고 이 화질로만 구동되는 게임들이 꽤 있었습니다. 그래서 그런지 옛날 게임을 요즘 돌리면 옛날보다 화질이 더 구립니다. 아티팩트가 튄다고 하는데 말그대로 뭔가 튀어 보이니 화질이 더 구려보이는 겁니다.

 

옛날 게임중에 Need for Speed Underground라는 게임을 예로 들면 메뉴에선 640x480으로 렌더링하고 게임안에서는 1024x728 정도로 렌더링 되도록 짜여있는데 이를 Hook해서 1920x1080으로 렌더링 하는 파일이 배포되고 있습니다. DirectX 구조가 분석이 되다보니 이런것이 가능한 것이지요. 이런 류의 프로그램들은 많이 개발 되었고 지금도 만들어지고 있습니다. 특히 DirectX구버전에서 신버전으로 구동시키는 라이브러리(dgVoodoo같은)들이 이런 기능들을 같이 내장하고 있거나 별도의 플러그인 형태로 지원합니다.

 

3D게임들이야 렌더링 해상도를 강제로 변경하면 되니까 그렇다 치는데 2D게임들은 어떨까요?

이게 참 문제인데 기본적인 2D 이미지들은 해당해상도에서 굴리는 것을 전제로 그려졌기에 픽셀이 튑니다. 그래서 이를 뭉개는 필터들이 만들어졌습니다. 하지만 필터로 뭉개면 또 그건 그것대로 보기가 안 좋습니다. 색감도 죽어버리고요.

 

그래서 개인적으로 2D게임에도 이와 비슷한 DLSS같은 업스케일링 기능이 있었으면 좋겠는데 아직 이런 것이 만들어지지는 않은 것 같습니다. 옛날 게임인 쿠키샵을 해봤는데 해상도가 참...

 그래서 생각한 것이 고전게임을 창모드로 띄운 다음 이를 업스케일링해서 또 띄워주는 그런 프로그램은 없을까하는 것입니다. Waifu2X 라는 것이 느리긴 해도 확실히 아니메풍 2D게임의 업스케일링을 잘 해주고 있고 이와 비슷한 알고리즘들도 많이 만들어져있습니다.(Anime4k, Real-ESRGAN  등) Anime4k는 fast모드로 프레임당 5ms속도로 스케일을 올린다는데 가능하다면 이런 빠른 기술로 어떻게든 가능하지 않겠는가 하는게 제 생각입니다.

 

라고 생각하고 찾아본 순간..

Magpie 라는 프로그램이 있군요... 역시 세상은 좁다..

,