Несколько слов о видеокартах.
Для 7970 оптимальным соотношением частот GPU/Mem мне кажется 0.57
Для 7950 оптимальное соотношение - 0,68
Теперь про майнинг.
1. Устанавливаем Ubuntu.
2. Ставим SSH:
sudo apt-get update && sudo apt-get install ssh
3. Ставим vnc4server
sudo apt-get update && sudo apt-get install vnc4server
Запускаем vnc4server первый раз, чтобы задать пароль:
vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565
Прописываем в /etc/rc.local загрузку его при старте - перед добавляем exit 0 строку:
su -l $USER -c "vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565"
Где $USER - заменяем на имя пользователя
Теперь после перезагрузки у нас будет работать VNC на порту 5901.
4. Ставим драйверы и необходимый софт:
Подготовка:
sudo apt-get install build-essential cdbs fakeroot dh-make debhelper debconf libstdc++6 dkms libqtgui4 wget execstack libelfg0 dh-modaliases linux-headers-generic xserver-xorg-core libgcc1 lib32gcc1 libc6 screen
sudo apt-get install fglrx g++ libboost-all-dev python-numpy thunar openbox tint2 obmenu menu screen
Распаковываем архив с драйвером и создаем пакеты:
sh amd-catalyst-13.4-linux-x86.x86_64.run --buildpkg Ubuntu/raring
Устанавливаем сгенерированные пакеты:
sudo dpkg -i fglrx*.deb
Создаём конфигурационный файл видео драйвера:
sudo amdconfig --initial -f --adapter=all
Перезагружаемся.
5. Скачиваем AMD-APP-SDK-v2.7-lnx64.tgz и ставим AMDSDK:
tar -xvf AMD-APP-SDK-v2.7-lnx64.tgz sudo ./Install-AMD-APP.sh
Оно установится в папку /opt/AMDAPP/
Перезагружаемся.
6. Скачиваем pyopencl-2013.1.tar.gz и ставим pyopencl-2013.1:
tar -xvf pyopencl-2013.1.tar.gz cd pyopencl-2013.1 sudo apt-get install python-setuptools rm ./siteconf.py ./configure.py --cl-inc-dir=/opt/AMDAPP/include/ --cl-lib-dir=/opt/AMDAPP/lib/x86_64 make sudo make install
7. Скачиваем python-jsonrpc.tar.gz и ставим python-jsonrpc:
tar -xvf python-jsonrpc.tar.gz cd ./python-jsonrpc sudo python setup.py install
8. Скачиваем cgminer и распаковываем его:
wget http://ck.kolivas.org/apps/cgminer/cgminer-3.4.2-x86_64-built.tar.bz2 tar -xvf cgminer-3.4.0-x86_64-built.tar.bz2 sudo mv ./cgminer-3.4.0-x86_64-built/ /opt/cgminer
9.Для разгона карт скачиваем и ставим adl3-0.3 - https://github.com/mjmvisser/adl3
tar -xvf adl3-0.3.tar.gz cd adl3-0.3/ sudo python setup.py install
10. Создадим скрипт для разгона карты и старта майнинга - /opt/mine
#!/bin/sh export DISPLAY=:0 && export GPU_USE_SYNC_OBJECTS=1 && export GPU_MAX_ALLOC_PERCENT=100 logger "Start mining" #atitweak --adapter=0 --set-engine-clock=990 --set-memory-clock=300 --set-core-voltage=1.165 --set-fan-speed=100 #7950 /usr/local/bin/atitweak --adapter=1 --set-engine-clock=1030 --set-memory-clock=1500 --set-fan-speed=100 #7950 /usr/local/bin/atitweak --adapter=2 --set-engine-clock=1030 --set-memory-clock=1500 --set-fan-speed=100 #6930 /usr/local/bin/atitweak --adapter=0 --set-engine-clock=910 --set-fan-speed=100 --set-memory-clock=1400 #litecoin pool-x.eu export DISPLAY=:0 && export GPU_USE_SYNC_OBJECTS=1 && export GPU_MAX_ALLOC_PERCENT=100 && cd /opt/cgminer/ && touch 1.bin && rm *.bin && screen -d -m /opt/cgminer/cgminer --intensity 20 --thread-concurrency 8192,24576,24576 --lookup-gap 2 -o http://mine.pool-x.eu:9000 -u MikeQ.223 -p xxx --scrypt --shaders 1280,1792,1792 --worksize 256 -g 1 #exit 0
Сделаем его исполняемым:
sudo chmod a+rwx /opt/mine sudo chmod a+rwx /opt/cgminer/ -R
Немного заключительных штрихов:
sudo chmod a+rwx /opt/cgminer
11. В файл ./.vnc/xstartup пропишем его запуск. Добавим строку:
/opt/mine &
12. Перезагружаемся. После перезагрузки в консоли можно набрать:
screen -r
и увидеть cgminer
13. Чтобы в случае зависания и последующей жесткой перезагрузки Ubuntu не останавливалась на меню GRUB нужно отключить recordfail. Эта функция позволяет отследить некорректное завершение загрузки и предотвратить циклическую перезагрузку, останавливая таймер в меню GRUB.
Редактируем файл /etc/grub.d/00_header. В нем находим кусочек, который формирует в файле /boot/grub/grub.cfg проверку recordfail:
make_timeout () { cat << EOF if [ "\${recordfail}" = 1 ]; then set timeout=-1 # This tells Grub to wait the keystroke choose else set timeout=${2} fi EOF }
Заменяем set timeout=-1 на set timeout=0:
make_timeout () { cat << EOF if [ "\${recordfail}" = 1 ]; then set timeout=0 # Here we can just wait 10 seconds else set timeout=${2} fi EOF }
Для того чтобы изменения вступили в силу - запускаем обновление скриптов GRUB:
sudo update-grub
Все.