RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → Code review →

Linux Port

Subscribe to Linux Port 415 posts, 54 voices

Posts per page:

Pages: 1 ... 7 8 9 10 11 12 13 14 15 16 17

 
Oct 16, 2021 9:42pm
Avatar Chris Gransden (337) 1098 posts

To get a more simple way of starting it’s better to have a ‘new’ script.

The existing run_RISC_OS works fine. Sets everything up for you already.

 
Oct 16, 2021 10:39pm
Avatar Jan Rinze (235) 341 posts
janrinze@Xavier1:~/temp/DEMO$ git clone <a href="https://github.com/TimothyEBaldwin/RISC_OS_Linux_Source.git">https://github.com/TimothyEBaldwin/RISC_OS_Linux_Source.git</a>
Cloning into 'RISC_OS_Linux_Source'...
remote: Enumerating objects: 90739, done.
remote: Counting objects: 100% (10705/10705), done.
remote: Compressing objects: 100% (3930/3930), done.
remote: Total 90739 (delta 7320), reused 8871 (delta 6033), pack-reused 80034
Receiving objects: 100% (90739/90739), 50.23 MiB | 17.56 MiB/s, done.
Resolving deltas: 100% (53941/53941), done.
Checking out files: 100% (8981/8981), done.
janrinze@Xavier1:~/temp/DEMO$ ls
RISC_OS_Linux_Source
janrinze@Xavier1:~/temp/DEMO$ cd RISC_OS_Linux_Source/
janrinze@Xavier1:~/temp/DEMO/RISC_OS_Linux_Source$ ./run_RISC_OS 
Unix/SocketKVMFrontends/build.mk:20: Built/SDL_flags: No such file or directory
Unix/SocketKVMFrontends/build.mk:41: Building Built/SDL_flags
Unix/LinuxSupport/build.mk:38: Building Build2/src-stamp
Unix/LinuxSupport/common.mk:78: Building Built/gen_seccomp
Unix/LinuxSupport/build.mk:151: Building Unix/RISC_OS/Unix/RISCOS.IMG
Unix/LinuxSupport/common.mk:149: Building Built/qemu-link
Unix/LinuxSupport/common.mk:75: Building Built/wrapper
Unix/LinuxSupport/common.mk:72: Building Built/wait_stdin
Unix/SocketKVMFrontends/build.mk:37: Building Built/sdlkey.h
Submodule 'mixed/Linux/Support/bin' (<a href="https://github.com/TimothyEBaldwin/RISC_OS_Linux_Binary.git">https://github.com/TimothyEBaldwin/RISC_OS_Linux_Binary.git</a>) registered for path 'Unix/RISC_OS'
Unix/LinuxSupport/wrapper.c: In function ‘main’:
Unix/LinuxSupport/wrapper.c:233:11: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
           write(sockets[0], &e, 4);
           ^~~~~~~~~~~~~~~~~~~~~~~~
Unix/LinuxSupport/wrapper.c:266:20: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
     if (isatty(1)) write(1, "\n", 1);
                    ^~~~~~~~~~~~~~~~~
Cloning into '/home/janrinze/temp/DEMO/RISC_OS_Linux_Source/Unix/RISC_OS'...
Unix/LinuxSupport/common.mk:81: Building Built/seccomp-
Unix/SocketKVMFrontends/build.mk:31: Building Built/sdl
In file included from Unix/SocketKVMFrontends/sdl.cpp:22:0:
Unix/SocketKVMFrontends/frontend_common.h: In function ‘int read_msg(command&)’:
Unix/SocketKVMFrontends/frontend_common.h:98:24: warning: narrowing conversion of ‘(msg.msghdr::msg_controllen = sizeof (buf))’ from ‘size_t {aka long unsigned int}’ to ‘socklen_t {aka unsigned int}’ inside { } [-Wnarrowing]
     msg.msg_controllen = sizeof(buf),
     ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
Unix/SocketKVMFrontends/sdl.cpp: In function ‘void {anonymous}::update_screen()’:
Unix/SocketKVMFrontends/sdl.cpp:60:51: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (no_updates <= 0 && get_file_size(screen_fd) >= s && std::memcmp(old, pixels, s)) {
                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
Unix/SocketKVMFrontends/sdl.cpp: In function ‘int main(int, char**)’:
Unix/SocketKVMFrontends/sdl.cpp:144:14: warning: enumeration value ‘c_activescreen’ not handled in switch [-Wswitch]
       switch (c.reason) {
              ^
Unix/SocketKVMFrontends/sdl.cpp:144:14: warning: enumeration value ‘c_startscreen’ not handled in switch [-Wswitch]
In file included from Unix/SocketKVMFrontends/sdl.cpp:22:0:
Unix/SocketKVMFrontends/frontend_common.h: In function ‘void send_report(const report&)’:
Unix/SocketKVMFrontends/frontend_common.h:117:8: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
   write(sockets[0], &r, sizeof(r));
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
Unix/SocketKVMFrontends/sdl.cpp: In function ‘int main(int, char**)’:
Unix/SocketKVMFrontends/sdl.cpp:167:16: warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result [-Wunused-result]
           write(sockets[0], &r.reason, sizeof(r.reason));
           ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unix/SocketKVMFrontends/sdl.cpp: At global scope:
Unix/SocketKVMFrontends/sdl.cpp:67:6: warning: ‘void {anonymous}::watcher()’ defined but not used [-Wunused-function]
 void watcher() {
      ^~~~~~~
Submodule path 'Unix/RISC_OS': checked out 'd24d3c7693490b5bc70f7c73c5ff49f97e80133e'
Unix/LinuxSupport/build.mk:49: Building Build2/Linux/RiscOS/Images/rom
Unix/LinuxSupport/common.mk:153: Building HardDisc4
Linux Xavier1 4.9.140-tegra-virt #1 SMP PREEMPT Sun Dec 6 21:01:28 CET 2020 aarch64 aarch64 aarch64 GNU/Linux
Building GIT commit: 9b5713cdb0a7c1530d803f2f8e0fce7fe5cf3db5
bwrap: Can't find source path ../DDE/AcornC.C++: No such file or directory
Unix/LinuxSupport/build.mk:49: recipe for target 'Build2/Linux/RiscOS/Images/rom' failed
make: *** [Build2/Linux/RiscOS/Images/rom] Error 1
make: *** Waiting for unfinished jobs....
HardDisc4_files/hd4,ffc: OK
Seccomp-bpf filter installed.
Hello World
...............
...............
14 of 14 interrupts counted.
Starting kernel...
HAL initialised
IICInit
IMB_Full done
InitCMOSCache entry
InitCMOSCache done
InitDynamicAreas
InitVectors
InitIRQ1
IMB_Full
VduInit
ExecuteInit
Machine ID duff,zero substituted
KeyInit
OscliInit
Enabling IRQs
IRQs on
Debug terminal on
HAL_InitDevices
InitVariables
AMBControl_Init
ModuleInitForKbdScan
init mod UtilityModule
init mod FileSwitch
init mod ResourceFS
init mod TerritoryManager
init mod Messages
init mod MessageTrans
init mod UK
init mod WindowManager
init mod SharedCLibrary
init mod IXSupport
init mod SocketKVM
init mod InternationalKeyboard
mod init (kbdscan) done
KbdFlag_Present
Reset CMOS
ReadDefaults
InitHostedDAs
MouseInit
ModuleInit
init mod TaskManager
init mod Desktop
init mod ScreenModes
init mod BASIC
init mod BASIC64
init mod BlendTable
init mod BufferManager
init mod ColourTrans
init mod Debugger
init mod DeviceFS
init mod DisplayManager
init mod DragASprite
init mod DragAnObject
init mod Draw
init mod FileCore
init mod RamFS => error: RAM disc size too small
init mod Filer
init mod FilerSWIs
init mod FSLock
init mod FontManager
init mod FPEmulator
init mod Free
init mod Hourglass
init mod International
init mod InverseTable
init mod Obey
init mod Portable
init mod Pinboard
init mod PipeFS
init mod RAMFSFiler
init mod ResourceFiler
init mod ROMFonts
init mod ScreenBlanker
init mod ScrSaver
init mod ShellCLI
init mod SoundDMA => error: HeapBadReason:Bad reason code
init mod SoundChannels
init mod SoundScheduler
init mod SpriteExtend
init mod SpriteUtils
init mod Squash
init mod SuperSample
init mod SystemDevices
init mod TaskWindow
init mod WindowUtils
init mod FilterManager
init mod WaveSynth
init mod StringLib
init mod Percussion
init mod Filer_Action
init mod DOSFS
init mod ColourPicker
init mod DrawFile
init mod BootCommands
init mod Internet
init mod Resolver
init mod MimeMap
init mod !Edit
init mod !Draw
init mod !Paint
init mod !Alarm
init mod !Chars
init mod !Help
init mod Toolbox
init mod Window
init mod ToolAction
init mod Menu
init mod Iconbar
init mod ColourDbox
init mod ColourMenu
init mod DCS
init mod FileInfo
init mod FontDbox
init mod FontMenu
init mod PrintDbox
init mod ProgInfo
init mod SaveAs
init mod Scale
init mod TextGadgets
init mod UnSqueezeAIF
init mod ZeroPain
init mod CryptRandom
mod init done
Service_PostInit
callbacks
RISC OS 4194304MB
IXFS
Extracting HardDisc4
Finished extracting HardDisc4
janrinze@Xavier1:~/temp/DEMO/RISC_OS_Linux_Source$ ./run_RISC_OS 
Unix/LinuxSupport/build.mk:49: Building Build2/Linux/RiscOS/Images/rom
Linux Xavier1 4.9.140-tegra-virt #1 SMP PREEMPT Sun Dec 6 21:01:28 CET 2020 aarch64 aarch64 aarch64 GNU/Linux
Building GIT commit: 9b5713cdb0a7c1530d803f2f8e0fce7fe5cf3db5
bwrap: Can't find source path ../DDE/AcornC.C++: No such file or directory
Unix/LinuxSupport/build.mk:49: recipe for target 'Build2/Linux/RiscOS/Images/rom' failed
make: *** [Build2/Linux/RiscOS/Images/rom] Error 1
janrinze@Xavier1:~/temp/DEMO/RISC_OS_Linux_Source$ 

Perhaps this is what you are seeing..
It’s clear that run_RISC_OS wants to build a new RISC OS ROM. Would be a lot more sensible to have separate build and run scripts..

 
Oct 16, 2021 10:56pm
Avatar Jan Rinze (235) 341 posts

To make the magic happen with the supplied rom:

 cp ./Unix/RISC_OS/Unix/RISCOS.IMG HardDisc4/\!Boot/Loader/RISC_OSRISC_OS_IXFS_HardDisc4='IXFS#X:$' RISC_OS_Alias_IXFSBoot='/!Boot' 

Built/sdl Built/wrapper --network --handle-reboots bwrap -- --bind ./HardDisc4 / --proc /proc --chdir / ./\!Boot/Loader/RISC_OS --nvram ./\!Boot/Loader/CMOS

should get you the RISC OS Desktop in a nice window.

(textile formatting is not my friend..)

 
Oct 17, 2021 10:15am
Avatar Martin Philips (9013) 12 posts

Ok – thanks for your time – it has the basic desktop running
- I’ll work on it some more
- it looks to be some sort of build envirnment problem

Do you guys have DDE installed?

 
Oct 17, 2021 10:47am
Avatar Stuart Swales (8827) 847 posts

RISC OS is only buildable with the DDE

 
Oct 17, 2021 12:37pm
Avatar Steve Pampling (1551) 7334 posts

It’s clear that run_RISC_OS wants to build a new RISC OS ROM. Would be a lot more sensible to have separate build and run scripts…

I think the build before run is because the whole thing is a development test that hasn’t had a formal user release.
Which probably factors into any answer that you could put to the question of why we aren’t all running that build.

 
Oct 17, 2021 3:21pm
Avatar David Pitt (3386) 1248 posts

If I do ‘./run_RISC_OS’ it seems to try to build it and fails fairly early..

That does not sound entirely correct for the Binary Master download, the ROM image is already built. What is seen is the modules init list as the ROM starts. It works here and boots to the Desktop.

The DEV download does build the ROM which requires the DDE to be present in extended attribute form, comma separated filetypes that is. The ROM is only built once here, on subsequent starts the ROM init is seen promptly.

The only start command used here is ./run_RISC_OS.

Plus thanks for the null device redirect tip ./run_RISC_OS >/dev/null to loose the unwanted debug to the terminal

 
Oct 17, 2021 11:25pm
Avatar Martin Philips (9013) 12 posts

Got it going on a Pi4
- just needed to install libseccomp-dev

On a TX2, after installing libseccomp-dev, it has trouble building SDL
- due to a problem with libsndio
- but works ok with the opengl front-end (but I had to reverse the mouse y direction in opengl.c)

 
Oct 18, 2021 7:13pm
Avatar Jan Rinze (235) 341 posts

What’s next for the Linux Port?

Will we see sound support? (or rather: hear?)
Will we get Aemulor support? (My no.1 request)
Should we port parts of RPCemu for better network/sound/hostfs/diskimage support etc?
Will we see OpenGL pass-trough like some other project did for RISC OS?

I would love to see this thread split in a Dev thread and a Users thread.
At the moment I have no idea who else is working on this besides Timothy.
And i can imagine that Timothy does not have the time/energy/funds/.. to do all the work.

 
Oct 20, 2021 8:35am
Avatar Martin Philips (9013) 12 posts

It would be good to see this move forward – but TB hasn’t updated github since June and hasn’t been on these forums since Feb
- so I hope he’s ok and still interested!

 
Oct 20, 2021 5:24pm
Avatar Chris Evans (457) 1603 posts

I also hope he’s ok and still interested! But TB has in the past not posted things for months at a time i.e. nothing last year after Aug 13, 2020 so I don’t think too much can be read into his current silence.

 
Jan 14, 2022 12:53pm
Avatar David Pitt (3386) 1248 posts

There has now been an update, four days ago. The current beta ROM is running here.

With thanks to the developer.

 
Jan 15, 2022 12:23am
Avatar Martin Philips (9013) 12 posts

Good to see an update!

https://github.com/TimothyEBaldwin/RISC_OS_Linux_Binary

 
Jul 26, 2022 8:12pm
Avatar Jan Rinze (235) 341 posts

https://github.com/TimothyEBaldwin/RISC_OS_Linux_Source/issues/8

Looks like it’s possible to update QEMU to version 7.0 and use that in the build process.
I have successfully used this version to run the built RISC OS ROM. Not yet found any specific issues nor benefits though.

 
Aug 1, 2022 2:36pm
Avatar Jan Rinze (235) 341 posts

small side note: SpecialFX module will slow down the QEMU arm32 emulator significantly. The result being as fast as rpcemu in interpret mode. rmkill specialfx will be sufficient to restore the fast JIT speeds.
Some other observations:
- !Doom only runs when you copy it to the ramdisk. IXFS apparently gets stuck somehow.
- we can’t build the user space qemu-arm on OSX, it’s not supported.
- in UTM we can setup a small ARM64 Linux install and run everything from there. (is even a bit faster since it is has OpenGL acceleration)

Pages: 1 ... 7 8 9 10 11 12 13 14 15 16 17

Reply

To post replies, please first log in.

Forums → Code review →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

Developer peer review of proposed code alterations.

Voices

  • Chris Gransden (337)
  • Jan Rinze (235)
  • Martin Philips (9013)
  • Stuart Swales (8827)
  • Steve Pampling (1551)
  • David Pitt (3386)
  • Chris Evans (457)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys