이전에 제가 쓴 글을 보면 AMD를 신명나게 욕을하면서 드라이버 지원이 참 안 좋다는 이야기를 한 적이 있습니다. 그리고 오늘도 역시 AMD는 리눅스 사용자에게 정말 거지같다는 것을 보여주었습니다.


이미 Wine 관련으로 한바탕 개고생을 선보여주셨던 Catalyst님이 이번에는 32bit OpenGL라이브러리 관련으로 엿을 먹여주었습니다. 사실 이번에 메모리 관련 이슈로인해 루분투로 갈아탔는데 민트에선 그럭저럭 별 문제 없던 Playonlinux에서 다음과 같은 오류를 뿜어주시더군요.


32비트 라이브러리가 없으니 설치하라는 거다. 근데 catalyst깔면서 이미 다 깔린 상태였다

32비트 라이브러리가 없으니 해결하라는 의미인데 혹시나 하고 Win32프로그램을 돌려보니 오류가 와장창....wine과 fglrx관련 이슈가 있기는 있더군요. 그런데 64비트우분투에서 win64비트프로그램을 돌리는 것은 별 문제가 없는데 32비트는 이러한 문제가 생겼습니다. 그리고 32비트 리눅스용 프로그램도 OpenGL사용하는 프로그램에 한해 같은 증상이 있었습니다. 사실 윈도용 프로그램 아니면 32비트 프로그램 쓸 일이 없기는 한데(한글2008 제외) 그래도 이건 좀 아니지 않나 싶습니다.


그래서 오늘 하루를 다 허송세월한 뒤에 오픈소스 드라이버가 없나 찾아보니 이미 개발이 되어져 있더군요. 다만 커널 3.15이상이어야 하고 Xorg도 PPA를 통해 업그레이드를 해야 합니다. 그런데 이미 Catalyst에 화가 머리끝까지 난김에 그냥 커널 업데이트 및 Xorg 업데이트를 했습니다.


그랬더니....


화면이 훨씬 더 부드러워지고 Firefox에서도 GPU가속이 됩니다!(그동안 GPU가속은 남의나라 이야기였습니다.) 이게 뭐지? 싶어서 glxgears를 돌려봤더니 60fps으로 제한을 걸어져 있더군요. Vsync기능이 생긴 듯 했습니다. 중요한것은 AMD공식드라이버란 놈은 Vsync도 안 되어있던 놈이었는데 그 덕에 쓸모없이 성능을 깎아 먹고 있었습니다. 데스크탑 효과에 120fps이상 돌릴 이유는 없잖아요. 역시나 리눅스에서는 오픈소스 드라이버가 정답이었습니다. 훨씬 빠르고 쾌적해졌습니다. 그리고 Wine문제도 없습니다. 32비트문제도 한번에 해결 되었습니다. 이거야 원...갑자기 시원시원하니 속이 시원합니다.



60fps로 Vsync기능이 돌아가고 있음이 확인 된다. AMD 공식드라이버란 놈은 Vsync가 꺼진상태로 시스템을 괴롭히고 있었다.

벤치마크에서도 http://www.phoronix.com/scan.php?page=article&item=amd_apu_1310&num=1 제가 쓰는 Beema기반은 아니지만 80%정도 성능을 따라잡았다고 하니 오픈소스드라이버가 상당한 능력을 지닌 것은 맞습니다. 심지어 안정성은 이쪽이 더 좋습니다. Catalyst는 그냥 불안합니다. 가끔 마우스 포인터 깨지는 것도 예사입니다. 하지만 오픈소스는 역시 전혀 그런 문제가 없군요.


APU사용자 분들 바로 Kernel PPA에서 3.15이상의 커널로 업데이트 하신 뒤에 Oibaf PPA에서 업그레이드를 해보세요. 갑자기 지옥에서 천국으로 바뀝니다!!


Beema/Mullins기반 APU PC에서 ubuntu14.04 그래픽 드라이버 오픈소스로 사용하기


sudo add-apt repository ppa:oibaf/graphics-drivers

sudo apt-get update

sudo apt-get dist-upgrade


그리고 커널 업데이트

http://kernel.ubuntu.com/~kernel-ppa/mainline

여기서 제일 아래쪽으로 가서 원하는 커널 버전(3.15이상)을 찾아간 다음

32비트 버전 사용자는

linux-headers-~~~-generic~~_i386.deb

linux-headers-~~~all.deb

linux-image-~~~_i386.deb


이 3가지를 다운로드 받고


64비트 사용자는 


linux-headers-~~~-generic~~_amd64.deb

linux-headers-~~~all.deb

linux-image-~~~_amd64.deb


이 3가지를 설치하셔야 합니다.


,

현존하는 리눅스 데스크탑 중 가장 가벼운 데스크탑 환경은 무엇일까요?

분명 예전에는 XFCE가 가장 가벼웠다고 했던 것 같은데 어느새 LXDE라는 새로운 데스크탑 환경이 나와서 XFCE보다 더 가벼운 환경이 되었습니다. 그 뒤에 어느새 Enlightment라는 환경이 나와서 LXDE보다 더 가벼운 환경이라는 타이틀을 내걸게 되었더군요. 하지만 non-KMS 환경에서는 동작이 제대로 안 되는 등 Enlightment는 지향하는 바가 좀 다른 듯 하기는 합니다. 현재 KMS가 제대로 작동이 안 되는 초 구형 하드웨어에서 사용하려면 LXDE가 가장 가볍다고 봐야 합니다.



LXDE의 전체적인 모습. 어디선가 많이 본 듯한 느낌이 든다. 출처: LXDE.org


이러한 이유 덕분에 LXDE는 오래된 컴퓨터에서 돌아가야 할 때 많이 애용되고 있고 지금도 애용되고 있습니다. 헌데 이 LXDE가 새로운 모습으로 바뀔 예정이라고 합니다.


이름하여 LXQT입니다. 


LXDE의 다음세대라 할 수있는 LXQT의 모습. LXDE랑 별 다를바 없어 보인다. 출처: LXQT.org

갑자기 이름이 바뀐 것을 보면 근본부터 갈아 엎었다는 것을 알 수있을 겁니다. 네 LXQT는 기존의 LXDE와 연관이 별로 없습니다. 다만 개발자가 같고, 지향하는 바가 같습니다.(편리하면서도 가벼운 환경을 지향합니다.)


그런데 갑자기 멀쩡한 LXDE대신 LXQT가 개발되었을까요? 이유는 그래픽라이브러리 QT와 GTK에서 비롯되었습니다.



 


 VS


 


GTK는 그동안 LXDE를 통해서 잘 이용되어진 라이브러리입니다. 하지만, LXDE는 2010년 이후로 사용되어지지 않은 GTK-2버전을 이용해 왔는데 GTK-2는 GTK-3이 나오면서 개발이 중지된 라이브러리가 되었습니다. 그래서 LXDE의 개발자는 GTK-3과 QT5를 저울질 하던 중에 나온지 훨씬 오래되어서 상당히 안정화된 QT를 선택했습니다. 그리하여 LXQT가 나오게 되었고 지금 상당한 속도로 개발이 진행중입니다. QT만 설치하면 지금 당장 우분투에서 가동도 가능합니다.


몇몇 PPA를 등록해야 하기는 하지만 아직 개발중인 것이니까 그러려니 합시다.


sudo add-apt-repository ppa:lubuntu-dev/lubuntu-daily
sudo add-apt-repository ppa:gilir/q-project
sudo apt-get update
sudo apt-get install lxqt-metapackage lxqt-panel openbox


이와 같은 명령어로 우분투에서 LXQT를 사용할 수 있습니다. 하지만 LXDE와 큰 차이는 못 느끼겠습니다. 하지만 LXDE를 사용하신다면 슬슬 LXQT로 넘어가실 준비를 해야 할 것입니다. 개발자가 LXQT를 개발하고 있는 이상 LXDE는 도태될 확률이 높습니다. 그리고 Lubuntu의 Daily-update채널에 LXQT가 올라오고 있는것을 봐서 다음 Lubuntu는 LXQT기반일 것이 확실합니다. 이로써 LXDE의 도태는 기정 사실 이게네요. LXDE를 사용하시던 분은 LXQT의 Lubuntu가 나온다면 꼭 이렇게 이야기 합시다.


LXDE 그동안 고마웠어!

,

가상화라는 개념은 사실 예전부터 있었습니다. 하나의 컴퓨터를 여러대의 컴퓨터로 활용하는 것은 워크스테이션시절로 거슬러 올라갈 정도로 상당히 오래된 개념입니다. 하지만, 지금과 같은 거의 완벽한 가상화는 아니었고 그냥 이미 세팅이 완료된 시스템에 User가 일정 요금을 내거나 워크스테이션 관리자의 허락을 받고 사용하는 방식이었습니다. (윈도를 처음부터 쓰신 분들은 이해가 잘 안 되실 겁니다. 윈도는 사용자 개념이 워크스테이션에서의 그것과는 거리가 멀었기 때문입니다. NT계열 등장 이후에나 Unix의 개념과 비슷해졌습니다.)


즉, 워크스테이션에서는 사용자가 로그온을 하면 홈폴더(/home/사용자이름)에 한해서지만 내 컴퓨터처럼 사용할 수 있었습니다. 이 홈폴더가 샌드박스화 되면 일종의 가상화라고 합니다. 하지만 이는 이번에 이야기할 하드웨어 가상화하고는 이야기가 다르지요. 그 시절의 가상화는 소프트 가상화로 미리 설치된 OS에 설치된 프로그램만 사용할 수 있었던 시절입니다. 이 당시에 컴퓨터를 쓰고 싶은 사람들이 원하는 프로그램이 있으면 관리자에게 요청해야 했습니다. 정확히 하면 내 컴퓨터처럼 완벽히 사용할 수는 없었습니다.


하지만, 때는 흐르고 흘러서 1인 1PC시대가 도래했습니다. 옛날처럼 하나의 컴퓨터에 여러사람들이 붙어서 사용할 일이 없어졌고, 내 컴퓨터는 나만이 사용하는 것으로 바뀌었습니다. 그로인해 워크스테이션이란 개념은 점점 사라지게 되었습니다. 그도 그럴것이 개인용 PC의 성능이 워크스테이션을 뛰어넘기 시작하면서 옛날의 방식을 쓸 이유가 없어졌습니다. 이로써 한동안 가상화라는 개념은 사라지는 듯 했습니다. 하지만 아이러니하게도 개인용 컴퓨터에서 가상화라는 형식이 등장하게 될 줄은 몰랐을 겁니다.


그리고 바야흐로 90년대~00년대에 Apple사의 OSX가 등장하면서 PowerPC계열의 컴퓨터가 등장하게 됩니다. 당시에는 멀티미디어가 대세였는데 PowerPC는 이 방면에서 정말 강력한 컴퓨터였습니다. 게다가 Apple의 컴퓨터로써 이 PowerPC기반의 Mac은 기존 MacOS9를 쓰던 사람에게 큰 충격을 준 컴퓨터였습니다. 하지만 이 당시에도 PC는 Intel+Windows가 이미 잠식한 상황이었고 쓸만한 프로그램은 다 여기에 있었습니다. PowerPC를 쓰는 사람에게 이는 너무 아쉬운 점이었습니다.

"Mac에서 intel+Windows용 프로그램을 쓸 수 있으면 참 좋을텐데..." 이 작은 소원(?)은 VirtualPC라는 프로그램이 등장하면서 해결됩니다. 이 당시는 가상화라기보다는 intel칩을 흉내내는 에뮬레이터에 가까웠습니다. 하지만 VirtualPC가 Windows용으로 포팅이 되면서 기존 PC사용자에게 입소문을 타게 되었고, 가상화는 User모드 가상화에서 하드웨어 가상화라는 새로운 모습으로 격변하게 됩니다. 즉, 기존에는 이미 설치된 OS 환경에서만 내 맘대로 주무를 수 있었다면, 이제는 한정된 하드웨어이기는 하지만, OS도 마음대로 설치하고 프로그램도 마음대로 설치할 수 있는 새로운 가상PC가 만들어진 것입니다. 사실 혁명과도 같은 물건이었는데, Microsoft가 인수를 하면서 이 혁명과도 같은 물건은 한낱 후발 주자인 VMware에게 밀려버립니다.


하지만 모두 알고 계시듯이 VirtualPC나 VMware만 하드웨어 가상화지원을 하는 것은 아니었습니다. 그 이전에 리눅스에서 Xen이란 놈이 커널에 한해서지만 리눅스 가상화(반소프트 반 하드웨어 가상화)를 지원했고, Bochs와 Qemu라는 오픈소스 가상화 프로그램도 있었습니다. VirtualPC가 Microsoft에게 인수된 이후 CPU가상화 기능이 사라진(사라진 것은 아니고 PPC에서 intel칩을 에뮬레이션 해주지 못하게 되었습니다. 가상OS마저 Windows만 지원된것은 덤 입니다.)대에 비해 이 프로그램들은 CPU도 흉내를 내주어서 Arm이나 MIPS(!!)에서 Pentium을 흉내내준다던지 하는 누가 보면 신기한 일들도 했습니다.(스마트폰에서 Windows를 구동하는 영상의 대부분은 바로 저 Qemu나 Bochs를 이용한 것입니다.)하지만 성능은 상용프로그램에 비하면 좀 모자르기도 했고, VMware나 VirtualPC에 비해 잘 알려지지도 못했습니다.


현재 가상화의 선두주자는 누가 뭐라고 해도 VMware입니다. VMware하면 VMware Workstation만 생각하시는 분이 있을텐데 VMware의 주력제품은 VirtualBox나 VirtualPC와 같은 영역과는 차원을 달리하는 ESX입니다. 별건 아니고 그냥 VMware 가상화를 사용할 수 있는 환경을 갖춘 리눅스입니다. 하지만 이를 이용해서 옛날 워크스테이션 서비스 하는 것처럼 가상의 하드웨어 세트를 계정당 하나씩 제공 가능하게 해줍니다. 즉, 사라진줄 알았던 워크스테이션이 다시 돌아온 것이지요. 다만 옛날에는 다같이 쓰는 컴퓨터에 한 OS를 나눠 썼다면 지금은 완전히 가상화된 컴퓨터를 하나 덜렁 내주는 셈입니다. 이를 잘 쓴 서비스가아마존의 AWS가 아닐까 합니다. VMware사의 솔루션을 썼을지 아니면 자체 개발한 솔루션을 썼을지는 잘 모르겠지만 상당히 VMware ESX의 원하는 방향과 AWS는 비슷합니다. 가상화된 하드웨어에 미리 준비된 디스크이미지를 부팅하여 사용자에게 서비스한다... 이를 여러대 만들어서 클러스터화 하면 실제 기기는 몇대 안 되더라도 서버가 여러대 있는 듯한 효과를 만들어내게 됩니다. 워크스테이션의 강력함이 이렇게 쓰이는 셈입니다.


얼마전에 보니 VirtualPC를 말아먹은 Microsoft는 Hyper-V란 놈을 내놓고 VMware ESX를 노리고 있더군요. 실제 성능을 보아하니 VMware보다 더 좋기는 하던데 아마도 Windows만 지원하다보니 최적화가 되어서 그럴 것이라는 생각이 듭니다. 공짜라고 좋다고 쓰시는 분이 있던데 그거 공짜 아닙니다. Windows의 Pro버전이 비싼 이유가 다 거기 있는 것입니다. 게다가 Windows는 Unix만큼의 안정성을 갖추지 못했습니다. (단 유닉스에 비해 리눅스는 좀 불안정한 감이 있습니다. 안정성을 추구하는 Debian리눅스하고 비교해도 그렇습니다.)그런데 Hyper-V가 오직 Windows만 지원되다 보니 메리트가 상당히 떨어집니다. 아무래도 Hyper-V에 대한 글을 볼때마다 씁쓸한 생각이 드는 것은 어쩔 수 없군요. VirtualPC시절만 해도 상당히 좋은 프로그램이었고 발전가능성이 무궁무진했었는데 거대기업에 먹히고 나서.....


그러고보니 VMware나 VirtualPC(현재 Hyper-V)에 맞서는 오픈소스 종족이 남아 있습니다. Oracle에서 지원하는 VirtualBox입니다. 이것은 innotek시절부터 성능이 마음이 들어서 상당히 많은 사람들이 사용하고 있습니다. innotek이 Sun사에 인수되면서 성능이 안정화 되었고 Oracle에 Sun사가 인수되면서 잠시 불안해 했었지만 Oracle이 별 터치를 안 해주면서(?)지금은 GPU가상화도 그럭저럭 해주는 물건이 되었습니다. 문제는 VMware에 비하면 부족한 디스크I/O입니다만, 이는 시간이 지나 하드웨어 성능이 무섭도록 발전하면 격차가 알아서 좁아질 운명입니다. 다만, Oracle은 VMware같이 ESX같은 솔루션을 준비할 생각이 없는 것 같습니다. 하지만, 어쨌건 가상화는 가상화, 그것도 VMware에서 사용하는 것과 비슷한 하드웨어 가상화 입니다. 좀 설정만 해주고 http등의 알려진 프로토콜로 묶어주면 ESX못지않은 시스템을 갖출 수는 있습니다. 다만, 상당히 설정이 귀찮고 ESX에 비해 성능이 영 좋지 못하다는 것이 문제이기는 합니다.


지금 현재 가상화 대결의 구도는 VMware vs VirtualBox (vs Hyper-V - 일부에만 해당 Linux/Unix는 지원이 안 되므로)입니다. 하지만 Arm칩이 여기저기 쓰이는 요즘 Qemu나 Bochs도 무시 못합니다. 가상화는 아직 발전 중이고 워크스테이션은 다시 세상의 대세가 될 수 있을까요? 그 것은 조금더 상황을 봐야 할 듯 합니다.

,