Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "qemu"
On reccomendation of @chabad360 I made this its own rant.
I switched from marketing to CS (complete with a three year degree, no Bootcamp). I still went to interviews as you'd expect a marketing man to go; in a suit. Commence the weirdest interview.
I: "You're not the typical engineer. Can you talk to real engineers?"
M: "could you elaborate"
I:"you're dressed in a suit. That leads me to think you're a MS user. Do you think you could talk to real, ie. Linux using engineers?"
M: " well, I haven't used windows in about a year soo..
I: "Mac isn't Linux."
M: "I'm aware. I've switched to Ubuntu so I could use KVM-QEMU android emulator with GPU pass through to train Deep Convolution Networks on mobile devices. Also had to compile Google's internal build tool because it had bugs I had to fix so I could compile the APK."
I: "ah, Ubuntu eh? **Insert Smirk** How about a follow-up?"
M: "no, I'm switching to Gentoo this week and would like to talk to real engineers about that."
I thanked him for the coffee and left.1
Last night I compiled my first kernel module!
I'm not talking about a ./configure; make; sudo make install kind of thing...
I wrote, compiled, loaded the module and saw my silly "Hello World!" message on dmesg!
Using some previous experience on embedded I fired up qemu with a fresh buildroot image and the kernel image I just made, thus I can now test and debug without doing kernel changes to my workstation!
So yeah, I'm a little excited :-D4
Me: ugh I’m so dumb, I’m never gonna build an OS
Me 2 seconds later (reading from QEMU): “Hello, World”!!! Yes, I’m a genius, now to install it on my friends smart watch!1
I've never used Windows in my day-to-day life. No kidding.
When I got my father's first computer, I used an old distribution called BBC Linux. I didn't have any computer knowledge, it was my first contact with a computer, so I went to a friend's house and asked for a CD to install on my computer. I don't know if this friend ended up making a "gotcha" and thought I'd give up, but I just read the manuals and fell in love. That was year 2000.
Then I used Conectiva Linux, then I went to Red Hat 9, then Slackware, then in 2007 I started using Solaris. And I stayed on Solaris (Solaris 10, Solaris Nevada and OpenSolaris) until 2011.
In 2011 I bought a Mac. I stayed at Apple until 2020, when I couldn't stand Apple forcing me to buy new computers (I still don't understand how a 2011 iMac, i5 (4 Hyper Thread cores) with 16GB of RAM, 1TB SSD only runs up to High Sierra).
Then I bought a Dell. It came with Windows 10, the first thing I did was install WSL2. I could not stand it, the system is bad, sorry. I installed OpenSuse and have been using it for two years.
It's just that every day someone tells me "how can you use this"? "There is no alternative to Windows, do you want to be different?"
I know that my story was the reverse of the "mainstream", so I'm going to talk about my vision of Windows, that in my brain it is actually the "alternative".
- Having a file explorer without "tabs" in 2022 is unthinkable for me.
- I love terminal. And the Windows terminal is very limited. "ps ... | awk ... | xargs ..." is a must for me. "find ./ -name '...' -exec ..."... these things on Windows are totally "different" and have the "powershell way" while all other operating systems keep the same form. And cygwin is not an option. As Wine for serious work is also not.
- Dragging a file into the terminal, and having it write its path, is so natural, that when Windows didn't do it, I was dismayed.
- I've always used StarOffice, OpenOffice and now LibreOffice. All the people in my story received my documents and reports as a PDF and no one complained. Until a coworker saw me editing in LibreOffice and said "oh I want it in word format". As long as he didn't know, everything was fine, right?
- Windows is paid. And is there advertising? I don't understand. And I refuse. If you want to display advertising, then excuse me. I have no problem paying, I'm not an opensource shiite. It's just that paying and not working bothers me much more than an opensource that I can fix or expect a fix knowing the good will of the people involved.
- Hyper-V is a joke. QEMU/KVM is better, and Bhyve on FreeBSD which is a very young project, is already a million times better than Hyper-V.
- Developing in C/C++ for Windows is only possible in two ways: Either you've always lived in Windows and your brain is conditioned, or you compile with MSYS2 (CLang or GCC).
- There is no significant evolution of the windows desktop since 95.
- Multiple workspace support with multiple monitors, not ready. It's another joke.
- REGEDIT does not need any comment.
- The system loses performance over time. I still don't know how Windows achieves this.
- I've seen people complain about desktop fragmentation on Unix and Linux. Many DEs end up leaving applications with different themes (like running a Qt application in Gnome and GTK in KDE), but to be quite honest, the lack of Windows standard bothered me much more. Even Microsoft's own software is completely different: Control Panel, Calculator, Paint and Office, To-Do, and Settings, have horrible style differences and look-and-feel fragmentation.
- Dark mode has not been implemented. It's another joke. Many applications are white while everything else is dark. Sorry, even on Linux which is a mess, this has been resolved. And well resolved.
- NTFS? Serious?
- C:, D:.. It doesn't convince me since DOS.
- News "biased" in the search bar is a lack of respect for those who use the computer to work.
And that. For me, Windows is the alternative operating system. I can't take Windows seriously, for me it's an experimental one like Haiku or ReactOS. It's good to play.
About market share, it doesn't convince me to use it. But convinces me to sell. I've always developed applications to run on Windows. And when I need it, I turn on a VM to compile the project. But in everyday life? Impractical.15
I wrote something to make QEMU VMs with GPU passthrough easy, thought I may share.
Feel free to look and uhh help me improve it, I really have no idea how some things in QEMU works. PRs and stuff appreciated
I know I'm late to the party with GPU passthrough, but holy crap is it great! I first tried to set it up with an old GeForce 1050 ti, but damned if nvidia isn't completely worthy of that middle finger Linus gave them. I switched to an older Radeon(rx570) and it worked PERFECTLY. I have a fully accelerated windows desktop running as a VM now that I can connect to via parsec.
I pulled it off! VMware on Linux is pretty rad! What you see in the pic is windows on my right monitor and Fedora on the left, Fedora serving as the host though.
They work seamlessly! (no lag at ALL)
Full size pic :
FUCK YOU QEMU AND SPICE, STATE OF THE ART MY ASS (GNOME BOXES)30
Finally dumped windows from my tower/gaming rig!!!
I'm now running Ubuntu Budgie and Windows 10 inside a qemu/kvm VM with gpu passthrough. That way I have almost-native performance and no additional setup effort for installing games.7
Shit. My ssd died y-day. Got a new one [970evo] today (tx bro!).
Guess who's gonna spend the night recreating the whole env: ui, scripts, triggers, integrations, tunnels, qemu vms, apps, bkup restores,....
Right, so either Intels CPUID manual is fucking stupid or my qemu CPU has brain cancer in it's fucking silicon head.
x80000004 contains not ascii stuff but x8000003 and x80000002 fucking do.
I'm stranded with two thirds of a CPU brand string.
If can pick one it probably will be Fabrice Bellard.
Anyway everyone who contribute to open source community deserves to be famous.
First of all, a great channel to follow and where all this is from: https://youtube.com/watch/...
It listed a lot of open source news I missed myself and I'm sure others did too, for those that are too lazy to watch the video or open the description, I've stripped away the links and "X version got released" just to give an idea of what he covers.
GNOME and KDE announced they would work together on building better Linux desktops at Linux App Summit.
XRDesktop, a VR enabled Linux desktop, will allow you to use your Linux programs while wearing your VR headset.
Responding to the european commission's fines, Google announced that it would allow other search engines to be present at Android's setup.
Manjaro will allow users to pick between FreeOffice, Libre Office, or no office suite at all.
The Igalia team announced that they are working to make Pitivi compatible with Final Cut Pro X
Microsoft might be bringing its Teams software to Linux.
Martin Wimpress from the Canonical SnapCraft team gave an interview to TechRepublic, on Snaps
A discussion took place on how to improve Linux desktop performance in low ram scenarios.
A KDE vulnerability has been outed publicly before notifying the developers.
Nvidia has open sourced a bunch of documentation for its GPUs
Linux Journal announced they would cease their publication.
Kdenlive 19.08 has been released, bringing 3 point editing and a bunch of keyboard shortcuts
The Linux on Dex project now allows to run Ubuntu 16.04 LTS on a samsung smartphone.
According to protondb, we passed the 6000 playable games mark, out of 9 thousand for which users have created a report
GNOME Feeds has been released on flathub, a simple app to read RSS feeds on GNOME
The enlightenment desktop released its first version in 2 years, enlightenment 0.23.0.
Linux celebrated its 28th birthday
Microsoft announced that they would bring exFAT support to the linux kernel.
Thundebird 68 was released with an interface redesign
Collabora has published an update on their work on viglrenderer, a solution to emulate a gpu while using a virtual machine through Qemu.7
Very eventful day, please see enclosed several smaller rants.
My college's systems are shit and not only do they use HTTP for everything, even the stores and financial aid purchase system, they have homebrew JS shit for PGP site encryption (nifty...), but they exchange the PRIVATE KEYS instead of the public keys. Over HTTP. Not even HTTPS. Also if you log in more than 10 times in 24 hours it's supposed to lock you out of your account until you call... except it locks EVERYONE out. Found this out when on campus, trying to get my textbooks, when suddenly everyone had login lockouts because i'm a "paranoid bastard" and "afraid of idiot college students" for not telling a PUBLIC PC to remember the one password (enforced by password auto-sync across all their shit, not ideal, no) guarding my SUPER-SENSITIVE FINANCIAL AND ACADEMIC DATA... among the other hundreds of issues this college has. I now see why this college is the only one I can afford...
Can't pass-through raw DVD drive access to VMs as VM managers crash when I try (yes, even QEMU...) so i've gotta install Windows on a shitty 80GB laptop HDD for literally one quick project. On the bright side, if my theory proves correct, you'll no longer need modchips for PS2s.
Found a couple odd lines in my xscreensaver config:
the first 2 I can't seem to figure out what do, and the last taught me a new word. Fun!
that's it, it's over, why are you still here11
New Phrack article. Given they release like one a year, figured it warranted posting a link.
Title : Hypervisor Necromancy; Reanimating Kernel Protectors
Author: Aris Thallas
Date: 2020 Feb 14
"In this (rather long) article we will be investigating methods to emulate proprietary hypervisors under QEMU, which will allow researchers to interact with them in a controlled manner and debug them. Specifically, we will be presenting a minimal framework developed to bootstrap Samsung S8+
proprietary hypervisor as a demonstration, providing details and insights on key concepts on ARM low level development and virtualization extensions for interested readers to create their own frameworks and Actually Compile And Boot them ;). Finally, we will be investigating fuzzing implementations under this setup."
my new rig is more and more causing me issues:
- Ryzens fucking kill 9x and MS-DOS applications and the OSes themselves when they run unemulated, so they can't be run in a KVM. This makes them slow as shit, and in qemu-TCG's case, buggy as shit too. VMs can't reboot successfully, they have to be totally forced down and brought back up on TCG or they hang during the reboot. It also performs poorly. VERY poorly. The "shit runs full-speed like 65% of the time and it feels slow as fuck as video output is a stuttery blurry mess" type. This makes 2 projects problematic to complete and I have to remake 17 VMs in virt-manager now as vbox doesn't work with any virtualization method for a 9x/DOS guest now!
- For some reason my new RX 5500xt has an issue when it hits about 80% usage, the fans spin to 100% on it at 80% and taper off to like 5% when idle. Pretty standard stuff... except it's erroneously tied to... current load, not temperature. Hmm.
- Debian got an update that renames my ethernet device mid-boot. Up until just before the login screen, it's named "eth0". After that, it's named "enp8s0". This was hell to work around and idk why it does this.4
I'M SICK OF YOUR FUCKING HURR DURR TRIPLE FAULT HURR DURR PAGE FAULT THANKE QEMU FOR NOT EVEN BOTHERING TO TELL ME WHAT EXACTLY HAPPENS AND FUCK YOU GDB FOR NOT WORKING
I use qemu/KVM on Linux. I love being able to do basically all VM operations with commands. So when I need to use my Windows VM(ie: connect to a WebEx), I pop it on with an integration I wrote for my keyboard launcher(mutate), or just execute an alias over SSH, and connect via VNC. When I'm done, I just shit it down. At this point, Windows has been reduced to just a windowed program that I run.7
Recent VM/Emulation Adventures:
The goal was to get TCP/IP and SSH running on whatever weird VM/emulated machine, and connect to the chatroom at chat.tcp.direct successfully.
Longhorn, somewhere late pre-reset: Crashes right after installer begins "Starting Windows", 0x7b from sum-match ISO. Fail.
TempleOS (well, Shrine, but y'know): Dear god. No. No, I am not writing SSH in HolyC myself *fuck that,* fail.
Slackware: oh ffs i gotta use fdisk to partition this damn thing? and it's not even the good fdisk? Oh, wait... it hangs. Fail.
WinME: shockingly, was *fairly* stable... until it hung up WASAPI and the hypervisor two frames into desktop rendering. Fail.
Mac OS 7: First-boot after install, immediate unknown trap. Just works, eh? Fail.
Amiga: After about 85 resets and 7 hours of constant fighting with WinUAE, I finally got TCP/IP working. (Required 10MB of total RAM and an FPU to connect.) Success!
Win98FE: just... PuTTY and done. Easy. (This was the warmup.) Success...
Other people's achievements so far:
- Minecraft using the new QEMU interface mod thing.
- Hacked smart fridge.
- iPhone, from custom initramfs.6
I hate when I have to debug an issue and find out its somewhere entirely else, than I was looking.
>Installs a virtual server on the Proxmox VE platform
>Reboots and grub be like "No such device *UUID*"
Okay, so... reinstall grub, maybe a bug in the automated install?
>Nop.exe, still an issue
>Partition tables all good, drives all visible when booted from a live environment, grub is up to date
>Finally gives up and goes to mess in the (terrible) grub rescue environment
>Grub only sees (hd0) while root is on (hd2), what?
>A whole lot of cursing ensues, wtf?
Turns out it was a bug, but not in grub... Rather, in the QEMU-KVM agent daemon, wtf!
I never had to deal with a bug in the virtualization agent itself.
Downgrading from pve-qemu-kvm 5.0.x to 4.0.x solved the issue.
Now, maybe, I can finally go have my lunch...
[please read my rant, i want attention lol, i am pretty sure you know me ^v^]
My devRant visits have decreased tremendously due to high amounts of school work, but finally I am doing something productive developer stuff!
There is this app that allows you to watch educational videos offline, but that only works in android, but I don't have an android tablet, and I don't want to watch videos in my S8, so I am trying to boot android from usb, stick in my surface pro 6 which i am gonna order soon, download the app there, and watch videos!
I knew OS stuff was complicated but it is way more..... Yeah, complicated than i thought. All those fuzzy words, grub, partition, format, sectors, qemu, etc...
And I have only windows, which is a plus since i can use easy2boot, a godsend utility to make bootable usb with any iso easily (not an ad) , but the minus is that i have limited testing capabilities, forcing me to install virtualbox eith vmeu or whatever that thing is called...
But what I really want to say in this rant which is completely out of control, I'd like to thank the easy2boot support team who was very helpful for me to understand their utility, and a random guy in phoenix os subreddit who told me where to start.
If you read until here thanks! If you have experience booting from usb wih surface, or any windows machine let me know your experience since i want to know more about it, and if i encounter problems, i can look at your comments, thanks!7
VESA is driving me crazy.
I'm trying to set my video mode via VESA functions which works, the QEMU window size changes, ton of more space.
Problem now however is that I have no idea where in the name of god the goddamn framebuffer starts.
Apparently it's address is located withing the mode info block which I have successfully queried and stored in ES:DI.
Problem now is getting this info block into my 32-bit kernel.
I tried smacking it on the stack which only produces hot garbage.
Essentially it goes like this
[...make sure pointer to block is stored within ES:DI...]
mov ebx, [ES:DI]
[Switch to 32 bit mode, ebx is not erased by doing so]
;Set up stack
mov ebp, 0x90000
mov esp, ebp
kernel_main takes this pointer as an argument, hence why I've pushed it onto stack:
When I try accessing it however by doing the following:
vbe_mode_info_block* info_block = (vbe_mode_info_block)ptr;
And then try accessing the in the member 'framebuffer' using 'info_block->framebuffer' it's giving me hot garbage.
I'm probably doing something obvious wrong.
I'm gonna try passing ES and DI seperately and converting them to a real mode address by doing addr = (ES*0x10)+DI;
MAYBE MAYBE MAYBE2
An amazing QEMU disk image every day!
Brightening your days in the winter holiday season.
FreeGEM, that brings up memories
I spent the easter weekend migrating a bare metal Windows installation to a Proxmox VE server with a Windows VM (and set up an rdp client).2
qemu-img keeps on reporting error:
Could not open 'some-qcow2-img': No such file or directory
Why you waste me 2 hours for troubleshooting instead of telling me it's the backing file that could not be found?