Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
Niedawno odkryłem, że mam IOMMU na swoim procku ( AMD A10-5800K ). Postanowiłem spróbować przekierować karetę graficzną dla windowsa. Od czasu do czasu lubię sobie pograć. Rozwiązanie jak najbardziej fajnę i przydatne.
Czym dysponuję:
Radeon R7 260X (karta do przekierowania)
GForce 7600GS.
AMD A10-5800K (GPU wbudowane)
Płyta główna ASUS F2A85-V PRO
Xubuntu 15.04
Co próbowałęm:
Zostawćc kartę graficzną w procku jako główną dla linuxa. To niestey nie udało się. Po dodaniu przekierowania w virt-managerze, w dmesg-u i virt-managerze dosteję errory "device or resource busy" + errory związane z IRQ. Dodam tylko, że taka konfiguracja wymaga przełączenia w biosie opcji odpowiedzialnej za to która karta graficzna ma byc pierwsza.
Spróbowałem więc z Gforce. Jeden monitor podłączyłem do Gforce a drugi do Radeona. W dmesg-u pojawiały się errory ze sterownika nuoveau i koniec końców nie miałem obsługi dwóch monitorów na standardowym desktopie linuksowym. Ok to mnie nie zraziło. dodałem do blacklist.conf moduł radeon (nie instalowałem sterów zamkniętych). Po reboocie nie wstają X-y. Wywaliłęm z blacklist moduł radeon. Po odpaleniu maszyny (przez virt-manager-a) dosteję mnóstwo błędów odnośnie modułu radeon.
Eh.... Jak nie urok to sr......
Czy ktoś z was próbował już takiego rozwiązania ? Przyznam, że zależy mi na nim, ponieważ nie będę musiał przełączać się na windola jak będę chciał pograć.
Ostatnio edytowany przez ukasz (2015-06-02 21:28:05)
Offline
Cześć
Udało mi się odpalić windowsa i przekierować kartę graficzną do niego. Co zrobiłem:
Użyłem pci_stub po to aby system nie uzywał karty graficznej. Mam dwie. Jedną wbudowaną w procesor (tej używam w systemie) i drugą dołożoną.
cat /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci_stub.ids=1002:6658,1002:aac0 iommu=pt"
ids to vendor id i model id. Można je wyciągnąć z
lspci -vnn
. Jak widać są dwie pary podane. To dlaetgo bo karta graficzna ma również dzwiękową (przez HDMI). Tutaj trzeba zwrócic uwagę na grupy IOMMU.
find /sys/kernel/iommu_groups/ -type l /sys/kernel/iommu_groups/0/devices/0000:00:00.0 /sys/kernel/iommu_groups/1/devices/0000:00:01.0 /sys/kernel/iommu_groups/1/devices/0000:00:01.1 /sys/kernel/iommu_groups/2/devices/0000:00:02.0 /sys/kernel/iommu_groups/2/devices/0000:01:00.0 /sys/kernel/iommu_groups/2/devices/0000:01:00.1 /sys/kernel/iommu_groups/3/devices/0000:00:10.0 /sys/kernel/iommu_groups/3/devices/0000:00:10.1 /sys/kernel/iommu_groups/4/devices/0000:00:11.0 /sys/kernel/iommu_groups/5/devices/0000:00:12.0 /sys/kernel/iommu_groups/5/devices/0000:00:12.2 /sys/kernel/iommu_groups/6/devices/0000:00:13.0 /sys/kernel/iommu_groups/6/devices/0000:00:13.2 /sys/kernel/iommu_groups/7/devices/0000:00:14.0 /sys/kernel/iommu_groups/7/devices/0000:00:14.2 /sys/kernel/iommu_groups/7/devices/0000:00:14.3 /sys/kernel/iommu_groups/8/devices/0000:00:14.4 /sys/kernel/iommu_groups/9/devices/0000:00:15.0 /sys/kernel/iommu_groups/9/devices/0000:00:15.1 /sys/kernel/iommu_groups/9/devices/0000:00:15.2 /sys/kernel/iommu_groups/9/devices/0000:04:00.0 /sys/kernel/iommu_groups/9/devices/0000:05:00.0 /sys/kernel/iommu_groups/10/devices/0000:00:18.0 /sys/kernel/iommu_groups/10/devices/0000:00:18.1 /sys/kernel/iommu_groups/10/devices/0000:00:18.2 /sys/kernel/iommu_groups/10/devices/0000:00:18.3 /sys/kernel/iommu_groups/10/devices/0000:00:18.4 /sys/kernel/iommu_groups/10/devices/0000:00:18.5
Moja dodatkowa karta graficzna znajduje się w grupie 2 razem z pci root portem. Jeżeli karta jest razem z np kartą sieciową to trzeba wszystko przekierować (oprócz root bridge). Zasada jest prosta. Wszystko albo nic. Można pokombinować ze slotami PCI żeby odizolować daną kartę graficzną. Jak do tej pory dostawałem błędy:
AMD-Vi: Event logged [IO_PAGE_FAULT device=01:00.1 domain=0x0020 address=0x0000000016edf810 flags=0x0030]
Po ustawieniu
cat /etc/modprobe.d/vfio_iommu_type1.conf options vfio_iommu_type1 disable_hugepages=1
Problem zniknął i karta jest widziana pod windosem. Do synchronizacji myszki i klawiatury uzywam programu synergy. Bardzo pomocny był [url=http://vfio.blogspot.com/]ten[/url] blog.
Pozdrawiam i powodzenia przy konfiguracji.
Offline
Może popełnij arta o tym, bo wiesz... błogosławieni, co czynią FAQ ;)
Offline
Spoko. Jak będę miał wolne moce przerobowe to napiszę.
Offline
[quote=thomsson]Może popełnij arta o tym, bo wiesz... błogosławieni, co czynią FAQ ;)[/quote]
Mam trochę czasu i chciałbym napisać taki artykół. Do kogo się zgłosić itp ?
Offline
W sumie, po napisaniu artykułu możesz poprosić kogokolwiek z [url=https://dug.net.pl/o_nas/]funkcynych[/url] aby nadał Ci prawa do umieszczenia arta na portalu.
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00080 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.142.53.151' WHERE u.id=1 |
0.00078 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.142.53.151', 1732535252) |
0.00045 | SELECT * FROM punbb_online WHERE logged<1732534952 |
0.00045 | SELECT topic_id FROM punbb_posts WHERE id=287763 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=27450 ORDER BY posted |
0.00056 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=27450 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00155 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=27450 ORDER BY p.id LIMIT 0,25 |
0.00076 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=27450 |
Total query time: 0.00558 s |