Homebrew Wii U Linux

  • Thread starter Thread starter pwsincd
  • Start date Start date
  • Views Views 165,786
  • Replies Replies 510
  • Likes Likes 56
Hey, thanks Flame!

@haxnume: much appreciated, my Japanese is no good! (and by that, I mean nonexistent, haha)

@depaul: Kitsumi is right, emulators won't be feasible until we get the Radeon graphics driver working. (We're tossing around a couple ideas on how to tackle that one.) Even the NES emulator FCEUX is horrendously slow.

Little update on the state of things: all my computing equipment besides my laptop is currently packed up as I'm moving house; I won't be able to do any dev work for the next week or so. After that, though, I've heard there's an issue with Razer USB peripherals and the linux-wiiu USB stack which I'm planning to tackle. Might also run a couple more timed compilations to compare WiiU single core performance vs. our other PPC environments: a couple of iBook G4s and QEMU. (Quark's already ran a couple tests.....the results are quite interesting, actually)
 
Not yet, audio's low on our list of priorities. We'll likely just implement audio over HDMI as part of the Radeon drivers.
 
  • Like
Reactions: depaul
Yup, it's an R700 based chipset....basically a Radeon HD 4XXX IIRC? (don't quote me on that)

In any case, it's similar enough that it should be supported by the open-source Radeon drivers for Linux as long as we can get around the interface issue.
 
I hate to drop teasers, but we may or may not be one step closer to enabling Wi-Fi.

(I say "may or may not" not to build excitement, but because I have no clue how far this rabbithole will go and if it will end up working or not. Don't get your hopes up too high....)
 
Last edited by CompuCat,
Quick note: we've pushed our progress on the WiFi stuff to a dedicated branch on GitLab, though we strongly recommend you avoid using it. It's made my console act very weird, and WiFi still isn't working. Among other things:
  • Linux gives errors about the WiFi firmware being corrupt (at least they're communicating now!)
  • When Linux asks the console to turn off, it reboots instead
  • After this reboot, the console locks up randomly, even if I don't boot Linux
That last one is pretty damn concerning, so I'm putting a blanket statement out: Don't use this until we work this out. Stare at the code and commit logs all you want, but all users should avoid actually running anything until we merge it into the master branches after thorough testing.
It seems we've poked a bear.
 
Is wine usable? I was thinking on using it to play oldie 90' windows games, namely Diablo I, since even without hardware acceleration it would run on a good framerate.
 
Is wine usable? I was thinking on using it to play oldie 90' windows games, namely Diablo I, since even without hardware acceleration it would run on a good framerate.
You can try it out yourself with qemu.
The speed won't be impressive, however.

Hangover, which thunks other arch code to x86 code, is making progress. That might be a good solution in the future.
 
Last edited by uyjulian,
@blackkawa: Due to the way our framebuffer works, even that wouldn't run at a playable framerate. Even if you got QEMU to run at a decent speed.

In short, Linux will put the framebuffer at an random memory address. This usually ends up in slower MEM2, instead of the fast MEM1 most homebrew uses for framebuffers. This is a massive slowdown: even rendering a simple NES game shows bottlenecking issues.
 
  • Like
Reactions: depaul
Thanks guys. Just an information : even on PS4 Linux system runs very slowly. For example here, the game "Dino Crisis" runs slow, although PS4 Linux supports graphics driver.


Maybe the whole Linux system isn't as good for emulation.
 
Linux works just as well as any major OS for emulation; the bottlenecks come from implementation issues. I'm not sure what's going on in that PS4 demo tbh. From the look of that CPU monitor in the right hand side, it appears to be maxing out the PS4's CPU, which makes sense, considering that it's a relatively weak AMD pre-Ryzen core.

For reference, Linux on my main workstation will easily run Dolphin at HD resolutions and more.
 
Last edited by CompuCat,
Thanks guys. Just an information : even on PS4 Linux system runs very slowly. For example here, the game "Dino Crisis" runs slow, although PS4 Linux supports graphics driver.


Maybe the whole Linux system isn't as good for emulation.

i use the linux as my main SO on desktop, i had no problems with emulation and have a lot of games with OpenGL support that i can play here, and some others that i play over qemu, wine or virtualbox
 
  • Like
Reactions: depaul
Is there anyway to change the screen resolution in lubuntu? It only displays one resolution in settings

Also, once you power off from linux, you cant use the quick start on the wii u?

This is perfect to run FunKiiUi through for pc'less game downloads!
 
Screen resolution is hardcoded right now; again, that'll be solved once the Radeon graphics drivers are implemented.

Quickstart: yeah, that's a known bug. I've got no clue what's causing that. Probably has something to do with the SMC (which is pretty much a big ol' black box)
 
@CompuCat @QuarkTheAwesome
Tested this out, works like a charm. It's very limited because of it being in development, but it's rather fascinating. Honestly, I wouldn't mind if you divulged more information what's been going on progress-wise and the inner workings of the console. I one day want to try and use this to create mods via Sm4shExplorer right off the console using WINE. Keep up the awesome work. Just one question, the little jingle that loops when you load the System Menu does not go away even after logging in, is that because it lacks an audio driver, or does it have to do with the precompiled fw.img I got specifically for booting Linux?
 
Last edited by OldGnashburg,
Hey there! We post progress updates whenever there's something to report. You'll hear it here (or on /r/WiiUHacks) first! About the loading jingle: the System Menu makes a buffer somewhere in memory to hold that jingle and tells the audio processor to loop that buffer. We never actually update that, so it'll just keep looping forever....until Linux decides to use that memory for something else. (Linux has no idea that the buffer even exists.)

Proper audio drivers will probably be implemented as part of the graphics driver.
 
  • After this reboot, the console locks up randomly, even if I don't boot Linux

There exists stupid hardware devices that include some kind of non-volatile memory. I have an HP laptop whose internal audio driver wouldn't load in Windows across multiple restarts until I booted Linux, which must have overwrote the corruption in the audio device's secret memory, which then also fixed the audio driver in Windows. Stupid (logically incorrect) hardware design.
 
Last edited by xLothwenx,
Yeah, this seems to be more of a state issue in the SMC; a hard reset has fixed all issues so far. I personally suspect that we're triggering some sort of vWii compatibility mode which is screwing with things.
 

Site & Scene News

Popular threads in this forum