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/.
(Jak zwykle na tym forum, nie wiem czy to dobry dział.)
Pytanie jest pewnie banalne, ale dla kogoś kto nigdy nie miał żadnej maszyny wirtualnej poza Javą odpowiedź jednak nie jest oczywista:
jak wygląda kwestia obsługi sprzętu przez system który jest zainstalowany na maszynie wirtualnej? Czy górną granicą kompatybilności są możliwości obsługi systemu hostującego maszynę wirtualną?
Prosty przykład: wyobraźmy sobie laptopa z zainstalowanym Linuksem. Laptop ma na obudowie klawisze funkcyjne, które pod Linuksem oczywiście nie działają. Czy zainstalowany w maszynie wirtualnej np. Windows XP z odpowiednimi sterownikami obsłuży te klawisze funkcyjne czy ni-chu-chu?
Będę kupował nowy sprzęt i z jednej strony chcę mieć na nim Linuksa, z drugiej zaś będzie mi zależało na przynajmniej okazjonalnej pełnej obsłudze sprzętu, włącznie z klawiszami funkcyjnymi. I nie wiem czy wystarczy mi Windows (z ewentualnymi sterownikami, jeśli będzie trzeba) zainstalowany na maszynie wirtualnej, czy lepiej jednak uderzać w dual boot.
Offline
Raczej nie obsłuży (ale jak była by to klawiatura USB to czytaj poniżej) - a nawet jeśli to byłby to strasznie hardcorowy sposób obsługi klawiatury pod Linuksem. Część klawiszy funkcyjnych zapewne będzie działać na Gnome czy KDE - u mnie w lapku działają chyba nawet wszystkie (choć głowy nie daję bo nie korzystam).
Co do maszynek wirtualnych - to da radę instalować i działać na urządzeniach USB (nie wiem czy na wszystkich - ale chyba tak, ja tak uruchamiałem drukarkę, modem i joypada), pewnie też jakieś porty inne typu RS232 da radę ale to tyle. Dźwięk, grafika i inne pierdoły poza USB idą przez Linuksa, a to co jest "obsługiwane" ma swoją funkcjonalność tylko w maszynie Wirtualnej - czyli jak chcesz sobie druknąć coś z drukarki nie obsługiwanej pod Linuksem, to musisz plik pdf przetransferować najpierw na wirtualkę i spod niej drukować jak ze zwykłego Windosa (no w tym wypadku jeszcze dało by się chyba po sieci - ale widomo o co chodzi).
Offline
[quote=Huk]Część klawiszy funkcyjnych zapewne będzie działać na Gnome czy KDE - u mnie w lapku działają chyba nawet wszystkie (choć głowy nie daję bo nie korzystam).[/quote]
No własnie niestety ani z KDE ani z GNOME nie korzystam. Chociaż z drugiej strony zawsze mogę je sobie zainstalować obok wybranego środowiska (Fluxbox) i na nie się przełączać kiedy trzeba.
Na pewno będzie mi zależało na obsłudze zewnętrznego wyjścia video, czyli podłączeniu sprzętu do rzutnika. Na Windowsie się podłącza kabelek, wciska klawisz funkcyjny + F4/F5 (czy tam inne, zależy od sprzętu) i już. Nie wyobrażam sobie żebym musiał kombinować cokolwiek więcej.
Jednak w tej chwili — kiedy sprzęt nie jest przecież jeszcze wybrany — nie potrafię określić czy nie będzie mi zależało na jeszcze innych funkcjach, dlatego zawczasu wolę wypytać o możliwości.
[quote=Huk]Dźwięk, grafika i inne pierdoły poza USB idą przez Linuksa[/quote]
Czyli jeżeli Linux nie obsłuży akceleracji 3D karty graficznej, to np. w gry na maszynie wirtualnej (o, niedawno wyszedł Starcraft 2 ;) ) nie ma co liczyć?
[quote=Huk]a to co jest "obsługiwane" ma swoją funkcjonalność tylko w maszynie Wirtualnej[/quote]
Tak, to oczywiste.
Jak pisałem, chodzi o okazjonalną obsługę pewnych funkcji. Chcąc którąś z nich uzyskać, włączenie maszyny wirtualnej w nowym okienku jest najłatwiejszym wyjściem. Przelogowanie się do innego środowiska graficznego jest innym, natomiast reboot do natywnie uruchomionego innego systemu operacyjnego ostatecznością, która jednak na pewno zapewni najlepszy możliwy poziom kompatybilności.
Dzięki odpowiedziom z tego chcę już sobie zaprojektować czy nowy sprzęt będzie składał się z dwóch systemów operacyjnych, dwóch środowisk graficznych czy jednego środowiska i pliku dla systemu uruchamianego w wirtualnej maszynie.
Offline
Na pewno będzie mi zależało na obsłudze zewnętrznego wyjścia video, czyli podłączeniu sprzętu do rzutnika. Na Windowsie się podłącza kabelek, wciska klawisz funkcyjny + F4/F5 (czy tam inne, zależy od sprzętu) i już. Nie wyobrażam sobie żebym musiał kombinować cokolwiek więcej.[/quote]
Z tym raczej rzadko są problemy - o ile karta graficzna jest obsługiwana to na 95% będzie to działać.Czyli jeżeli Linux nie obsłuży akceleracji 3D karty graficznej, to np. w gry na maszynie wirtualnej (o, niedawno wyszedł Starcraft 2 ;) ) nie ma co liczyć?[/quote]
Dokładnie tak, po prostu trzeba rozdzielić sprzęt na dwie kategorie - taki do którego maszynka Wirtualna ma dostęp bezpośrednio (tak jest np w wypadku USB) i taki do którego takie dostępu nie ma (w zasadzie wszystko na PCI/AGP itp). Ten pierwszy najprawdopodobniej będzie działał w 100%, a ten drugi tylko wtedy kiedy backend może korzystać z odpowiednich pierdółek na hoście - chcesz 3D? Na Linuksie musi działać OpenGL, checz dźwięk? Musi być ALSA/OSS itd (no chyba że masz kartę dźwiękową na USB wtedy pewnie da ja radę zainstalować na wirtualnej).
Należy dodać że o ile korzystanie z np drukowania to nie problem, o tyle np 3D potrafi chodzić sporo wolniej (a D3D jest nadal Work-In-Progress i może nie chodzić wcale) - chociaż dodam że wczoraj na VirtualBox grałem sobie w demko Quaka 4 na Full i działało bardzo sprawnie (GF9800GT, 4096 MB ram C2D E7200) - ale to gra napisana w OpenGL)Dzięki odpowiedziom z tego chcę już sobie zaprojektować czy nowy sprzęt będzie składał się z dwóch systemów operacyjnych, dwóch środowisk graficznych czy jednego środowiska i pliku dla systemu uruchamianego w wirtualnej maszynie.[/quote]
Hmm jeżeli chodzi o lapka to niestety to jest ruletka i nic nie da się do końca przewidzieć... Powiedziałbym że zasada jest taka że grafa Nvidii, płyta Intela, wifi Atherosa to chyba najlepszy układ pod Linuksa niezależnie czy to lapek czy stacjonarka. Niemniej jednak jak chcesz grać to obawiam się że instalacja dual-boot cię nie ominie - maszynka wirtualna nie jest po prostu do tego stworzona (co nie znaczy że się kompletnie nie nadaje), oczywiście jest wine za pomocą którego można pociupać w naprawdę wiele tytułów, ale na obsługę nowszych zwykle trochę trzeba czekać...Offline
Zasada jest taka - system gościa w żadnej formie nie przeskoczy systemu gospodarza.
Mrówka na grzbiecie słonia pojedzie bez problemu, a słoń na grzbiecie mrówki?
W xenie|kvm jest opcja przekazania kontroli nad danym urządzeniem (PCI na pewno) systemowi gościa, - żeby widział to - jako sprzęt podłączony bezpośrednio.
Virtualbox natomiast potrafi tylko w ograniczonym zakresie emulować 3D - o ile jest zainstalowany na Linuxie, a na wirtualce jest Win$ - o ile pamiętam.
Ale jest to niezbyt wydajne rozwiązanie - zapożyczone chyba z obsługi DirectX przez Wine.
Pozdrawiam
Offline
@Jacekalex:
A to ciekawe. Mam rozumieć że przykładowo mając dwie karty graficzne na PCI-E, mógłbym sobie pod Xenem przekazać jedną dla maszynki wirtualnej, a na drugiej odpalać system gospodarza, i wirtualna widziała by ją w pełni? (Tzn - zakładając że gościem jest Windos - dało by się korzystać w pełni bezpośrednio z D3D?) I czy w ogóle są potrzebne dwie karty czy można jakoś jechać na jednej w takim trybie?
Offline
[b]Huk[/b]: dzięki za wyczerpujące przedstawienie tematu. Jak coś mi się przypomni to jeszcze się dopiszę. Na razie robię wstępne rozeznanie, niedługo też założę wątek odnośnie laptopa dla Linuksa ;) .
Co do gier — wątpię aby obowiązki mi pozwoliły na spędzanie czasu w ten sposób, więc one (gdy, nie obowiązki ;) ) są bardzo daleko na liście priorytetów. Pytałem głównie z ciekawości — po prostu wolę nie zamykać sobie żadnej możliwości. W końcu lepiej nie korzystać niż nie móc skorzystać.
Offline
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00006 | SET NAMES latin2 |
0.00127 | 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='18.217.207.112' WHERE u.id=1 |
0.00101 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.217.207.112', 1733027353) |
0.00033 | SELECT * FROM punbb_online WHERE logged<1733027053 |
0.00107 | DELETE FROM punbb_online WHERE ident='85.208.96.195' |
0.00066 | 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=17338 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00170 | 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=17338 ORDER BY p.id LIMIT 0,25 |
0.00097 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17338 |
Total query time: 0.00725 s |