lsfg란 기술이 있습니다.

스팀에서 일명 "오리"라고 불리는 프로그램의 프레임생성 기능을 의미 합니다.

 

정식 명칭은 Lossless Scale Frame Generation 입니다만 다들 그냥 오리라고 부릅니다.

이는 원래 윈도우에서 쓰이는 FSR이나 DLSS를 편하게 쓰기위한 기술이었습니다만 LSFG라는 기술을 개발해 기존 그래픽카드의 종류와 상관없이 어디서든 사용이 가능한 프레임 생성 기술이 만들어졌습니다.

 

다만 이건 어디까지나 윈도우 전용이었고 리눅스에선 Proton에서 돌리는 뭔가 이상한 방식이었습니다.

 

그러다 https://github.com/PancakeTAS/lsfg-vk

 

GitHub - PancakeTAS/lsfg-vk: Lossless Scaling Frame Generation on Linux

Lossless Scaling Frame Generation on Linux. Contribute to PancakeTAS/lsfg-vk development by creating an account on GitHub.

github.com

lsfg-vk라 하여 Vulkan을 네이티브로 돌리는 LSFG 포팅이 이루어집니다. 주로 스팀덱 같은 UMPC에서 이루어진다고 하며 우월한 성능의 SteamOS에 힘입어 유용하게 돌아가고 있습니다.

 

이걸 일반 리눅스PC 에서도 이용이 가능합니다.

 

https://github.com/PancakeTAS/lsfg-vk/wiki/Installation-Guide

 

Installation Guide

Lossless Scaling Frame Generation on Linux. Contribute to PancakeTAS/lsfg-vk development by creating an account on GitHub.

github.com

여기에 설치 가이드가 있습니다. 미리 빌드가 된 deb을 이용할 수도 있지만 저는 그냥 빌드를 했습니다. 아무래도 아직 활발히 개발중인 물건이다보니 그냥 빌드하는게 더 낫겠다는 생각이 들더군요. 무슨 AUR쓰는 기분이지만 그냥 제 기분이 그렇습니다.

 

sudo apt update
sudo apt install git build-essential clang clang-tools llvm rustup cmake ninja-build libvulkan-dev libgtk-4-dev libadwaita-1-dev
git clone --recurse-submodules --depth 1 https://github.com/PancakeTAS/lsfg-vk.git
cd lsfg-vk
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=On
cmake --build build
sudo cmake --install build

 

이렇게 하면 /usr/local에 설치가 됩니다.

 

이제 GUI를 설치합니다.

cd ui
rustup default stable
cargo build --release
sudo cp target/release/lsfg-vk-ui /usr/local/bin/lsfg-vk-ui

 

/usr/local/share/vulkan/implicit_layer.d/

sudo nano /usr/local/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json

그리고

"library_path": "liblsfg-vk.so",

이 부분을

    "library_path": "/usr/local/lib/liblsfg-vk.so",

이렇게 고칩니다.

 

 

그리고 Ctrl+O를 눌러서 저장하고 나갑니다.

 

이제 

lsfg-vk-ui

명령을 통해서 UI를 불러와 봅시다.

 

 

이렇게 하면 설치가 완료 된 것입니다.

Steam에서 Lossless Scaling을 구매후 설치까지 하시면 이제 세팅이 완료 됩니다.

 

 

이제 제일 핵심인 Lossless Scaling을 설치합니다.

 

vkcube를 통해 프레임이 얼마나 늘어났는지 확인해봅시다.

(사실 vkcube만으로는 딱히 얼마나 늘어났는지는 감이 안 옵니다. 직접 게임을 하나 실행하는게 제일 편합니다.)

 

vkcube를 실행해서 돌아가는 속도를 확인 한 다음

 

DISABLE_LSFG=1 vkcube

를 했을 때 4배정도 더 빠르면 적용이 완료 된겁니다.

 

만약 차이가 없다면 적용이 안 된겁니다.

Path to Lossless.dll을 고쳐주시면 됩니다. 스팀 기본 설치시

~/.steam/steam/steamapps/common/Lossless Scaling/Lossless.dll

여기입니다. 실제로는 조금 다를 수 있으니 직접 스팀에서 확인 후에 지정하시면 됩니다.

 

 

lsfg-vk-ui를 실행해서 창을 띄워놓고 게임을 같이 실행합니다.

 

여기서 Create New Profile을 클릭하면

새로운 프로파일이 생성 됩니다. 오른쪽 profile name의 돋보기를 클릭하면

 

현재 실행되고 있는 프로그램 리스트가 쫙 뜹니다. 여기서 게임의 프로세스를 클릭합니다.

 

여기서 원하는 만큼 설정해주시면 됩니다.

 

이런식으로 게임별로 LSFG를 설정해서 사용하시면 됩니다.

 

 

 

삭제 방법은 

sudo rm  /usr/local/share/vulkan/implicit_layer.d/VkLayer_LS_frame_generation.json
sudo rm /usr/local/bin/lsfg-vk-ui
sudo rm /usr/local/lib/liblsfg-vk.so

그리고 재부팅입니다.

 

 

,

이제 안 됩니다...

파일을 수정하면 넥슨 안티치트가 변조를 의심하며 작동 안 되게 바뀌었습니다. 이제 한국어ED를 쓸 수가 없게 되었습니다...

 

아쉽지만 어쩔 수 없지요. 사실 이게 맞는거고 그동안 마음대로 수정이 가능했던게 이상했던 것이었습니다.

 

다만.... 용하야 이제 좀 그냥 한국어판 정식으로 적용 좀 해줘라..

 

 

=========이전에 가능했던 시절의 글 ===================

 

 

블루아카이브라는 게임이 있습니다.

분명 모바일 게임이지만 PC용 클라이언트가 존재합니다. 스팀으로 제공되기에 리눅스에서도  아주 잘 실행 됩니다. Proton9.0이상이기만 하면 잘 됩니다. 안티치트도 넥슨 자체 제작을 사용해서 스팀덱을 지원하는거 같더군요.

 

대충 이런 게임입니다만

그냥 흔한 미소녀 가챠 게임입니다.

 

하지만 특이하게도 넥슨에서 만들고 일본에서 먼저 서비스해서 뭔가 일본어로 된 환경이 자주 나옵니다.

그렇기에 한국어로 더빙까지 진행 헀음에도 일본어로 된 엔딩들이 일부 나옵니다.

 

그런데 넥슨에서는 이미 주요 엔딩이나 인게임 뮤직비디오를 한국어로 더빙해서 공개해놓았습니다. 심지어 한국어 OST까지 만들었지요. 그런데 정작 인게임에는 적용이 안 되었다는게 많이 안타깝더군요.

 

하지만 PC버전의 장점이 뭐겠습니까? 게임의 수정이 쉽다는 것입니다. 조금 뒤져보니 음원들을 ogg형태로 쉽게 교체 가능하게끔 된것을 확인 했습니다.

 

 블루 아카이브 PC 버전은 인게임 비디오도 mp4로 되어 있어서 바로 볼 수 있는 구조였습니다.

 

그래서...

직접 한국어 OST버전으로 교체해봤습니다.

 

 

 

 

처음보시는 분들은 뭐가 달라진게 있나 싶으실텐데 원래 인게임은 일본어로 된 음원이 튀어 나옵니다. 특히 아래 시즌1의 엔딩은 딴 사람도 아니고 윤하가 부른 버전이기에 게임에 적용되지 못한게 아쉽더군요. (자세히 보면 가사도 위 영상과 다르게 음원과 똑같이 나옵니다.)

 

적용 방법은..

스팀판에 한해서 가능합니다. (모바일은 별도의 루팅등의 방법 없이는 불가능)

 

스팀 라이브러리에서 블루아카이브에 오른쪽 버튼을 눌러 속성에 들어갑니다.

 

설치된 파일에서 찾아보기를 눌러서 게임이 설치된 곳의 탐색기 창을 띄웁니다.

 

 

그 다음

BlueArchive_Kor_MV_MOD.zip
13.40MB

 

위의 파일을 다운로드 받아서 해당 위치에 압축을 풀어 덮습니다.

만약 원래의 일본어로 되돌리고 싶다면 속성에서 무결성 검사를 한번 하시면 됩니다.

 

적용된 에피소드는

1. 메인스토리 최종전 Final 에피소드 ED

2. 메인스토리 무장 호시노 에피소드 ED

3. 이벤트스토리 방과후 디저트부 밴드 MV

4. 이벤트스토리 시스터즈 아이돌 MV

5. 이벤트스토리 드레스 히나 MV 및 ED

 

모든 음원의 저작권은 넥슨게임즈에 있습니다.

그러니까.... 이걸 인게임에 제대로 적용해달라고....

,

어떤 사람은 이렇게 이야기합니다.
"남 좋은일해서 뭐하냐"

어떤 사람은 또 이렇게 이야기합니다.
"돈도 안되는걸 하고 있네"

보통 이쪽은 하나도 모르는 수많은 꼰대들이 이런식으로 이야기하곤 합니다. 대부분 이렇게 이야기하는 사람들은 돈만보고 살아왔거나 자기자신만 아는 경우가 많습니다.

그런데 다들 알다시피 오픈소스는 수많은 기여자들의 취미활동으로 많은 수가 굴러갑니다. 솔직히 저 사람들 입장에선 이해가 안 될겁니다. 그런데 "성취감"이라는게 뭐라 형용할 수없는 중독성을 지니고 있습니다.

특히 내가 기여한 무언가가 다른 누군가에게 유용하게 쓰이고 있을때의 그 기분이란...

거기다가 보통 오픈소스프로젝트에는 한줄이라도 코드에 기여했거나 그냥 UI용 아이콘 하나라도 만들어주면 Thanks To에 이름이 올라갑니다.
영화 끝날때 크레딧에 내 이름이 써있다고 생각해보세요. 그리고 심지어 사람들이 작품을 칭찬한다고 상상하면 난 거기에 모래알만큼 기여했지만 어찌됐건 기분이 좋습니다.

=================================

솔직히 오픈소스에 기여하는건 어렵지 않습니다. 심지어 프로그래밍을 못 해도 충분히 기여가 가능합니다. 많은 프로그램들은 전세계에서 만들어지다보니 수많은 언어지원이 어렵습니다.

프로젝트관리자가 기여자들이 가져다주는 코드들 중 제일 쌍심지켜고 환영하는게 번역물입니다. 왜냐하면 그 사람들은 최소 영어와 자국어외에는 모르거든요. 번역기를 쓰면 당연히 번역투로 나오기 때문에 엉망이라는건 본인들도 아주 잘 알고 있습니다.

그런데 갑자기 특정언어권 사용자가 직접 번역해서 가져다주면 그렇게 좋을 수가 없겠지요. 아마 바로 다음버전에 적용해줄 가능성이 높습니다.
"사용자층 확대"
"모국어 사용자라는 신뢰"
"번역을 기여할 정도로 내 작품을 쓰는자의 물건"

이 세가지 측면에서 좋은 기여가 없습니다.

개발자들은 번역된걸 쓰는경우가 적은편입니다. 보통영문판을 선호하지요. 하지만 보통의 한국인은 다릅니다. 기왕이면 한글판을 선호합니다.

저부터도 첫 오픈소스 기여가 번역이었습니다. 20문장 남짓이었지만 다음날 바로 적용해서 업데이트까지 해주더군요. 그리고 몇년이 지난지금 그 프로그램사용자들이 제 번역을 기준으로 사용법을 공유하고 있습니다.

이건 뭐라 형용할 수 없는 기분입니다.

,